summaryrefslogtreecommitdiff
path: root/httemplate/edit/process
diff options
context:
space:
mode:
Diffstat (limited to 'httemplate/edit/process')
-rw-r--r--httemplate/edit/process/access_group.html10
-rwxr-xr-xhttemplate/edit/process/cust_main.cgi2
-rwxr-xr-xhttemplate/edit/process/cust_pay.cgi30
-rw-r--r--httemplate/edit/process/elements/process.html30
-rw-r--r--httemplate/edit/process/elements/svc_Common.html14
-rwxr-xr-xhttemplate/edit/process/part_referral.cgi28
-rwxr-xr-xhttemplate/edit/process/part_referral.html5
-rw-r--r--httemplate/edit/process/svc_phone.html4
8 files changed, 82 insertions, 41 deletions
diff --git a/httemplate/edit/process/access_group.html b/httemplate/edit/process/access_group.html
index e8c6d07b1..9bb9d1dda 100644
--- a/httemplate/edit/process/access_group.html
+++ b/httemplate/edit/process/access_group.html
@@ -1,5 +1,15 @@
<%= include( 'elements/process.html',
'table' => 'access_group',
'viewall_dir' => 'browse',
+ 'process_m2m' => { 'link_table' => 'access_groupagent',
+ 'target_table' => 'agent',
+ },
+ 'process_m2name' => {
+ 'link_table' => 'access_right',
+ 'link_static' => { 'righttype' => 'FS::access_group', },
+ 'num_col' => 'rightobjnum',
+ 'name_col' => 'rightname',
+ 'names_list' => [ FS::AccessRight->rights() ],
+ },
)
%>
diff --git a/httemplate/edit/process/cust_main.cgi b/httemplate/edit/process/cust_main.cgi
index 09a42544c..4ba30c435 100755
--- a/httemplate/edit/process/cust_main.cgi
+++ b/httemplate/edit/process/cust_main.cgi
@@ -103,8 +103,6 @@ if ( $new->custnum eq '' ) {
'popnum' => $cgi->param('popnum'),
} );
- my $y = $svc_acct->setdefault; # arguably should be in new method
- $error ||= $y unless ref($y);
#and just in case you were silly
$svc_acct->svcpart($svcpart);
$svc_acct->username($cgi->param('username'));
diff --git a/httemplate/edit/process/cust_pay.cgi b/httemplate/edit/process/cust_pay.cgi
index 87d6011e7..cecccb59e 100755
--- a/httemplate/edit/process/cust_pay.cgi
+++ b/httemplate/edit/process/cust_pay.cgi
@@ -4,15 +4,16 @@ $cgi->param('linknum') =~ /^(\d+)$/
or die "Illegal linknum: ". $cgi->param('linknum');
my $linknum = $1;
-$cgi->param('link') =~ /^(custnum|invnum)$/
+$cgi->param('link') =~ /^(custnum|invnum|popup)$/
or die "Illegal link: ". $cgi->param('link');
-my $link = $1;
+my $field = my $link = $1;
+$field = 'custnum' if $field eq 'popup';
my $_date = str2time($cgi->param('_date'));
my $new = new FS::cust_pay ( {
- $link => $linknum,
- _date => $_date,
+ $field => $linknum,
+ _date => $_date,
map {
$_, scalar($cgi->param($_));
} qw(paid payby payinfo paybatch)
@@ -24,19 +25,30 @@ my $error = $new->insert;
if ($error) {
$cgi->param('error', $error);
print $cgi->redirect(popurl(2). 'cust_pay.cgi?'. $cgi->query_string );
-} elsif ( $link eq 'invnum' ) {
+} elsif ( $field eq 'invnum' ) {
print $cgi->redirect(popurl(3). "view/cust_bill.cgi?$linknum");
-} elsif ( $link eq 'custnum' ) {
+} elsif ( $field eq 'custnum' ) {
if ( $cgi->param('apply') eq 'yes' ) {
my $cust_main = qsearchs('cust_main', { 'custnum' => $linknum })
or die "unknown custnum $linknum";
$cust_main->apply_payments;
}
- if ( $cgi->param('quickpay') eq 'yes' ) {
- print $cgi->redirect(popurl(3). "search/cust_main-quickpay.html");
- } else {
+ if ( $link eq 'popup' ) {
+
+ %><%= header('Payment entered') %>
+ <SCRIPT TYPE="text/javascript">
+ window.top.location.reload();
+ </SCRIPT>
+
+ </BODY></HTML>
+ <%
+
+ } elsif ( $link eq 'custnum' ) {
print $cgi->redirect(popurl(3). "view/cust_main.cgi?$linknum");
+ } else {
+ die "unknown link $link";
}
+
}
%>
diff --git a/httemplate/edit/process/elements/process.html b/httemplate/edit/process/elements/process.html
index 59ad35ee4..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,10 +14,24 @@
###
##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) = @_;
@@ -52,9 +67,20 @@
);
}
+ if ( !$error && $opt{'process_m2name'} ) {
+ $error = $new->process_m2name( %{ $opt{'process_m2name'} },
+ 'params' => scalar($cgi->Vars),
+ );
+ }
+
+ # 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' ).
diff --git a/httemplate/edit/process/elements/svc_Common.html b/httemplate/edit/process/elements/svc_Common.html
new file mode 100644
index 000000000..1f8f8315e
--- /dev/null
+++ b/httemplate/edit/process/elements/svc_Common.html
@@ -0,0 +1,14 @@
+<%
+
+ my %opt = @_;
+ my $table = $opt{'table'};
+ $opt{'fields'} ||= [ fields($table) ];
+ push @{ $opt{'fields'} }, qw( pkgnum svcpart );
+
+%><%= include( 'process.html',
+ 'edit_ext' => 'cgi',
+ 'redirect' => popurl(3)."view/$table.cgi?",
+ %opt,
+ )
+%>
+
diff --git a/httemplate/edit/process/part_referral.cgi b/httemplate/edit/process/part_referral.cgi
deleted file mode 100755
index fd2c01506..000000000
--- a/httemplate/edit/process/part_referral.cgi
+++ /dev/null
@@ -1,28 +0,0 @@
-<%
-
-my $refnum = $cgi->param('refnum');
-
-my $new = new FS::part_referral ( {
- map {
- $_, scalar($cgi->param($_));
- } fields('part_referral')
-} );
-
-my $error;
-if ( $refnum ) {
- my $old = qsearchs( 'part_referral', { 'refnum' =>$ refnum } );
- die "(Old) Record not found!" unless $old;
- $error = $new->replace($old);
-} else {
- $error = $new->insert;
-}
-$refnum=$new->refnum;
-
-if ( $error ) {
- $cgi->param('error', $error);
- print $cgi->redirect(popurl(2). "part_referral.cgi?". $cgi->query_string );
-} else {
- print $cgi->redirect(popurl(3). "browse/part_referral.cgi");
-}
-
-%>
diff --git a/httemplate/edit/process/part_referral.html b/httemplate/edit/process/part_referral.html
new file mode 100755
index 000000000..0b5d959a0
--- /dev/null
+++ b/httemplate/edit/process/part_referral.html
@@ -0,0 +1,5 @@
+<%= include( 'elements/process.html',
+ 'table' => 'part_referral',
+ 'viewall_dir' => 'browse',
+ )
+%>
diff --git a/httemplate/edit/process/svc_phone.html b/httemplate/edit/process/svc_phone.html
new file mode 100644
index 000000000..c1d4b7547
--- /dev/null
+++ b/httemplate/edit/process/svc_phone.html
@@ -0,0 +1,4 @@
+<%= include( 'elements/svc_Common.html',
+ 'table' => 'svc_phone',
+ )
+%>