mirror of
https://github.com/fspc/Yellow-Bike-Database.git
synced 2025-04-04 09:33:24 -04:00
1. Now uses better function, CurrentShopUser for signed-in users so that people need to be signed in to make purchases. 2. Improved header text for Contacts. 3. Removed edit link when paid checked. 4. Fixed populate.sql 5. Added payment type column in transaction_log.php
113 lines
3.5 KiB
JavaScript
113 lines
3.5 KiB
JavaScript
/* jQuery fun with transactions - Jonathan Rosenbaum */
|
|
|
|
// currently css is just hardwired, but that reflects the coding style of YBDB :)
|
|
|
|
$(function() {
|
|
|
|
$("select[name='transaction_type']").attr("tabindex",1);
|
|
$("select[name='transaction_type']").focus();
|
|
$("input[value='Create Transaction']").attr("tabindex",2);
|
|
|
|
// paid or not?
|
|
$(":checked").parent("td").prev().children().hide();
|
|
$(".paid").click(function() {
|
|
if ($(this).prop("checked")) {
|
|
|
|
$(this).closest("tr").css("background-color","#E6E7E6");
|
|
$('[href$="' + this.name + '"]').hide();
|
|
console.log(this.name);
|
|
$.post("json/transaction.php",{ paid: 1, transaction_id: this.name } );
|
|
}
|
|
else {
|
|
|
|
$(this).closest("tr").css("background-color","transparent");
|
|
$('[href$="' + this.name + '"]').show();
|
|
$.post("json/transaction.php",{ paid: 0, transaction_id: this.name } );
|
|
}
|
|
});
|
|
|
|
// Deposit Calculator
|
|
if ( $(".paid").length ) { // any transactions?
|
|
|
|
$(".deposit input").each(function(){ console.log(this.name);});
|
|
|
|
var deposit_length = $(".deposit").length;
|
|
if ( deposit_length == 1 ) { // one visible deposit could be 1 or more invisible
|
|
|
|
var deposit_number = $(".deposit input").attr("name");
|
|
//console.log(deposit_number);
|
|
}
|
|
|
|
}
|
|
|
|
|
|
// editing a transaction
|
|
if ( $("input[name='shop_id']").length ) {
|
|
|
|
// make tabbing more predictable
|
|
$("input[name='shop_id']").attr("tabindex",1);
|
|
$("select[name='transaction_type']").attr("tabindex",2);
|
|
$("input[name='date_startstorage']").attr("tabindex",3);
|
|
$("input[name='date']").attr("tabindex",4);
|
|
$("input[name='quantity']").attr("tabindex",5);
|
|
$("textarea[name='description']").attr("tabindex",6);
|
|
$("input[name='amount']").attr("tabindex",7);
|
|
$("input[name='payment_type']").attr("tabindex",8);
|
|
$("select[name='sold_to']").attr("tabindex",9);
|
|
$("select[name='sold_by']").attr("tabindex",10);
|
|
$("input[value='Save']").attr("tabindex",11);
|
|
$("input[value='Close']").attr("tabindex",12);
|
|
|
|
// require that values be filled in a particular fashion
|
|
$("#date").mask("0000-00-00");
|
|
|
|
$transaction_id = $("input[name='transaction_id']").val();
|
|
|
|
// what type of payment? cash, credit or check?
|
|
$("input[name='payment_type']").click(function() {
|
|
if ($(this).prop("checked")) {
|
|
$.post("json/transaction.php",{ payment_type: this.value, transaction_id: $transaction_id } );
|
|
}
|
|
});
|
|
|
|
/* When the transaction is storage based, only show price and payment_type
|
|
when a full date (yyyy-mm-dd) is entered. */
|
|
if ( $("#date_startstorage").length ) {
|
|
|
|
// require that values be filled in a particular fashion
|
|
$("#date_startstorage").mask("0000-00-00");
|
|
|
|
var date_value = $("#date").val();
|
|
var date_test = /^\d{4}-((0\d)|(1[012]))-(([012]\d)|3[01])$/.test(date_value);
|
|
|
|
if ( date_test && date_value != "0000-00-00" ) {
|
|
$("#price").show();
|
|
$("#payment_type").show();
|
|
} else {
|
|
$("#price").hide();
|
|
$("#payment_type").hide();
|
|
}
|
|
|
|
$("#date_fill").click(function(){
|
|
$("#price").show();
|
|
$("#payment_type").show();
|
|
})
|
|
|
|
$("#date").on("input", function(){
|
|
|
|
date_test = /^\d{4}-((0\d)|(1[012]))-(([012]\d)|3[01])$/.test(this.value);
|
|
if ( date_test && this.value != "0000-00-00" ) {
|
|
$("#price").show();
|
|
$("#payment_type").show();
|
|
} else {
|
|
$("#price").hide();
|
|
$("#payment_type").hide();
|
|
}
|
|
});
|
|
|
|
} // end testing for storage presentation
|
|
|
|
|
|
} // editing a transaction
|
|
|
|
}); |