コード例 #1
0
 function setPaymentMode($payment_mode, $bSeparateTaxesFromFees, $admin, $user_level)
 {
     $this->debug(" call setPaymentMode( {$payment_mode}, {$bSeparateTaxesFromFees}, {$admin}, {$user_level} )");
     if ($this->getData(TRANS_TRANSACTION_STATUS) != TRANS_STATUS_ASSESSMENT && $this->getData(TRANS_TRANSACTION_STATUS) != TRANS_STATUS_PAYMENT) {
         $this->debug("setPaymentMode Failed, user level {$user_level} of {$admin} is not allowed to use this function.");
         $this->setError(-1, "setPaymentMode Failed, user level {$user_level} of {$admin} is not allowed to use this function.");
         return -1;
     }
     if ($this->getData(TRANS_TRANSACTION_STATUS) == TRANS_STATUS_ASSESSMENT && $user_level != TRANS_LEVEL_ASSESSMENT_OFFICER && $user_level != TRANS_LEVEL_ADMIN_OFFICER && $user_level != TRANS_LEVEL_ROOT_OFFICER) {
         $this->debug("setPaymentMode Failed, user level {$user_level} of {$admin} is not allowed.");
         $this->setError(-1, "setPayment mode failed, user level {$user_level} not allowed.");
         return -1;
     }
     if ($this->getData(TRANS_TRANSACTION_STATUS) == TRANS_STATUS_PAYMENT && $user_level != TRANS_LEVEL_PAYMENT_OFFICER && $user_level != TRANS_LEVEL_ADMIN_OFFICER && $user_level != TRANS_LEVEL_ROOT_OFFICER) {
         $this->debug("setPaymentMode Failed, user level {$user_level} of {$admin} is not allowed.");
         $this->setError(-1, "setPayment mode failed, user level {$user_level} not allowed.");
         return -1;
     }
     if ($payment_mode != TRANS_PAYMENT_MODE_MONTHLY && $payment_mode != TRANS_PAYMENT_MODE_QUARTERLY && $payment_mode != TRANS_PAYMENT_MODE_SEMIANNUAL && $payment_mode != TRANS_PAYMENT_MODE_ANNUAL && $payment_mode != TRANS_PAYMENT_MODE_OTHERS) {
         $this->setError(-2, "Invalid payment mode passed {$payment_mode}.");
         return -2;
     }
     /*
     // 8/31/2004 11:59PM
     // check first if payment mode is valid given the current date of setting payment mode
     switch( $payment_mode ){
     	case TRANS_PAYMENT_MODE_ANNUAL :
     		{
     
     
     		} break;
     	case TRANS_PAYMENT_MODE_SEMIANNUAL :
     		{
     
     			if ( date("m") > 6 ) {
     
     				$this->debug( "Payment mode $payment_mode requested not valid since current month exceeds sixth month of the year.");
     				$this->setError( -3, "Payment mode $payment_mode requested not valid since current month exceeds sixth month of the year.");
     				return -3;
     
     			}
     
     		} break;
     	case TRANS_PAYMENT_MODE_QUARTERLY :
     		{
     
     			if ( date("m") > 3 ) {
     
     				$this->debug( "Payment mode $payment_mode requested not valid since current month exceeds sixth month of the year.");
     				$this->setError( -3, "Payment mode $payment_mode requested not valid since current month exceeds sixth month of the year.");
     				return -3;
     
     			}
     
     		} break;
     	case TRANS_PAYMENT_MODE_MONTHLY :
     		{
     
     
     
     		} break;
     
     }
     */
     // check if payment mode is set
     if (!$this->isPaymentModeSet($this->getData(TRANS_ID))) {
         // process the setting of payment list
         $clsTPS = new EBPLSTransactionPaymentSchedule($this->m_dbLink);
         echo "createPaymentSchedule( &{$trans_obj}, {$payment_mode}, {$bSeparateTaxesFromFees}, {$bIsUpdate}, {$admin} )<HR>";
         if ($clsTPS->createPaymentSchedule($this, $payment_mode, $bSeparateTaxesFromFees, false, $admin) > 0) {
             $this->debug("setPaymentMode create Ok1.");
             return 1;
         } else {
             $this->setError(-1, "setPaymentMode create failed1.");
             return -1;
         }
     } else {
         // process the setting of payment list
         $clsTPS = new EBPLSTransactionPaymentSchedule($this->m_dbLink);
         if ($clsTPS->updatePaymentSchedule($this, $payment_mode, $bSeparateTaxesFromFees, true, $admin) > 0) {
             $this->debug("setPaymentMode update Ok2.");
             return 1;
         } else {
             $this->setError(-1, "setPaymentMode update failed2.");
             return -1;
         }
     }
 }