X-Git-Url: http://git.freeside.biz/gitweb/?p=freeside.git;a=blobdiff_plain;f=httemplate%2Fedit%2Felements%2Fedit.html;h=829b77615f50b1317567de5579cb07061b681e96;hp=8ba703a2f5064d3c5185e7d5c09448b7eb3094e6;hb=793956b8a0c19d7d39103e94235b0ca13f0f3e84;hpb=77daf007ef522ae71041d9b094643cf868d8ecce diff --git a/httemplate/edit/elements/edit.html b/httemplate/edit/elements/edit.html index 8ba703a2f..829b77615 100644 --- a/httemplate/edit/elements/edit.html +++ b/httemplate/edit/elements/edit.html @@ -114,6 +114,9 @@ Example: #we're in a popup (no title/menu/searchboxes) 'popup' => 1, + #if you need to access the submit button + 'submit_id' => 'mysubmitbuttonid', + #we're embedded (rows only: no header at all, no html_init, no error # display, no
, no hidden fields for table name or primary key, no # display of primary key, no submit button, no html_foot, no footer) @@ -260,12 +263,12 @@ Example: % unless ( $opt{'no_pkey_display'} ) { - + <% ( $opt{labels} && exists $opt{labels}->{$pkey} ) ? $opt{labels}->{$pkey} : $pkey %> - + #<% ( !$clone && $object->$pkey() ) || "(NEW)" %> % } @@ -274,9 +277,7 @@ Example: % my $tablenum = $opt{'tablenum'} || 0; + CLASS="<% $opt{html_table_class} || 'fsinnerbox' %>" > % my $g_row = 0; @@ -398,6 +399,8 @@ Example: % % my $layer_prefix_on = ''; % +% my $submitid = $opt{submit_id} ? $opt{submit_id} : ''; +% % my $include_sub = sub { % my %opt = @_; % @@ -422,6 +425,7 @@ Example: % 'field' => "$field$fieldnum", % 'id' => "$field$fieldnum", #separate? % 'label_id' => $field."_label$fieldnum", #don't want field0_label0... +% 'submit_id' => $submitid, % %include_common, % %opt, % ); @@ -509,12 +513,15 @@ Example: % } % foreach my $name_obj ( @existing ) { % +% my $m2_label = $f->{'m2_label'}; +% $m2_label = &{ $f->{'m2_label_callback'} }($name_obj) if $f->{'m2_label_callback'}; +% % my $ex_label = ' '. ($f->{'m2_label'} || $field ). ' '; +% '> '. ($m2_label || $field ). ' '; % % if ( $f->{'layer_values_callback'} ) { % my %switches = ( 'mode' => $mode ); @@ -631,7 +638,7 @@ Example: // only spawn if we're the last element... return if not - var field_regex = /(\d+)(_[a-z_]+)?$/; + var field_regex = /(\d+)(_[a-z_0-9]+)?$/; var match = field_regex.exec(what.name); if ( !match ) { alert(what.name + " didn't match for " + what); @@ -669,7 +676,7 @@ Example: var newrow = <% include(@layer_opt, html_only=>1) |js_string %>; % #until the rest have html/js_only -% if ( ($type eq 'selectlayers') || ($type eq 'selectlayersx') || ($type =~ /^select-cgp_rule_/) ) { +% if ( ($type eq 'selectlayers') || ($type eq 'selectlayersx') || ($type =~ /^select-cgp_rule_/) || ($type eq 'contact') ) { var newfunc = <% include(@layer_opt, js_only=>1) |js_string %>; % } else { var newfunc = ''; @@ -695,7 +702,7 @@ Example: var row = table.insertRow(<%$field%>_rownum++); - var label_cell = document.createElement('TD'); + var label_cell = document.createElement('TH'); label_cell.id = '<% $field %>_label' + <%$field%>_fieldnum; @@ -814,6 +821,18 @@ Example: : $opt{'html_bottom'} %> +% ## set extra field values for validation. ie price plan fields +% my $extra_fields_to_validate = $opt{'extra_fields_validate'}; +% my %validate_error_messages = ( +% 'digits: true' => 'Please only enter numbers here.', +% 'email: true' => 'Please enter a valid email here.', +% ); +% foreach my $extra_fields (keys %$extra_fields_to_validate) { +% my $validate_type = $extra_fields_to_validate->{$extra_fields}; +% $js_form_validate->{edit_topform}->{validate_fields}{$extra_fields} = $validate_type; +% $js_form_validate->{edit_topform}->{error_message}{$extra_fields} = $validate_error_messages{$validate_type}; +% } + % unless ($opt{'embed'}) {
@@ -863,6 +882,7 @@ Example: my(%opt) = @_; +my $conf = new FS::Conf; my $curuser = $FS::CurrentUser::CurrentUser; #false laziness w/process.html @@ -875,6 +895,8 @@ my $fields = $opt{'fields'} my @actualfields = map { ref($_) ? $_->{'field'} : $_ } @$fields; push @actualfields, $pkey; +push @actualfields, 'ip_addr' if $table eq 'svc_broadband'; +push @actualfields, 'usergroup' if ($table eq 'svc_broadband' && $conf->exists('svc_broadband-radius')); my $js_form_validate = {};