summaryrefslogtreecommitdiff
path: root/httemplate/edit/cust_main/contacts_new.html
blob: 1171e7df4d70cbbb349a47b5eae0242f3ef80acd (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
<DIV ID="contacts_div" STYLE="display:<% $display %>">
<BR>
<FONT CLASS="fsinnerbox-title">Contacts</FONT>
<% include('/edit/elements/edit.html',
     'embed'            => $opt{cust_main},
     'table'            => 'cust_main',
     'agent_virt'       => 1,
     'html_table_class' => 'fsinnerbox',
     'labels'           => { 'contactnum'  => '', #'Contact',
                             #'locationnum' => '&nbsp;',
                           },
     'fields'           => [
       { 'field'             => 'contactnum',
         'type'              => 'contact',
         'colspan'           => 6,
         'custnum'           => $opt{cust_main}->custnum,
         'm2m_method'        => 'cust_contact',
         'm2m_dstcol'        => 'contactnum',   
         'm2_label'          => ' ', #'Contact',
         'm2_error_callback' => $m2_error_callback,
       },
     ],
    )
%>
</DIV>
<%init>

my %opt = @_;

my $display = ($opt{'cust_main'}->residential_commercial eq 'Commercial')
                ? ''
                : 'none';

my $curuser = $FS::CurrentUser::CurrentUser;
my $conf = new FS::Conf;

my $m2_error_callback = sub {
  my($cgi, $object) = @_;

  #process_o2m fields in process/cust_main-contacts.html
  my $fields = FS::contact->cgi_contact_fields;
  my @gfields = ( '', map "_$_", @$fields );

  map {
        if ( /^contactnum(\d+)$/ ) {
          my $num = $1;
          if ( grep $cgi->param("contactnum$num$_"), @gfields ) {
            my $x = new FS::contact {
              'contactnum' => scalar($cgi->param("contactnum$num")),
              map { $_ => scalar($cgi->param("contactnum${num}_$_")) } @$fields,
            };
            $x;
          } else {
            ();
          }
        } else {
          ();
        }
      }
      $cgi->param;
};

</%init>