prospect qualifications default to prospect address if there's one, other UI cleanups...
[freeside.git] / httemplate / misc / qual.html
1 <% include('/elements/header-popup.html', 'Service Qualification' ) %>
2
3 <% include('/elements/error.html') %>
4
5 <FORM NAME="QualForm" ACTION="<% $p %>edit/process/qual.cgi" METHOD="POST">
6
7 <INPUT TYPE="hidden" NAME="<%$cust_or_prospect%>num" VALUE="<% $custnum_or_prospectnum %>">
8
9 <% ntable("#cccccc", 2) %>
10
11 <% include('/elements/tr-td-label.html',
12              'cgi'        => $cgi,
13              'label'      => 'Qualify using',
14              #'cell_style' => 'font-weight: bold',
15              'id'         => 'exportnum',
16           )
17 %>
18 <TD>
19 <% include('/elements/select.html',
20              'cgi'        => $cgi,
21              'field'      => 'exportnum',
22              'options'    => \@export_options,
23              'labels'     => $export_labels,
24              'curr_value' => $exportnum,
25           )
26 %>
27 </TD>
28 </TR>
29
30 <% include('/elements/tr-input-text.html',
31              'cgi'     => $cgi,
32              'label'   => 'Service Telephone Number',
33              'field'   => 'phonenum',
34              'size'    => '12',
35              'value'   => scalar($cgi->param('phonenum')),
36
37              'valign'  => 'middle',
38              'colspan' => 6,
39              'prefix'  => '<TABLE><TR><TD>',
40              'postfix' => '</TD><TD><FONT SIZE="-2">'. join('<BR>',
41                  'Line-share (non dry loops) - always fill in',
42                  'Dry loops - always leave empty',
43                ). '</FONT></TD></TR></TABLE>',
44           )
45 %>
46
47 <% include('/elements/tr-select-cust_location.html',
48              'cgi'         => $cgi,
49              $table        => $cust_main_or_prospect_main,
50              'alt_format'  => $conf->exists('qual-alt-address-format') ? 1 : 0,
51              'no_bold'     => 1,
52              #required for ikano.. config? 'is_optional' => 1,
53           )
54 %>
55 </TABLE>
56
57 <BR>
58 <INPUT type="submit" VALUE="Qualify" onClick = "this.disabled=true;">
59
60 </FORM>
61 </BODY>
62 </HTML>
63 <%init>
64
65 my $curuser = $FS::CurrentUser::CurrentUser;
66
67 die "access denied"
68   unless $curuser->access_right('Qualify service'); 
69
70 my $conf = new FS::Conf;
71 my $date_format = $conf->config('date_format') || '%m/%d/%Y';
72
73 $cgi->param('custnum') =~ /^(\d+)$/;
74 my $custnum = $1;
75 $cgi->param('prospectnum') =~ /^(\d+)$/;
76 my $prospectnum = $1;
77 my $cust_or_prospect = $custnum ? "cust" : "prospect";
78 my $table = $cust_or_prospect . "_main";
79 my $custnum_or_prospectnum = $custnum ? $custnum : $prospectnum;
80 my $cust_main_or_prospect_main = qsearchs({
81   'table'     => $table,
82   'hashref'   => { $cust_or_prospect."num" => $custnum_or_prospectnum },
83   'extra_sql' => ' AND '. $FS::CurrentUser::CurrentUser->agentnums_sql,
84 });
85 die "neither prospect nor customer specified or found" 
86     unless $cust_main_or_prospect_main;
87
88 my @exports = grep { $_->can('qual') } qsearch( 'part_export', {} );
89 my @export_options = ( 0 );
90 my $export_labels = { '0' => '(manual)' };
91 foreach my $export ( @exports ) {
92     push @export_options, $export->exportnum;
93     $export_labels->{$export->exportnum} = $export->exportname;
94 }
95 my $exportnum = $cgi->param('error')
96                   ? scalar($cgi->param('exportnum'))
97                   : scalar(@exports) == 1
98                     ? $exports[0]->exportnum
99                     : '';
100
101 </%init>