Merge branch 'master' of git.freeside.biz:/home/git/freeside
[freeside.git] / httemplate / edit / cust_main / contacts_new.html
1 <DIV ID="contacts_div" STYLE="display:<% $display %>">
2 <BR>
3 <FONT CLASS="fsinnerbox-title">Contacts</FONT>
4 <% include('/edit/elements/edit.html',
5      'embed'            => $opt{cust_main},
6      'table'            => 'cust_main',
7      'agent_virt'       => 1,
8      'html_table_class' => 'fsinnerbox',
9      'labels'           => { 'contactnum'  => '', #'Contact',
10                              #'locationnum' => '&nbsp;',
11                            },
12      'fields'           => [
13        { 'field'             => 'contactnum',
14          'type'              => 'contact',
15          'colspan'           => 6,
16          'custnum'           => $opt{cust_main}->custnum,
17          'm2m_method'        => 'cust_contact',
18          'm2m_dstcol'        => 'contactnum',   
19          'm2_label'          => ' ', #'Contact',
20          'm2_error_callback' => $m2_error_callback,
21        },
22      ],
23     )
24 %>
25 </DIV>
26 <%init>
27
28 my %opt = @_;
29
30 my $display = ($opt{'cust_main'}->residential_commercial eq 'Commercial')
31                 ? ''
32                 : 'none';
33
34 my $curuser = $FS::CurrentUser::CurrentUser;
35 my $conf = new FS::Conf;
36
37 my $m2_error_callback = sub {
38   my($cgi, $object) = @_;
39
40   #process_o2m fields in process/cust_main-contacts.html
41   my $fields = FS::contact->cgi_contact_fields;
42   my @gfields = ( '', map "_$_", @$fields );
43
44   map {
45         if ( /^contactnum(\d+)$/ ) {
46           my $num = $1;
47           if ( grep $cgi->param("contactnum$num$_"), @gfields ) {
48             my $x = new FS::contact {
49               'contactnum' => scalar($cgi->param("contactnum$num")),
50               map { $_ => scalar($cgi->param("contactnum${num}_$_")) } @$fields,
51             };
52             $x;
53           } else {
54             ();
55           }
56         } else {
57           ();
58         }
59       }
60       $cgi->param;
61 };
62
63 </%init>