Changeset 877
- Timestamp:
- 07/10/08 09:02:44 (2 months ago)
- Files:
-
- trunk/admin/Public/form_data/FG_var_def_ratecard.inc (modified) (3 diffs)
- trunk/common/lib/Class.RateEngine.php (modified) (9 diffs)
- trunk/DataBase/mysql-5.x/UPDATE-a2billing-v1.3.0-to-v1.4.0-mysql.sql (modified) (1 diff)
- trunk/DataBase/psql/UPDATE-a2billing-v1.3.0-to-v1.4.0-pgsql.sql (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
trunk/admin/Public/form_data/FG_var_def_ratecard.inc
r874 r877 5 5 'stepchargea', 'chargea', 'timechargea', 'billingblocka', 'stepchargeb', 'chargeb', 'timechargeb', 6 6 'billingblockb', 'stepchargec', 'chargec', 'timechargec', 'billingblockc', 'startdate', 'stopdate', 7 'starttime', 'endtime', 'id_trunk', 'musiconhold','tariffplan', 'tariffgroup','posted','id_outbound_cidgroup','rounding_calltime', 'rounding_threshold', 'additional_block_charge', 'additional_block_charge_time', 'additional_grace' ));7 'starttime', 'endtime', 'id_trunk', 'musiconhold','tariffplan', 'tariffgroup','posted','id_outbound_cidgroup','rounding_calltime', 'rounding_threshold', 'additional_block_charge', 'additional_block_charge_time', 'additional_grace','minimal_cost')); 8 8 9 9 // put all the destination name to lowercase … … 254 254 gettext("Insert the disconnect charge"), 255 255 "" , "", "", "", "", "", "NO", gettext("Apply a disconnection charge" )); 256 256 257 $HD_Form -> AddEditElement(gettext("MINIMAL CALL COST "), 258 "minimal_cost", 259 '$value', 260 "INPUT", 261 "size=30 maxlength=20", 262 "12", 263 gettext("Insert the Minimal call cost"), 264 "" , "", "", "", "", "", "NO", gettext("Apply a minimal call cost" )); 265 257 266 if (ADVANCED_MODE){ 258 267 $HD_Form -> AddEditElement(gettext("STEPCHARGE A"), … … 506 515 if (ADVANCED_MODE) { 507 516 // This Variable store the argument for the SQL query 508 $HD_Form -> FieldEditElement ('idtariffplan, dialprefix, destination, buyrate, buyrateinitblock, buyrateincrement, rateinitial, initblock, billingblock, connectcharge, disconnectcharge, stepchargea, chargea, timechargea, billingblocka, stepchargeb, chargeb, timechargeb, billingblockb, stepchargec, chargec, timechargec, billingblockc, startdate, stopdate, starttime, endtime, rounding_calltime, rounding_threshold, additional_block_charge, additional_block_charge_time,additional_grace, id_trunk, id_outbound_cidgroup, tag, musiconhold');517 $HD_Form -> FieldEditElement ('idtariffplan, dialprefix, destination, buyrate, buyrateinitblock, buyrateincrement, rateinitial, initblock, billingblock, connectcharge, disconnectcharge, minimal_cost, stepchargea, chargea, timechargea, billingblocka, stepchargeb, chargeb, timechargeb, billingblockb, stepchargec, chargec, timechargec, billingblockc, startdate, stopdate, starttime, endtime, rounding_calltime, rounding_threshold, additional_block_charge, additional_block_charge_time,additional_grace, id_trunk, id_outbound_cidgroup, tag, musiconhold'); 509 518 }else{ 510 519 // This Variable store the argument for the SQL query 511 $HD_Form -> FieldEditElement ('idtariffplan, dialprefix, destination, buyrate, buyrateinitblock, buyrateincrement,rateinitial, initblock, billingblock, connectcharge, disconnectcharge, startdate, stopdate, starttime, endtime, rounding_calltime, rounding_threshold, additional_block_charge, additional_block_charge_time,additional_grace, id_trunk, id_outbound_cidgroup, tag');520 $HD_Form -> FieldEditElement ('idtariffplan, dialprefix, destination, buyrate, buyrateinitblock, buyrateincrement,rateinitial, initblock, billingblock, connectcharge, disconnectcharge, minimal_cost, startdate, stopdate, starttime, endtime, rounding_calltime, rounding_threshold, additional_block_charge, additional_block_charge_time,additional_grace, id_trunk, id_outbound_cidgroup, tag'); 512 521 } 513 522 trunk/common/lib/Class.RateEngine.php
r874 r877 176 176 id_cc_package_offer,tp_trunk.status, rt_trunk.status, tp_trunk.inuse, rt_trunk.inuse, 177 177 tp_trunk.maxuse, rt_trunk.maxuse,tp_trunk.if_max_use, rt_trunk.if_max_use,cc_ratecard.rounding_calltime AS rounding_calltime, 178 cc_ratecard.rounding_threshold AS rounding_threshold,cc_ratecard.additional_block_charge AS additional_block_charge,cc_ratecard.additional_block_charge_time AS additional_block_charge_time, cc_ratecard.additional_grace AS additional_grace 178 cc_ratecard.rounding_threshold AS rounding_threshold,cc_ratecard.additional_block_charge AS additional_block_charge,cc_ratecard.additional_block_charge_time AS additional_block_charge_time, cc_ratecard.additional_grace AS additional_grace, cc_ratecard.minimal_cost AS minimal_cost 179 179 180 180 FROM cc_tariffgroup … … 721 721 $additional_block_charge = $this->ratecard_obj[$K][56]; 722 722 $additional_block_charge_time = $this->ratecard_obj[$K][57]; 723 $additional_grace = $this->ratecard_obj[$K][58]; 723 $additional_grace_time = $this->ratecard_obj[$K][58]; 724 $minimal_call_cost = $this->ratecard_obj[$K][59]; 724 725 725 726 if (!is_numeric($rounding_calltime)) $rounding_calltime = 0; … … 737 738 738 739 $this -> real_answeredtime = $callduration; 739 if($additional_grace>0){ 740 $callduration =$callduration + $additional_grace; 741 } 740 $callduration =$callduration + $additional_grace_time; 742 741 743 742 /* … … 764 763 765 764 // #### CALCUL BUYRATE COST ##### 766 $buyratecallduration = $this -> real_answeredtime ;765 $buyratecallduration = $this -> real_answeredtime + $additional_grace_time; 767 766 768 767 $buyratecost =0; … … 881 880 if ($this -> debug_st) echo "FINAL COST: $cost\n\n"; 882 881 $A2B -> debug( WRITELOG, $agi, __FILE__, __LINE__, "[CC_RATE_ENGINE_CALCULCOST: K=$K - BUYCOST: $buyratecost - SELLING COST: $cost]"); 883 $this -> lastcost = $cost; 882 883 if($cost> (0-$minimal_call_cost)){ 884 $this -> lastcost = 0 - $minimal_call_cost; 885 }else{ 886 $this -> lastcost = $cost; 887 } 884 888 $this -> lastbuycost = $buyratecost; 889 885 890 } 886 891 … … 925 930 //$freetimetocall = $this -> ratecard_obj[$K][46]; 926 931 $id_cc_package_group= $this -> ratecard_obj[$K][45]; 927 932 $additional_grace_time= $this->ratecard_obj[$K][58]; 928 933 if ($A2B -> CC_TESTING){ 929 934 $sessiontime = 120; … … 962 967 // rate_engine_calculcost could have change the duration of the call 963 968 $sessiontime = $this -> answeredtime; 969 //add grace time 970 if($sessiontime>0 && $additional_grace_time>0){ 971 $sessiontime = $sessiontime + $additional_grace_time; 972 } 964 973 965 974 $QUERY_FIELS = 'id_cc_card, id_cc_package_offer, used_secondes'; … … 970 979 971 980 $this -> rate_engine_calculcost ($A2B, $sessiontime, 0); 972 981 973 982 // rate_engine_calculcost could have change the duration of the call 974 983 $sessiontime = $this -> answeredtime; 984 if($sessiontime>0 && $additional_grace_time>0){ 985 $sessiontime = $sessiontime + $additional_grace_time; 986 } 975 987 } 976 988 … … 1302 1314 $answeredtime = $agi->get_variable("ANSWEREDTIME"); 1303 1315 $this -> real_answeredtime = $this -> answeredtime = $answeredtime['data']; 1316 1304 1317 $dialstatus = $agi -> get_variable("DIALSTATUS"); 1305 1318 $this -> dialstatus = $dialstatus['data']; trunk/DataBase/mysql-5.x/UPDATE-a2billing-v1.3.0-to-v1.4.0-mysql.sql
r876 r877 1005 1005 1006 1006 ALTER TABLE cc_ratecard ADD additional_grace INT NOT NULL DEFAULT '0'; 1007 1008 ALTER TABLE cc_ratecard ADD minimal_cost FLOAT NOT NULL DEFAULT '0'; trunk/DataBase/psql/UPDATE-a2billing-v1.3.0-to-v1.4.0-pgsql.sql
r873 r877 997 997 ( 'Max Time For Free Calls', 'maxtime_tofree_calls', '5400', 'For free calls, limit the duration: amount in seconds .', '0', '11', NULL); 998 998 999 ALTER TABLE cc_ratecard DROP freetimetocall_package_offer 999 ALTER TABLE cc_ratecard DROP freetimetocall_package_offer; 1000 1000 -- add additionnal grace to the ratecard 1001 1001 1002 1002 ALTER TABLE cc_ratecard ADD additional_grace integer NOT NULL DEFAULT 0; 1003 1003 1004 ALTER TABLE cc_ratecard ADD minimal_cost real NOT NULL DEFAULT 0;
