fmsystem-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Fmsystem-commits] [16115] more on rental


From: sigurdne
Subject: [Fmsystem-commits] [16115] more on rental
Date: Tue, 27 Dec 2016 16:48:58 +0000 (UTC)

Revision: 16115
          http://svn.sv.gnu.org/viewvc/?view=rev&root=fmsystem&revision=16115
Author:   sigurdne
Date:     2016-12-27 16:48:58 +0000 (Tue, 27 Dec 2016)
Log Message:
-----------
more on rental

Modified Paths:
--------------
    trunk/rental/inc/class.socontract.inc.php
    trunk/rental/inc/class.uicontract.inc.php
    trunk/rental/inc/model/class.contract.inc.php
    trunk/rental/setup/setup.inc.php
    trunk/rental/setup/tables_current.inc.php
    trunk/rental/setup/tables_update.inc.php
    trunk/rental/templates/base/config.tpl

Modified: trunk/rental/inc/class.socontract.inc.php
===================================================================
--- trunk/rental/inc/class.socontract.inc.php   2016-12-27 11:06:10 UTC (rev 
16114)
+++ trunk/rental/inc/class.socontract.inc.php   2016-12-27 16:48:58 UTC (rev 
16115)
@@ -355,7 +355,7 @@
                        else
                        {
                                // columns to retrieve
-                               $columns[] = 'contract.id AS contract_id';
+                               $columns[] = 'contract.id AS contract_id, 
contract.notify_on_expire, contract.notified_time';
                                $columns[] = 'contract.date_start, 
contract.date_end, contract.old_contract_id, contract.executive_officer, 
contract.last_updated, contract.location_id, contract.billing_start, 
contract.billing_end, contract.service_id, contract.responsibility_id, 
contract.reference, contract.invoice_header, contract.project_id, 
billing.deleted, contract.account_in, contract.account_out, contract.term_id, 
contract.security_type, contract.security_amount, contract.comment, 
contract.due_date, 
contract.contract_type_id,contract.rented_area,contract.adjustable,contract.adjustment_interval,contract.adjustment_share,contract.adjustment_year,override_adjustment_start,contract.publish_comment';
                                $columns[] = 'party.id AS party_id';
                                $columns[] = 'party.first_name, 
party.last_name, party.company_name, party.department, party.org_enhet_id';
@@ -446,6 +446,9 @@
                                
$contract->set_notify_before($this->unmarshal($this->db->f('notify_before'), 
'int'));
                                
$contract->set_notify_before_due_date($this->unmarshal($this->db->f('notify_before_due_date'),
 'int'));
                                
$contract->set_notify_after_termination_date($this->unmarshal($this->db->f('notify_after_termination_date'),
 'int'));
+                               
$contract->set_notify_on_expire($this->unmarshal($this->db->f('notify_on_expire'),
 'int'));
+                               
$contract->set_notified_time($this->unmarshal($this->db->f('notified_time'), 
'int'));
+
                        }
 
                        $timestamp_end = 
$this->unmarshal($this->db->f('timestamp_end'), 'int');
@@ -1251,4 +1254,13 @@
                        }
                        return $price_items;
                }
+
+               public function set_notified_on_expire( $contract_id, 
$current_notify_on_expire )
+               {
+                       $contract_id = (int) $contract_id;
+                       $new_notify_on_expire = (int)$current_notify_on_expire 
+ 1;
+                       $now = time();
+                       $sql = "UPDATE rental_contract SET notify_on_expire = 
{$new_notify_on_expire}, notified_time = $now  WHERE id={$contract_id} ";
+                       return $this->db->query($sql);
+               }
     }
\ No newline at end of file

Modified: trunk/rental/inc/class.uicontract.inc.php
===================================================================
--- trunk/rental/inc/class.uicontract.inc.php   2016-12-27 11:06:10 UTC (rev 
16114)
+++ trunk/rental/inc/class.uicontract.inc.php   2016-12-27 16:48:58 UTC (rev 
16115)
@@ -44,7 +44,8 @@
                        'reset_price_item' => true,
                        'add_notification' => true,
                        'download' => true,
-                       'get_total_price' => true
+                       'get_total_price' => true,
+                       'notify_on_expire'      => true
                );
 
                public function __construct()
@@ -2856,4 +2857,91 @@
                                }
                        }
                }
+
+
+
+               /**
+                * Sending email - consider the workbench instead
+                * run as cron-job
+                */
+               public function notify_on_expire(  )
+               {
+                       // Queries that depend on areas of responsibility
+                       $types = 
rental_socontract::get_instance()->get_fields_of_responsibility();
+                       $ids = array();
+                       $read_access = array();
+                       foreach ($types as $id => $label)
+                       {
+                               $names = $this->locations->get_name($id);
+                               if ($names['appname'] == 
$GLOBALS['phpgw_info']['flags']['currentapp'])
+                               {
+                                       $ids[] = $id;
+                               }
+                       }
+                       $comma_seperated_ids = implode(',', $ids);
+                       $filters = array('contract_status' => 
'under_dismissal', 'contract_type' => $comma_seperated_ids);
+
+                       $candidates = array();
+                       $candidates = rental_socontract::get_instance()->get(0, 
0, '', false, '', '', $filters);
+
+                       $notify_on_expire_email = 
$this->config->config_data['notify_on_expire_email'];
+                       $from_email = 
$this->config->config_data['from_email_setting'];
+                       $notify_reminder_days = 
$this->config->config_data['notify_reminder_days'];
+
+                       if(!$notify_on_expire_email)
+                       {
+                               throw new Exception(__CLASS__.'::' . 
__FUNCTION__.'() - missing email target');
+                       }
+
+                       if (!is_object($GLOBALS['phpgw']->send))
+                       {
+                               $GLOBALS['phpgw']->send = 
CreateObject('phpgwapi.send');
+                       }
+
+                       $do_notify = false;
+                       foreach ($candidates as $contract_id => $contract)
+                       {
+                               $notify_on_expire = 
$contract->get_notify_on_expire();
+
+                               if($notify_on_expire > 1)
+                               {
+                                       continue;
+                               }
+
+                               $now = time();
+                               $end_date = 
$contract->get_contract_date()->get_end_date();
+                               $datediff = $end_date - $now;
+                               $days_to_expire =  floor($datediff / (60 * 60 * 
24));
+
+                               _debug_array($days_to_expire);
+
+                               if ($notify_on_expire == 0 && 
($notify_reminder_days > $days_to_expire)) // first time
+                               {
+                                       $do_notify = true;
+                               }
+                               else if($notify_reminder_days >= 
$days_to_expire)// second time
+                               {
+                                       $do_notify = true;
+                                       $notify_on_expire = 1;
+                               }
+
+                               if($do_notify)
+                               {
+                                       $subject = lang('contract %1 expires in 
%2 days', $contract_id, $days_to_expire);
+                                       $message = '<a href ="' . 
$GLOBALS['phpgw']->link('/index.php', array('menuaction' => 
'rental.uicontract.edit',
+                                                       'id' => $contract_id), 
false, true) . '">' . $subject . '</a>';
+                                       try
+                                       {
+                                               $rcpt = 
$GLOBALS['phpgw']->send->msg('email', $notify_on_expire_email, $subject, 
stripslashes($message), '', $cc, $bcc, $from_email, $from_email, 'html');
+                                       }
+                                       catch (Exception $exc)
+                                       {
+                                               
phpgwapi_cache::message_set($exc->getMessage(),'error');
+                                       }
+
+                                       
rental_socontract::get_instance()->set_notified_on_expire($contract_id, 
$notify_on_expire);
+                               }
+
+                       }
+               }
        }
\ No newline at end of file

Modified: trunk/rental/inc/model/class.contract.inc.php
===================================================================
--- trunk/rental/inc/model/class.contract.inc.php       2016-12-27 11:06:10 UTC 
(rev 16114)
+++ trunk/rental/inc/model/class.contract.inc.php       2016-12-27 16:48:58 UTC 
(rev 16115)
@@ -79,6 +79,8 @@
                protected $bill_only_one_time;
                protected $publish_comment;
                protected $total_price_current_year;
+               protected $notify_on_expire;
+               protected $notified_time;
 
                /**
                 * Constructor.  Takes an optional ID.  If a contract is 
created from outside
@@ -1215,6 +1217,27 @@
                        $this->publish_comment = (bool)$publish_comment;
                }
 
+               public function get_notify_on_expire()
+               {
+                       return (int)$this->notify_on_expire;
+               }
+
+               public function set_notify_on_expire( $notify_on_expire )
+               {
+                       $this->notify_on_expire = (int)$notify_on_expire;
+               }
+
+               public function get_notified_time()
+               {
+                       return (int)$this->notified_time;
+               }
+
+               public function set_notified_time( $notified_time )
+               {
+                       $this->notified_time = (int)$notified_time;
+               }
+
+
                /**
                 * (non-PHPdoc)
                 * @see rental/inc/model/rental_model#validates()

Modified: trunk/rental/setup/setup.inc.php
===================================================================
--- trunk/rental/setup/setup.inc.php    2016-12-27 11:06:10 UTC (rev 16114)
+++ trunk/rental/setup/setup.inc.php    2016-12-27 16:48:58 UTC (rev 16115)
@@ -1,6 +1,6 @@
 <?php
        $setup_info['rental']['name'] = 'rental';  // Module identifier
-       $setup_info['rental']['version'] = '0.1.0.33'; // Current module version
+       $setup_info['rental']['version'] = '0.1.0.34'; // Current module version
        $setup_info['rental']['app_order'] = 51;  // (?)
        $setup_info['rental']['tables'] = array(
                'rental_party', // All contract participants, tenants etc.

Modified: trunk/rental/setup/tables_current.inc.php
===================================================================
--- trunk/rental/setup/tables_current.inc.php   2016-12-27 11:06:10 UTC (rev 
16114)
+++ trunk/rental/setup/tables_current.inc.php   2016-12-27 16:48:58 UTC (rev 
16115)
@@ -168,7 +168,9 @@
                                'adjustment_year' => array('type' => 'int', 
'precision' => '4', 'nullable' => true), //Sist regulert
                                'adjustable' => array('type' => 'bool', 
'nullable' => true, 'default' => 'false'), //Regulerbar
                                'override_adjustment_start' => array('type' => 
'int','precision' => 4,'nullable' => true),
-                               'publish_comment' => array('type' => 'bool', 
'nullable' => true, 'default' => 'false') //skal kommentar vises i frontend
+                               'publish_comment' => array('type' => 'bool', 
'nullable' => true, 'default' => 'false'), //skal kommentar vises i frontend
+                               'notify_on_expire' => array('type' => 
'int','precision' => 2,'nullable' => true),
+                               'notified_time' => array('type' => 
'int','precision' => 8,'nullable' => true),
                        ),
                        'pk' => array('id'),
                        'fk' => array(

Modified: trunk/rental/setup/tables_update.inc.php
===================================================================
--- trunk/rental/setup/tables_update.inc.php    2016-12-27 11:06:10 UTC (rev 
16114)
+++ trunk/rental/setup/tables_update.inc.php    2016-12-27 16:48:58 UTC (rev 
16115)
@@ -842,3 +842,21 @@
                        return $GLOBALS['setup_info']['rental']['currentver'];
                }
        }
+
+       $test[] = '0.1.0.33';
+       function rental_upgrade0_1_0_33()
+       {
+               $GLOBALS['phpgw_setup']->oProc->m_odb->transaction_begin();
+
+               $GLOBALS['phpgw_setup']->oProc->AddColumn('rental_contract', 
'notify_on_expire', array(
+                       'type' => 'int', 'precision' => 2, 'nullable' => true, 
'default' => 0));
+
+               $GLOBALS['phpgw_setup']->oProc->AddColumn('rental_contract', 
'notified_time', array(
+                       'type' => 'int', 'precision' => 8, 'nullable' => true));
+
+               if($GLOBALS['phpgw_setup']->oProc->m_odb->transaction_commit())
+               {
+                       $GLOBALS['setup_info']['rental']['currentver'] = 
'0.1.0.34';
+                       return $GLOBALS['setup_info']['rental']['currentver'];
+               }
+       }

Modified: trunk/rental/templates/base/config.tpl
===================================================================
--- trunk/rental/templates/base/config.tpl      2016-12-27 11:06:10 UTC (rev 
16114)
+++ trunk/rental/templates/base/config.tpl      2016-12-27 16:48:58 UTC (rev 
16115)
@@ -1,198 +1,212 @@
 <!-- BEGIN header -->
 <form method="POST" action="{action_url}">
-       <table class="pure-table pure-table-bordered">
-               <tr class="th">
-                       <td colspan="2"><font 
color="{th_text}">&nbsp;<b>{title}</b></font></td>
-               </tr>
+       <table class="pure-table pure-table-bordered pure-table-striped">
+               <thead>
+                       <tr>
+                               <th colspan="2">{title}</th>
+                       </tr>
+               </thead>
                <!-- END header -->
                <!-- BEGIN body -->
-               <tr class="row_on">
-                       <td colspan="2">&nbsp;</td>
-               </tr>
-               <tr class="row_off">
-                       <td colspan="2">&nbsp;<b>{lang_rental}</b></td>
-               </tr>
-               <tr class="row_on">
-                       <td>{lang_area_suffix}:</td>
-                       <td><input name="newsettings[area_suffix]" 
value="{value_area_suffix}"></td>
-               </tr>
-               <tr class="row_off">
-                       <td>{lang_currency_prefix}:</td>
-                       <td><input name="newsettings[currency_prefix]" 
value="{value_currency_prefix}"></td>
-               </tr>
-               <tr class="row_on">
-                       <td>{lang_currency_suffix}:</td>
-                       <td><input name="newsettings[currency_suffix]" 
value="{value_currency_suffix}"></td>
-               </tr>
-               <tr class="row_off">
-                       <td>{lang_serial_start}:</td>
-                       <td><input name="newsettings[serial_start]" 
value="{value_serial_start}"></td>
-               </tr>
-               <tr class="row_on">
-                       <td>{lang_serial_stop}:</td>
-                       <td><input name="newsettings[serial_stop]" 
value="{value_serial_stop}"></td>
-               </tr>
-               <tr class="row_off">
-                       <td>{lang_billing_time_limit}:</td>
-                       <td><input name="newsettings[billing_time_limit]" 
value="{value_billing_time_limit}"></td>
-               </tr>
-               <tr class="row_on">
-                       <td>{lang_from_email_setting}:</td>
-                       <td><input name="newsettings[from_email_setting]" 
value="{value_from_email_setting}"></td>
-               </tr>
-               <tr class="row_off">
-                       <td>{lang_http_address_for_external_users}:</td>
-                       <td><input 
name="newsettings[http_address_for_external_users]" 
value="{value_http_address_for_external_users}"></td>
-               </tr>
-               <tr class="row_on">
-                       <td>{lang_create_user_based_on_email_group}:</td>
-                       <td>
-                               <select 
name="newsettings[create_user_based_on_email_group]">
-                                       {hook_create_user_based_on_email_group}
-                               </select>
-                       </td>
-               </tr>
-               <tr class="row_off">
-                       <td>{lang_entity_config_move_in}:</td>
-                       <td>
-                               {hook_entity_config_move_in}
-                       </td>
-               </tr>
+               <tbody>
+                       <tr>
+                               <td colspan="2">&nbsp;</td>
+                       </tr>
+                       <tr>
+                               <td colspan="2">&nbsp;<b>{lang_rental}</b></td>
+                       </tr>
+                       <tr>
+                               <td>{lang_area_suffix}:</td>
+                               <td><input name="newsettings[area_suffix]" 
value="{value_area_suffix}"></td>
+                       </tr>
+                       <tr>
+                               <td>{lang_currency_prefix}:</td>
+                               <td><input name="newsettings[currency_prefix]" 
value="{value_currency_prefix}"></td>
+                       </tr>
+                       <tr>
+                               <td>{lang_currency_suffix}:</td>
+                               <td><input name="newsettings[currency_suffix]" 
value="{value_currency_suffix}"></td>
+                       </tr>
+                       <tr>
+                               <td>{lang_serial_start}:</td>
+                               <td><input name="newsettings[serial_start]" 
value="{value_serial_start}"></td>
+                       </tr>
+                       <tr>
+                               <td>{lang_serial_stop}:</td>
+                               <td><input name="newsettings[serial_stop]" 
value="{value_serial_stop}"></td>
+                       </tr>
+                       <tr>
+                               <td>{lang_billing_time_limit}:</td>
+                               <td><input 
name="newsettings[billing_time_limit]" value="{value_billing_time_limit}"></td>
+                       </tr>
+                       <tr>
+                               <td>{lang_from_email_setting}:</td>
+                               <td><input 
name="newsettings[from_email_setting]" value="{value_from_email_setting}"></td>
+                       </tr>
+                       <tr>
+                               <td>{lang_http_address_for_external_users}:</td>
+                               <td><input 
name="newsettings[http_address_for_external_users]" 
value="{value_http_address_for_external_users}"></td>
+                       </tr>
+                       <tr>
+                               
<td>{lang_create_user_based_on_email_group}:</td>
+                               <td>
+                                       <select 
name="newsettings[create_user_based_on_email_group]">
+                                               
{hook_create_user_based_on_email_group}
+                                       </select>
+                               </td>
+                       </tr>
+                       <tr>
+                               <td>{lang_entity_config_move_in}:</td>
+                               <td>
+                                       {hook_entity_config_move_in}
+                               </td>
+                       </tr>
 
-               <tr class="row_on">
-                       <td>{lang_category_config_move_in}:</td>
-                       <td>
-                               <select 
name="newsettings[category_config_move_in]">
-                                       {hook_category_config_move_in}
-                               </select>
-                       </td>
-               </tr>
-               <tr class="row_off">
-                       <td>{lang_entity_config_move_out}:</td>
-                       <td>
-                               {hook_entity_config_move_out}
-                       </td>
-               </tr>
-               <tr class="row_off">
-                       <td>{lang_category_config_move_out}:</td>
-                       <td>
-                               <select 
name="newsettings[category_config_move_out]">
-                                       {hook_category_config_move_out}
-                               </select>
-                       </td>
-               </tr>
-               <tr class="row_on">
-                       <td>{lang_contract_future_info}:</td>
-                       <td>
-                               <select 
name="newsettings[contract_future_info]">
-                                       <option value="" 
{selected_contract_future_info_}>NO</option>
-                                       <option value="1" 
{selected_contract_future_info_1}>YES</option>
-                               </select>
-                       </td>
-               </tr>
-               <tr class="row_off">
-                       <td>{lang_contract_furnished_status}:</td>
-                       <td>
-                               <select 
name="newsettings[contract_furnished_status]">
-                                       <option value="" 
{selected_contract_furnished_status_}>NO</option>
-                                       <option value="1" 
{selected_contract_furnished_status_1}>YES</option>
-                               </select>
-                       </td>
-               </tr>
-               <tr class="row_off">
-                       <td>{lang_use_fellesdata}:</td>
-                       <td>
-                               <select name="newsettings[use_fellesdata]">
-                                       <option value="" 
{selected_use_fellesdata_}>NO</option>
-                                       <option value="1" 
{selected_use_fellesdata_1}>YES</option>
-                               </select>
-                       </td>
-               </tr>
-               <tr class="row_off">
-                       <td colspan="2">&nbsp;<b>{lang_external_db}</b></td>
-               </tr>
-               <tr class="row_off">
-                       <td>{lang_Debug}:</td>
-                       <td>
-                               <select name="newsettings[external_db_debug]">
-                                       <option value="" 
{selected_external_db_debug_}>NO</option>
-                                       <option value="1" 
{selected_external_db_debug_1}>YES</option>
-                               </select>
-                       </td>
-               </tr>
-               <tr class="row_off">
-                       <td>{lang_login_external_db_host}:</td>
-                       <td><input name="newsettings[external_db_host]" 
value="{value_external_db_host}"></td>
-               </tr>
-               <tr class="row_on">
-                       <td>{lang_login_external_db_port}:</td>
-                       <td><input name="newsettings[external_db_port]" 
value="{value_external_db_port}"></td>
-               </tr>
-               <tr class="row_off">
-                       <td>{lang_type}:</td>
-                       <td>
-                               <select name="newsettings[external_db_type]">
-                                       <option value="" 
{selected_external_db_type_}>None</option>
-                                       <option value="mssql" 
{selected_external_db_type_mssql}>mssql</option>
-                                       <option value="mysql" 
{selected_external_db_type_mysql}>mysql</option>
-                                       <option value="oracle" 
{selected_external_db_type_oracle}>oracle</option>
-                                       <option value="postgres" 
{selected_external_db_type_postgres}>postgres</option>
-                               </select>
-                       </td>
-               </tr>
-               <tr class="row_off">
-                       <td>{lang_login_external_db_name}:</td>
-                       <td><input name="newsettings[external_db_name]" 
value="{value_external_db_name}"></td>
-               </tr>
-               <tr class="row_off">
-                       <td>{lang_login_external_db_user}:</td>
-                       <td><input name="newsettings[external_db_user]" 
value="{value_external_db_user}"></td>
-               </tr>
+                       <tr>
+                               <td>{lang_category_config_move_in}:</td>
+                               <td>
+                                       <select 
name="newsettings[category_config_move_in]">
+                                               {hook_category_config_move_in}
+                                       </select>
+                               </td>
+                       </tr>
+                       <tr>
+                               <td>{lang_entity_config_move_out}:</td>
+                               <td>
+                                       {hook_entity_config_move_out}
+                               </td>
+                       </tr>
+                       <tr>
+                               <td>{lang_category_config_move_out}:</td>
+                               <td>
+                                       <select 
name="newsettings[category_config_move_out]">
+                                               {hook_category_config_move_out}
+                                       </select>
+                               </td>
+                       </tr>
+                       <tr>
+                               <td>{lang_contract_future_info}:</td>
+                               <td>
+                                       <select 
name="newsettings[contract_future_info]">
+                                               <option value="" 
{selected_contract_future_info_}>NO</option>
+                                               <option value="1" 
{selected_contract_future_info_1}>YES</option>
+                                       </select>
+                               </td>
+                       </tr>
+                       <tr>
+                               <td>{lang_contract_furnished_status}:</td>
+                               <td>
+                                       <select 
name="newsettings[contract_furnished_status]">
+                                               <option value="" 
{selected_contract_furnished_status_}>NO</option>
+                                               <option value="1" 
{selected_contract_furnished_status_1}>YES</option>
+                                       </select>
+                               </td>
+                       </tr>
+                       <tr>
+                               <td>{lang_use_fellesdata}:</td>
+                               <td>
+                                       <select 
name="newsettings[use_fellesdata]">
+                                               <option value="" 
{selected_use_fellesdata_}>NO</option>
+                                               <option value="1" 
{selected_use_fellesdata_1}>YES</option>
+                                       </select>
+                               </td>
+                       </tr>
+                       <tr>
+                               <td 
colspan="2">&nbsp;<b>{lang_external_db}</b></td>
+                       </tr>
+                       <tr>
+                               <td>{lang_Debug}:</td>
+                               <td>
+                                       <select 
name="newsettings[external_db_debug]">
+                                               <option value="" 
{selected_external_db_debug_}>NO</option>
+                                               <option value="1" 
{selected_external_db_debug_1}>YES</option>
+                                       </select>
+                               </td>
+                       </tr>
+                       <tr>
+                               <td>{lang_login_external_db_host}:</td>
+                               <td><input name="newsettings[external_db_host]" 
value="{value_external_db_host}"></td>
+                       </tr>
+                       <tr>
+                               <td>{lang_login_external_db_port}:</td>
+                               <td><input name="newsettings[external_db_port]" 
value="{value_external_db_port}"></td>
+                       </tr>
+                       <tr>
+                               <td>{lang_type}:</td>
+                               <td>
+                                       <select 
name="newsettings[external_db_type]">
+                                               <option value="" 
{selected_external_db_type_}>None</option>
+                                               <option value="mssql" 
{selected_external_db_type_mssql}>mssql</option>
+                                               <option value="mysql" 
{selected_external_db_type_mysql}>mysql</option>
+                                               <option value="oracle" 
{selected_external_db_type_oracle}>oracle</option>
+                                               <option value="postgres" 
{selected_external_db_type_postgres}>postgres</option>
+                                       </select>
+                               </td>
+                       </tr>
+                       <tr>
+                               <td>{lang_login_external_db_name}:</td>
+                               <td><input name="newsettings[external_db_name]" 
value="{value_external_db_name}"></td>
+                       </tr>
+                       <tr>
+                               <td>{lang_login_external_db_user}:</td>
+                               <td><input name="newsettings[external_db_user]" 
value="{value_external_db_user}"></td>
+                       </tr>
 
 
-               <tr class="row_off">
-                       <td>{lang_login_external_db_password}:</td>
-                       <td><input type ="password" 
name="newsettings[external_db_password]" 
value="{value_external_db_password}"></td>
-               </tr>
+                       <tr>
+                               <td>{lang_login_external_db_password}:</td>
+                               <td><input type ="password" 
name="newsettings[external_db_password]" 
value="{value_external_db_password}"></td>
+                       </tr>
 
-               <tr class="row_on">
-                       <td>{lang_path_to_wkhtmltopdf}:</td>
-                       <td><input name="newsettings[path_to_wkhtmltopdf]" 
value="{value_path_to_wkhtmltopdf}"></td>
-               </tr>
-               <tr class="row_off">
-                       <td valign = 'top'>{lang_contract_types}:</td>
-                       <td>
-                               <!--to be able to blank the setting - need an 
empty value-->
-                               <input type = 'hidden' 
name="newsettings[contract_types][]" value="">
-                               <table>
-                                       {hook_contract_types}
-                               </table>
-                       </td>
-               </tr>
-               <tr class="row_on">
-                       <td valign = 'top'>{lang_default_billing_term}:</td>
-                       <td>
-                               <!--to be able to blank the setting - need an 
empty value-->
-                               <!--input type = 'hidden' 
name="newsettings[default_billing_term]" value=""-->
-                               <table>
-                                       {hook_default_billing_term}
-                               </table>
-                       </td>
-               </tr>
+                       <tr>
+                               <td>{lang_path_to_wkhtmltopdf}:</td>
+                               <td><input 
name="newsettings[path_to_wkhtmltopdf]" 
value="{value_path_to_wkhtmltopdf}"></td>
+                       </tr>
+                       <tr>
+                               <td valign = 'top'>{lang_contract_types}:</td>
+                               <td>
+                                       <!--to be able to blank the setting - 
need an empty value-->
+                                       <input type = 'hidden' 
name="newsettings[contract_types][]" value="">
+                                       <table>
+                                               {hook_contract_types}
+                                       </table>
+                               </td>
+                       </tr>
+                       <tr>
+                               <td valign = 
'top'>{lang_default_billing_term}:</td>
+                               <td>
+                                       <!--to be able to blank the setting - 
need an empty value-->
+                                       <!--input type = 'hidden' 
name="newsettings[default_billing_term]" value=""-->
+                                       <table>
+                                               {hook_default_billing_term}
+                                       </table>
+                               </td>
+                       </tr>
+                       <tr>
+                               <td>{lang_notify_on_expire_email}:</td>
+                               <td><input 
name="newsettings[notify_on_expire_email]" 
value="{value_notify_on_expire_email}"></td>
+                       </tr>
+                       <tr>
+                               <td>{lang_notify_reminder_days}:</td>
+                               <td><input 
name="newsettings[notify_reminder_days]" 
value="{value_notify_reminder_days}"></td>
+                       </tr>
+               </tbody>
 
                <!-- END body -->
                <!-- BEGIN footer -->
-               <tr class="th">
-                       <td colspan="2">
-                               &nbsp;
-                       </td>
-               </tr>
-               <tr>
-                       <td colspan="2" align="center">
-                               <input type="submit" name="submit" 
value="{lang_submit}">
-                               <input type="submit" name="cancel" 
value="{lang_cancel}">
-                       </td>
-               </tr>
+               <tfoot>
+                       <tr>
+                               <td colspan="2">
+                                       &nbsp;
+                               </td>
+                       </tr>
+                       <tr>
+                               <td colspan="2" align="center">
+                                       <input type="submit" name="submit" 
value="{lang_submit}">
+                                       <input type="submit" name="cancel" 
value="{lang_cancel}">
+                               </td>
+                       </tr>
+               </tfoot>
        </table>
 </form>
 <!-- END footer -->




reply via email to

[Prev in Thread] Current Thread [Next in Thread]