From 600a0939e7e7e589dae4f4f5bfef3650728940b7 Mon Sep 17 00:00:00 2001 From: ivan Date: Wed, 8 Mar 2006 10:05:01 +0000 Subject: Add a new table for inventory with for DIDs/serials/etc., and an additional new table for inventory category (i.e. to distinguish DIDs, serials, MACs, etc.) --- httemplate/edit/process/elements/process.html | 46 +++++++++++++++++++++++++++ 1 file changed, 46 insertions(+) create mode 100644 httemplate/edit/process/elements/process.html (limited to 'httemplate/edit/process/elements/process.html') diff --git a/httemplate/edit/process/elements/process.html b/httemplate/edit/process/elements/process.html new file mode 100644 index 000000000..52c876720 --- /dev/null +++ b/httemplate/edit/process/elements/process.html @@ -0,0 +1,46 @@ +<% + + # options example... + # + # 'table' => + # #? 'primary_key' => #required when the dbdef doesn't know...??? + # #? 'fields' => [] + + my(%opt) = @_; + + #false laziness w/edit.html + my $table = $opt{'table'}; + my $class = "FS::$table"; + my $pkey = dbdef->table($table)->primary_key; #? $opt{'primary_key'} || + my $fields = $opt{'fields'} + #|| [ grep { $_ ne $pkey } dbdef->table($table)->columns ]; + || [ fields($table) ]; + + my $pkeyvalue = $cgi->param($pkey); + + my $old = qsearchs( $table, { $pkey => $pkeyvalue } ) if $pkeyvalue; + + my $new = $class->new( { + map { + $_, scalar($cgi->param($_)); + } @$fields + } ); + + my $error; + if ( $pkeyvalue ) { + $error = $new->replace($old); + } else { + warn $new; + $error = $new->insert; + warn $error; + $pkeyvalue = $new->getfield($pkey); + } + + if ( $error ) { + $cgi->param('error', $error); + print $cgi->redirect(popurl(2). "$table.html?". $cgi->query_string ); + } else { + print $cgi->redirect(popurl(3). "search/$table.html"); + } + +%> -- cgit v1.2.1 From 1a033848671cad2cbe7687b37fc718b3b2a68b83 Mon Sep 17 00:00:00 2001 From: ivan Date: Sat, 22 Apr 2006 00:58:40 +0000 Subject: start of package class web UI (add/edit package classes, package class selection in package def edit) --- httemplate/edit/process/elements/process.html | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) (limited to 'httemplate/edit/process/elements/process.html') diff --git a/httemplate/edit/process/elements/process.html b/httemplate/edit/process/elements/process.html index 52c876720..83ff6f728 100644 --- a/httemplate/edit/process/elements/process.html +++ b/httemplate/edit/process/elements/process.html @@ -5,6 +5,7 @@ # 'table' => # #? 'primary_key' => #required when the dbdef doesn't know...??? # #? 'fields' => [] + # 'viewall_dir' => '', #'search' or 'browse', defaults to 'search' my(%opt) = @_; @@ -40,7 +41,10 @@ $cgi->param('error', $error); print $cgi->redirect(popurl(2). "$table.html?". $cgi->query_string ); } else { - print $cgi->redirect(popurl(3). "search/$table.html"); + print $cgi->redirect( popurl(3). + ( $opt{'viewall_dir'} || 'search' ). + "/$table.html" + ); } %> -- cgit v1.2.1 From 2c757d7db4cb6a7b9655de13206fcc84fb7ce61f Mon Sep 17 00:00:00 2001 From: ivan Date: Sun, 14 May 2006 16:47:31 +0000 Subject: first part of ACL and re-skinning work and some other small stuff --- httemplate/edit/process/elements/process.html | 19 +++++++++++++++++-- 1 file changed, 17 insertions(+), 2 deletions(-) (limited to 'httemplate/edit/process/elements/process.html') diff --git a/httemplate/edit/process/elements/process.html b/httemplate/edit/process/elements/process.html index 83ff6f728..59ad35ee4 100644 --- a/httemplate/edit/process/elements/process.html +++ b/httemplate/edit/process/elements/process.html @@ -2,10 +2,21 @@ # options example... # + ### + ##req + ## # 'table' => + # # #? 'primary_key' => #required when the dbdef doesn't know...??? # #? 'fields' => [] + # + ### + ##opt + ### # 'viewall_dir' => '', #'search' or 'browse', defaults to 'search' + # 'process_m2m' => { 'link_table' => 'link_table_name', + # 'target_table' => 'target_table_name', + # }. my(%opt) = @_; @@ -31,12 +42,16 @@ if ( $pkeyvalue ) { $error = $new->replace($old); } else { - warn $new; $error = $new->insert; - warn $error; $pkeyvalue = $new->getfield($pkey); } + if ( !$error && $opt{'process_m2m'} ) { + $error = $new->process_m2m( %{ $opt{'process_m2m'} }, + 'params' => scalar($cgi->Vars), + ); + } + if ( $error ) { $cgi->param('error', $error); print $cgi->redirect(popurl(2). "$table.html?". $cgi->query_string ); -- cgit v1.2.1 From c738a3c4923774b64960aa87fa58bd0751487edb Mon Sep 17 00:00:00 2001 From: ivan Date: Sun, 18 Jun 2006 12:54:49 +0000 Subject: ACLs: finish group edit (agents + rights) & browse --- httemplate/edit/process/elements/process.html | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) (limited to 'httemplate/edit/process/elements/process.html') diff --git a/httemplate/edit/process/elements/process.html b/httemplate/edit/process/elements/process.html index 59ad35ee4..a6e3b50e3 100644 --- a/httemplate/edit/process/elements/process.html +++ b/httemplate/edit/process/elements/process.html @@ -16,7 +16,14 @@ # 'viewall_dir' => '', #'search' or 'browse', defaults to 'search' # 'process_m2m' => { 'link_table' => 'link_table_name', # 'target_table' => 'target_table_name', - # }. + # }, + # 'process_m2name' => { 'link_table' => 'link_table_name', + # 'link_static' => { 'column' => 'value' }, + # 'num_col' => 'column', #if column name is different in + # #link_table than source_table + # 'name_col' => 'name_column', + # 'names_list' => [ 'list', 'names' ], + # }, my(%opt) = @_; @@ -52,6 +59,12 @@ ); } + if ( !$error && $opt{'process_m2name'} ) { + $error = $new->process_m2name( %{ $opt{'process_m2name'} }, + 'params' => scalar($cgi->Vars), + ); + } + if ( $error ) { $cgi->param('error', $error); print $cgi->redirect(popurl(2). "$table.html?". $cgi->query_string ); -- cgit v1.2.1 From 1053db7f76169cbbc87840539959a4c362aff242 Mon Sep 17 00:00:00 2001 From: ivan Date: Wed, 12 Jul 2006 00:20:23 +0000 Subject: svc_phone service and CDR billing from imported CDRs --- httemplate/edit/process/elements/process.html | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) (limited to 'httemplate/edit/process/elements/process.html') diff --git a/httemplate/edit/process/elements/process.html b/httemplate/edit/process/elements/process.html index a6e3b50e3..7cae78bfc 100644 --- a/httemplate/edit/process/elements/process.html +++ b/httemplate/edit/process/elements/process.html @@ -5,6 +5,7 @@ ### ##req ## + # # 'table' => # # #? 'primary_key' => #required when the dbdef doesn't know...??? @@ -13,7 +14,14 @@ ### ##opt ### + # # 'viewall_dir' => '', #'search' or 'browse', defaults to 'search' + # OR + # 'redirect' => 'view/table.cgi?', # value of primary key is appended + # + # 'edit_ext' => 'html', #defaults to 'html', you might want 'cgi' while the + # #naming is still inconsistent + # # 'process_m2m' => { 'link_table' => 'link_table_name', # 'target_table' => 'target_table_name', # }, @@ -65,9 +73,14 @@ ); } + # XXX print?!?! + if ( $error ) { $cgi->param('error', $error); - print $cgi->redirect(popurl(2). "$table.html?". $cgi->query_string ); + my $edit_ext = $opt{'edit_ext'} || 'html'; + print $cgi->redirect(popurl(2). "$table.$edit_ext?". $cgi->query_string ); + } elsif ( $opt{'redirect'} ) { + print $cgi->redirect( $opt{'redirect'}. $pkeyvalue ); } else { print $cgi->redirect( popurl(3). ( $opt{'viewall_dir'} || 'search' ). -- cgit v1.2.1 From 3ce7691203a7737406bf2d4442f7fd84b81f847e Mon Sep 17 00:00:00 2001 From: ivan Date: Wed, 23 Aug 2006 22:25:39 +0000 Subject: Will things ever be the same again? It's the final masonize --- httemplate/edit/process/elements/process.html | 181 +++++++++++++------------- 1 file changed, 91 insertions(+), 90 deletions(-) (limited to 'httemplate/edit/process/elements/process.html') diff --git a/httemplate/edit/process/elements/process.html b/httemplate/edit/process/elements/process.html index 7cae78bfc..96d568754 100644 --- a/httemplate/edit/process/elements/process.html +++ b/httemplate/edit/process/elements/process.html @@ -1,91 +1,92 @@ -<% +% +% +% # options example... +% # +% ### +% ##req +% ## +% # +% # 'table' => +% # +% # #? 'primary_key' => #required when the dbdef doesn't know...??? +% # #? 'fields' => [] +% # +% ### +% ##opt +% ### +% # +% # 'viewall_dir' => '', #'search' or 'browse', defaults to 'search' +% # OR +% # 'redirect' => 'view/table.cgi?', # value of primary key is appended +% # +% # 'edit_ext' => 'html', #defaults to 'html', you might want 'cgi' while the +% # #naming is still inconsistent +% # +% # 'process_m2m' => { 'link_table' => 'link_table_name', +% # 'target_table' => 'target_table_name', +% # }, +% # 'process_m2name' => { 'link_table' => 'link_table_name', +% # 'link_static' => { 'column' => 'value' }, +% # 'num_col' => 'column', #if column name is different in +% # #link_table than source_table +% # 'name_col' => 'name_column', +% # 'names_list' => [ 'list', 'names' ], +% # }, +% +% my(%opt) = @_; +% +% #false laziness w/edit.html +% my $table = $opt{'table'}; +% my $class = "FS::$table"; +% my $pkey = dbdef->table($table)->primary_key; #? $opt{'primary_key'} || +% my $fields = $opt{'fields'} +% #|| [ grep { $_ ne $pkey } dbdef->table($table)->columns ]; +% || [ fields($table) ]; +% +% my $pkeyvalue = $cgi->param($pkey); +% +% my $old = qsearchs( $table, { $pkey => $pkeyvalue } ) if $pkeyvalue; +% +% my $new = $class->new( { +% map { +% $_, scalar($cgi->param($_)); +% } @$fields +% } ); +% +% my $error; +% if ( $pkeyvalue ) { +% $error = $new->replace($old); +% } else { +% $error = $new->insert; +% $pkeyvalue = $new->getfield($pkey); +% } +% +% if ( !$error && $opt{'process_m2m'} ) { +% $error = $new->process_m2m( %{ $opt{'process_m2m'} }, +% 'params' => scalar($cgi->Vars), +% ); +% } +% +% if ( !$error && $opt{'process_m2name'} ) { +% $error = $new->process_m2name( %{ $opt{'process_m2name'} }, +% 'params' => scalar($cgi->Vars), +% ); +% } +% +% # XXX print?!?! +% +% if ( $error ) { +% $cgi->param('error', $error); +% my $edit_ext = $opt{'edit_ext'} || 'html'; +% print $cgi->redirect(popurl(2). "$table.$edit_ext?". $cgi->query_string ); +% } elsif ( $opt{'redirect'} ) { +% print $cgi->redirect( $opt{'redirect'}. $pkeyvalue ); +% } else { +% print $cgi->redirect( popurl(3). +% ( $opt{'viewall_dir'} || 'search' ). +% "/$table.html" +% ); +% } +% +% - # options example... - # - ### - ##req - ## - # - # 'table' => - # - # #? 'primary_key' => #required when the dbdef doesn't know...??? - # #? 'fields' => [] - # - ### - ##opt - ### - # - # 'viewall_dir' => '', #'search' or 'browse', defaults to 'search' - # OR - # 'redirect' => 'view/table.cgi?', # value of primary key is appended - # - # 'edit_ext' => 'html', #defaults to 'html', you might want 'cgi' while the - # #naming is still inconsistent - # - # 'process_m2m' => { 'link_table' => 'link_table_name', - # 'target_table' => 'target_table_name', - # }, - # 'process_m2name' => { 'link_table' => 'link_table_name', - # 'link_static' => { 'column' => 'value' }, - # 'num_col' => 'column', #if column name is different in - # #link_table than source_table - # 'name_col' => 'name_column', - # 'names_list' => [ 'list', 'names' ], - # }, - - my(%opt) = @_; - - #false laziness w/edit.html - my $table = $opt{'table'}; - my $class = "FS::$table"; - my $pkey = dbdef->table($table)->primary_key; #? $opt{'primary_key'} || - my $fields = $opt{'fields'} - #|| [ grep { $_ ne $pkey } dbdef->table($table)->columns ]; - || [ fields($table) ]; - - my $pkeyvalue = $cgi->param($pkey); - - my $old = qsearchs( $table, { $pkey => $pkeyvalue } ) if $pkeyvalue; - - my $new = $class->new( { - map { - $_, scalar($cgi->param($_)); - } @$fields - } ); - - my $error; - if ( $pkeyvalue ) { - $error = $new->replace($old); - } else { - $error = $new->insert; - $pkeyvalue = $new->getfield($pkey); - } - - if ( !$error && $opt{'process_m2m'} ) { - $error = $new->process_m2m( %{ $opt{'process_m2m'} }, - 'params' => scalar($cgi->Vars), - ); - } - - if ( !$error && $opt{'process_m2name'} ) { - $error = $new->process_m2name( %{ $opt{'process_m2name'} }, - 'params' => scalar($cgi->Vars), - ); - } - - # XXX print?!?! - - if ( $error ) { - $cgi->param('error', $error); - my $edit_ext = $opt{'edit_ext'} || 'html'; - print $cgi->redirect(popurl(2). "$table.$edit_ext?". $cgi->query_string ); - } elsif ( $opt{'redirect'} ) { - print $cgi->redirect( $opt{'redirect'}. $pkeyvalue ); - } else { - print $cgi->redirect( popurl(3). - ( $opt{'viewall_dir'} || 'search' ). - "/$table.html" - ); - } - -%> -- cgit v1.2.1 From 633c48448d9468690b7ad77eb6ff7c660a286658 Mon Sep 17 00:00:00 2001 From: ivan Date: Fri, 29 Dec 2006 08:51:34 +0000 Subject: service refactor! --- httemplate/edit/process/elements/process.html | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) (limited to 'httemplate/edit/process/elements/process.html') diff --git a/httemplate/edit/process/elements/process.html b/httemplate/edit/process/elements/process.html index 96d568754..4b1d2c840 100644 --- a/httemplate/edit/process/elements/process.html +++ b/httemplate/edit/process/elements/process.html @@ -19,6 +19,8 @@ % # OR % # 'redirect' => 'view/table.cgi?', # value of primary key is appended % # +% # 'error_redirect' => popurl(2).'edit/table.cgi?', #query string appended +% # % # 'edit_ext' => 'html', #defaults to 'html', you might want 'cgi' while the % # #naming is still inconsistent % # @@ -78,7 +80,8 @@ % if ( $error ) { % $cgi->param('error', $error); % my $edit_ext = $opt{'edit_ext'} || 'html'; -% print $cgi->redirect(popurl(2). "$table.$edit_ext?". $cgi->query_string ); +% my $url = $opt{'error_redirect'} || popurl(2)."$table.$edit_ext?"; +% print $cgi->redirect($url. $cgi->query_string ); % } elsif ( $opt{'redirect'} ) { % print $cgi->redirect( $opt{'redirect'}. $pkeyvalue ); % } else { -- cgit v1.2.1 From a54aa62df5076e113134e06e11ba9776c3e60a36 Mon Sep 17 00:00:00 2001 From: jeff Date: Fri, 19 Jan 2007 16:31:21 +0000 Subject: no password in html source on employee edit --- httemplate/edit/process/elements/process.html | 9 +++++++++ 1 file changed, 9 insertions(+) (limited to 'httemplate/edit/process/elements/process.html') diff --git a/httemplate/edit/process/elements/process.html b/httemplate/edit/process/elements/process.html index 4b1d2c840..5d40bba50 100644 --- a/httemplate/edit/process/elements/process.html +++ b/httemplate/edit/process/elements/process.html @@ -24,6 +24,8 @@ % # 'edit_ext' => 'html', #defaults to 'html', you might want 'cgi' while the % # #naming is still inconsistent % # +% # 'copy_on_empty' => [ old_field_name, another_old_field, ... ], +% # % # 'process_m2m' => { 'link_table' => 'link_table_name', % # 'target_table' => 'target_table_name', % # }, @@ -55,6 +57,13 @@ % } @$fields % } ); % +% if ($old && scalar($opt{'copy_on_empty'})) { +% foreach my $field (@{$opt{'copy_on_empty'}}) { +% $new->set($field, $old->get($field)) +% unless scalar($cgi->param($field)); +% } +% } +% % my $error; % if ( $pkeyvalue ) { % $error = $new->replace($old); -- cgit v1.2.1 From 32860d44e17b53f220cd98e041219d7d5b8a4619 Mon Sep 17 00:00:00 2001 From: jeff Date: Fri, 19 Jan 2007 22:02:21 +0000 Subject: blank password on error --- httemplate/edit/process/elements/process.html | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) (limited to 'httemplate/edit/process/elements/process.html') diff --git a/httemplate/edit/process/elements/process.html b/httemplate/edit/process/elements/process.html index 5d40bba50..fb5b352d2 100644 --- a/httemplate/edit/process/elements/process.html +++ b/httemplate/edit/process/elements/process.html @@ -24,7 +24,9 @@ % # 'edit_ext' => 'html', #defaults to 'html', you might want 'cgi' while the % # #naming is still inconsistent % # -% # 'copy_on_empty' => [ old_field_name, another_old_field, ... ], +% # 'copy_on_empty' => [ 'old_field_name', 'another_old_field', ... ], +% # +% # 'clear_on_error' => [ 'form_field1', 'form_field2', ... ], % # % # 'process_m2m' => { 'link_table' => 'link_table_name', % # 'target_table' => 'target_table_name', @@ -57,7 +59,7 @@ % } @$fields % } ); % -% if ($old && scalar($opt{'copy_on_empty'})) { +% if ($old && scalar(@{$opt{'copy_on_empty'}})) { % foreach my $field (@{$opt{'copy_on_empty'}}) { % $new->set($field, $old->get($field)) % unless scalar($cgi->param($field)); @@ -88,6 +90,11 @@ % % if ( $error ) { % $cgi->param('error', $error); +% if (scalar(@{$opt{'clear_on_error'}})) { +% foreach my $field (@{$opt{'clear_on_error'}}) { +% $cgi->param($field, '') +% } +% } % my $edit_ext = $opt{'edit_ext'} || 'html'; % my $url = $opt{'error_redirect'} || popurl(2)."$table.$edit_ext?"; % print $cgi->redirect($url. $cgi->query_string ); -- cgit v1.2.1 From 43d3389061e5c2a428230792b67d42bbf6549a86 Mon Sep 17 00:00:00 2001 From: jeff Date: Wed, 24 Jan 2007 05:33:37 +0000 Subject: squarely between shame in you and so close --- httemplate/edit/process/elements/process.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'httemplate/edit/process/elements/process.html') diff --git a/httemplate/edit/process/elements/process.html b/httemplate/edit/process/elements/process.html index fb5b352d2..e388c678b 100644 --- a/httemplate/edit/process/elements/process.html +++ b/httemplate/edit/process/elements/process.html @@ -59,7 +59,7 @@ % } @$fields % } ); % -% if ($old && scalar(@{$opt{'copy_on_empty'}})) { +% if ($old && exists($opt{'copy_on_empty'})) { % foreach my $field (@{$opt{'copy_on_empty'}}) { % $new->set($field, $old->get($field)) % unless scalar($cgi->param($field)); -- cgit v1.2.1