[freeside-commits] freeside/httemplate/edit/elements svc_Common.html, 1.7, 1.8 edit.html, 1.35, 1.36
Ivan,,,
ivan at wavetail.420.am
Fri May 8 18:44:10 PDT 2009
Update of /home/cvs/cvsroot/freeside/httemplate/edit/elements
In directory wavetail.420.am:/tmp/cvs-serv9396/edit/elements
Modified Files:
svc_Common.html edit.html
Log Message:
use service-def specific labels, at least for service pages that use {view,edit}/elements/svc_Common.html RT#4081
Index: edit.html
===================================================================
RCS file: /home/cvs/cvsroot/freeside/httemplate/edit/elements/edit.html,v
retrieving revision 1.35
retrieving revision 1.36
diff -u -d -r1.35 -r1.36
--- edit.html 9 Feb 2009 01:49:28 -0000 1.35
+++ edit.html 9 May 2009 01:44:08 -0000 1.36
@@ -132,37 +132,39 @@
# initialization callbacks
###
- ###global callbacks
+ ###global callbacks, always run if provided
- #always run if provided, after decoding long CGI "redirect=" responses but
+ #after decoding long CGI "redirect=" responses but
# before object creation/search
# (useful if you have a long form that might trigger redirect= and you need
# to do things with $cgi params - they're not decoded in the calling
# <%init> block yet)
'begin_callback' = sub { my( $cgi, $fields_listref, $opt_hashref ) = @_; },
- #always run, after the mode-specific object creation/search
+ #after the mode-specific object creation/search
'end_callback' = sub { my( $cgi, $object, $fields_listref, $opt_hashref ) = @_; },
- ###mode-specific callbacks
+ ###mode-specific callbacks. one (and only one) of these four is called
+ #run when adding
+ 'new_callback' => sub { my( $cgi, $object, $fields_listref, $opt_hashref ) = @_; },
+
+ #run when editing
+ 'edit_callback' => sub { my( $cgi, $object, $fields_listref, $opt_hashref ) = @_; },
+
#run when re-displaying with an error
'error_callback' => sub { my( $cgi, $object, $fields_listref, $opt_hashref ) = @_; },
- #run when editing
- 'edit_callback' => sub { my( $cgi, $object, $fields_listref ) = @_; },
-
+ #run when cloning
+ 'clone_callback' => sub { my( $cgi, $object, $fields_listref, $opt_hashref ) = @_; },
+
+ ###callbacks called in new mode only
+
# returns a hashref for the new object
'new_hashref_callback'
# returns the new object iself (otherwise, ->new is called)
'new_object_callback'
-
- #run when adding
- 'new_callback' => sub { my( $cgi, $object, $fields_listref ) = @_; },
-
- #run when cloning
- 'clone_callback' => sub { my( $cgi, $object, $fields_listref, $opt_hashref ) = @_; },
###display callbacks
@@ -618,7 +620,7 @@
map { $_ => scalar($cgi->param($_)) } fields($table)
});
- &{$opt{'error_callback'}}($cgi, $object, $fields, \%opt )
+ &{$opt{'error_callback'}}( $cgi, $object, $fields, \%opt )
if $opt{'error_callback'};
} elsif ( $cgi->param('clone') =~ /^(\d+)$/ ) {
@@ -632,7 +634,7 @@
$object = qsearchs({ %qsearch, 'hashref' => { $pkey => $clone } });
- &{$opt{'clone_callback'}}($cgi, $object, $fields, \%opt )
+ &{$opt{'clone_callback'}}( $cgi, $object, $fields, \%opt )
if $opt{'clone_callback'};
#$object->$pkey('');
@@ -657,7 +659,7 @@
warn "$table $pkey => $1"
if $opt{'debug'};
- &{$opt{'edit_callback'}}($cgi, $object, $fields)
+ &{$opt{'edit_callback'}}( $cgi, $object, $fields, \%opt )
if $opt{'edit_callback'};
} else { #adding
@@ -672,7 +674,7 @@
? &{$opt{'new_object_callback'}}( $cgi, $hashref, $fields, \%opt )
: $class->new( $hashref );
- &{$opt{'new_callback'}}($cgi, $object, $fields)
+ &{$opt{'new_callback'}}( $cgi, $object, $fields, \%opt )
if $opt{'new_callback'};
}
Index: svc_Common.html
===================================================================
RCS file: /home/cvs/cvsroot/freeside/httemplate/edit/elements/svc_Common.html,v
retrieving revision 1.7
retrieving revision 1.8
diff -u -d -r1.7 -r1.8
--- svc_Common.html 8 Sep 2008 21:02:09 -0000 1.7
+++ svc_Common.html 9 May 2009 01:44:07 -0000 1.8
@@ -3,7 +3,7 @@
'menubar' => [],
'error_callback' => sub {
- my( $cgi, $svc_x ) = @_;
+ my( $cgi, $svc_x, $fields, $opt ) = @_;
#$svcnum = $svc_x->svcnum;
$pkgnum = $cgi->param('pkgnum');
$svcpart = $cgi->param('svcpart');
@@ -11,11 +11,13 @@
$part_svc = qsearchs( 'part_svc', { svcpart=>$svcpart });
die "No part_svc entry!" unless $part_svc;
+ label_fixup($part_svc, $opt);
+
$svc_x->setfield('svcpart', $svcpart);
},
'edit_callback' => sub {
- my( $cgi, $svc_x ) = @_;
+ my( $cgi, $svc_x, $fields, $opt ) = @_;
#$svcnum = $svc_x->svcnum;
my $cust_svc = $svc_x->cust_svc
or die "Unknown (cust_svc) svcnum!";
@@ -25,6 +27,8 @@
$part_svc = qsearchs ('part_svc', { svcpart=>$svcpart });
die "No part_svc entry!" unless $part_svc;
+
+ label_fixup($part_svc, $opt);
},
'new_hashref_callback' => sub {
@@ -35,11 +39,13 @@
},
'new_callback' => sub {
- my( $cgi, $svc_x ) = @_;;
+ my( $cgi, $svc_x, $fields, $opt ) = @_;;
$part_svc = qsearchs( 'part_svc', { svcpart=>$svcpart });
die "No part_svc entry!" unless $part_svc;
+ label_fixup($part_svc, $opt);
+
#$svcnum='';
$svc_x->set_default_and_fixed;
@@ -100,6 +106,22 @@
%opt #pass through/override params
)
%>
+<%once>
+
+sub label_fixup {
+ my( $part_svc, $opt ) = @_;
+
+ #false laziness w/view/svc_Common.html
+ #override default labels with service-definition labels if applicable
+ my $labels = $opt->{labels}; # with -> here
+ foreach my $field ( keys %$labels ) {
+ my $col = $part_svc->part_svc_column($field);
+ $labels->{$field} = $col->columnlabel if $col->columnlabel !~ /^\S*$/;
+ }
+
+}
+
+</%once>
<%init>
my %opt = @_;
More information about the freeside-commits
mailing list