default to a session cookie instead of setting an explicit timeout, weird timezone...
[freeside.git] / httemplate / edit / svc_pbx.html
1 <& elements/svc_Common.html,
2      'table'          => 'svc_pbx',
3
4      'end_callback' => sub {
5        my( $cgi, $svc_pbx, $fields, $opt ) = @_;
6        $opt->{labels}{extensionnum} = ' ';
7        push @$fields,
8          { type  => 'tablebreak-tr-title',
9            value => 'Extensions',
10          },
11          {
12            field     => 'extensionnum',
13            type      => 'pbx_extension',
14            o2m_table => 'pbx_extension',
15            m2_label  => ' ',
16            m2_error_callback => $m2_error_callback,
17          },
18        ;
19
20      },
21
22 &>
23 <%init>
24
25 my $m2_error_callback = sub {
26   my($cgi, $object) = @_;
27
28   #process_o2m fields in process/svc_pbx.html
29   my @fields = qw( extension pin sip_password phone_name );
30   my @gfields = ( '', map "_$_", @fields );
31
32   map {
33         if ( /^extensionnum(\d+)$/ ) {
34           my $num = $1;
35           if ( grep $cgi->param("extensionnum$num$_"), @gfields ) {
36             my $x = new FS::pbx_extension {
37               'extensionnum' => scalar($cgi->param("extensionnum$num")),
38               map { $_ => scalar($cgi->param("extensionnum${num}_$_")) } @fields,
39             };
40             $x;
41           } else {
42             ();
43           }
44         } else {
45           ();
46         }
47       }
48       $cgi->param;
49 };
50
51
52 </%init>