default to a session cookie instead of setting an explicit timeout, weird timezone...
[freeside.git] / httemplate / edit / quotation.html
index 8b60623..ab1d524 100644 (file)
@@ -1,25 +1,36 @@
 <% include( 'elements/edit.html',
-                 'name'   => 'Quotation',
-                 'table'  => 'quotation',
-                 'labels' => { 
-                               'quotationnum' => 'Quotation number',
-                               'prospectnum'  => 'Prospect',
-                               'custnum'      => 'Customer',
-                               '_date'        => 'Date',
-                               'disabled'     => 'Disabled',
-                             },
-                 'fields' => [
-                   { field=>'prospectnum', type=>'fixed-prospect_main' },
-                   { field=>'custnum',     type=>'fixed-cust_main' },
-                   { field=>'_date',       type=>'fixed-date' },
-                   { field=>'disabled',    type=>'checkbox', value=>'Y'},
-                             ],
+                 'name'    => 'Quotation',
+                 'table'   => 'quotation',
+                 'menubar' => [],
+                 'html_table_class' => 'fsinnerbox', #default?
+                 'labels'  => { 
+                                'quotationnum'          => 'Quotation number',
+                                'prospectnum'           => 'Prospect',
+                                'custnum'               => 'Customer',
+                                '_date'                 => 'Date',
+                                'close_date'            => 'Close Date',
+                                'confidence'            => 'Confidence',
+                                'quotation_description' => 'Description',
+                                ($can_disable ? ('disabled'     => 'Disabled') : ()),
+                              },
+                 'fields'  => [
+                   { field=>'prospectnum',           type=>'fixed-prospect_main' },
+                   { field=>'custnum',               type=>'fixed-cust_main' },
+                   { field=>'_date',                 type=>'fixed-date' },
+                   { field=>'quotation_description', type=>'text', size=>50 },
+                   { field=>'close_date',            type=>'input-date-field' },
+                   { field=>'confidence',            type=>'text', size=>3, postfix=>'%' },
+                   ($can_disable ? { field=>'disabled', type=>'checkbox', value=>'Y'} : ()),
+                              ],
                  #XXX some way to disable the "view all"
                  'new_callback' => sub { my( $cgi, $quotation) = @_;
                                          $quotation->$_( $cgi->param($_) )
                                            foreach qw( prospectnum custnum );
                                          $quotation->_date(time);
                                        },
+                 'field_callback' => sub { my( $cgi, $quotation, $field_hashref ) = @_;
+                                         $quotation->close_date(($default_close_days * 86400) + time) if !$quotation->close_date && $default_close_days; 
+                                       },
            )
 %>
 <%init>
 die "access denied"
   unless $FS::CurrentUser::CurrentUser->access_right('Generate quotation');
 
+my $can_disable = $FS::CurrentUser::CurrentUser->access_right('Disable quotation');
+
+my $conf = new FS::Conf;
+
+my $default_close_days ||= $conf->config('quotation_disable_after_days');
+
 </%init>