summaryrefslogtreecommitdiff
path: root/FS
diff options
context:
space:
mode:
Diffstat (limited to 'FS')
-rw-r--r--FS/FS/AccessRight.pm3
-rw-r--r--FS/FS/Schema.pm3
-rw-r--r--FS/FS/inventory_item.pm16
3 files changed, 20 insertions, 2 deletions
diff --git a/FS/FS/AccessRight.pm b/FS/FS/AccessRight.pm
index 01b9b58..08d31d2 100644
--- a/FS/FS/AccessRight.pm
+++ b/FS/FS/AccessRight.pm
@@ -284,6 +284,9 @@ tie my %rights, 'Tie::IxHash',
'Edit billing events',
{ rightname=>'Edit global billing events', global=>1 },
+
+ 'Edit inventory',
+ { rightname=>'Edit global inventory', global=>1 },
{ rightname=>'Dialup configuration' },
{ rightname=>'Dialup global configuration', global=>1 },
diff --git a/FS/FS/Schema.pm b/FS/FS/Schema.pm
index 07e5b30..ab80a08 100644
--- a/FS/FS/Schema.pm
+++ b/FS/FS/Schema.pm
@@ -2593,12 +2593,13 @@ sub tables_hashref {
'columns' => [
'itemnum', 'serial', '', '', '', '',
'classnum', 'int', '', '', '', '',
+ 'agentnum', 'int', 'NULL', '', '', '',
'item', 'varchar', '', $char_d, '', '',
'svcnum', 'int', 'NULL', '', '', '',
],
'primary_key' => 'itemnum',
'unique' => [ [ 'classnum', 'item' ] ],
- 'index' => [ [ 'classnum' ], [ 'svcnum' ] ],
+ 'index' => [ [ 'classnum' ], [ 'agentnum' ], [ 'svcnum' ] ],
},
'inventory_class' => {
diff --git a/FS/FS/inventory_item.pm b/FS/FS/inventory_item.pm
index 3bba1cd..39a0dff 100644
--- a/FS/FS/inventory_item.pm
+++ b/FS/FS/inventory_item.pm
@@ -106,6 +106,9 @@ sub check {
my $error =
$self->ut_numbern('itemnum')
|| $self->ut_foreign_key('classnum', 'inventory_class', 'classnum' )
+ #|| $self->ut_foreign_keyn('agentnum', 'agent', 'agentnum' )
+ || $self->ut_agentnum_acl('agentnum', ['Configuration',
+ 'Edit global inventory'] )
|| $self->ut_text('item')
|| $self->ut_foreign_keyn('svcnum', 'cust_svc', 'svcnum' )
;
@@ -127,6 +130,17 @@ sub cust_svc {
qsearchs( 'cust_svc', { 'svcnum' => $self->svcnum } );
}
+=item agent
+
+Returns the associated agent for this event, if any, as an FS::agent object.
+
+=cut
+
+sub agent {
+ my $self = shift;
+ qsearchs('agent', { 'agentnum' => $self->agentnum } );
+}
+
=back
=head1 SUBROUTINES
@@ -142,7 +156,7 @@ sub process_batch_import {
my $opt = { 'table' => 'inventory_item',
#'params' => [ 'itembatch', 'classnum', ],
- 'params' => [ 'classnum', ],
+ 'params' => [ 'classnum', 'agentnum', ],
'formats' => { 'default' => [ 'item' ] },
'default_csv' => 1,
};