freeside/FS/FS part_pkg.pm,1.33,1.34
ivan
ivan at pouncequick.420.am
Fri Feb 25 12:21:18 PST 2005
Update of /home/cvs/cvsroot/freeside/FS/FS
In directory pouncequick:/tmp/cvs-serv26432
Modified Files:
part_pkg.pm
Log Message:
oops, need to check this in, adding "options" option to part_pkg::insert to specify part_pkg_option records
Index: part_pkg.pm
===================================================================
RCS file: /home/cvs/cvsroot/freeside/FS/FS/part_pkg.pm,v
retrieving revision 1.33
retrieving revision 1.34
diff -u -d -r1.33 -r1.34
--- part_pkg.pm 29 Jan 2005 12:34:10 -0000 1.33
+++ part_pkg.pm 25 Feb 2005 20:21:15 -0000 1.34
@@ -116,8 +116,8 @@
Adds this package definition to the database. If there is an error,
returns the error, otherwise returns false.
-Currently available options are: I<pkg_svc>, I<primary_svc>, I<cust_pkg> and
-I<custnum_ref>.
+Currently available options are: I<pkg_svc>, I<primary_svc>, I<cust_pkg>,
+I<custnum_ref> and I<options>.
If I<pkg_svc> is set to a hashref with svcparts as keys and quantities as
values, appropriate FS::pkg_svc records will be inserted.
@@ -131,6 +131,9 @@
In conjunction with I<cust_pkg>, if I<custnum_ref> is set to a scalar reference,
the scalar will be updated with the custnum value from the cust_pkg record.
+If I<options> is set to a hashref of options, appropriate FS::part_pkg_option
+records will be inserted.
+
=cut
sub insert {
@@ -163,7 +166,8 @@
}
if ( $plandata ) {
- warn " inserting part_pkg_option records for plandata" if $DEBUG;
+
+ warn " inserting part_pkg_option records for plandata" if $DEBUG;
foreach my $part_pkg_option (
map { /^(\w+)=(.*)$/ or do { $dbh->rollback if $oldAutoCommit;
return "illegal plandata: $plandata";
@@ -182,6 +186,27 @@
return $error;
}
}
+
+ } elsif ( $options{'options'} ) {
+
+ warn " inserting part_pkg_option records for options hashref" if $DEBUG;
+ foreach my $optionname ( %{$options{'options'}} ) {
+
+ my $part_pkg_option =
+ new FS::part_pkg_option {
+ 'pkgpart' => $self->pkgpart,
+ 'optionname' => $optionname,
+ 'optionvalue' => $options{'options'}->{$optionname},
+ };
+
+ my $error = $part_pkg_option->insert;
+ if ( $error ) {
+ $dbh->rollback if $oldAutoCommit;
+ return $error;
+ }
+
+ }
+
}
my $conf = new FS::Conf;
More information about the freeside-commits
mailing list