summaryrefslogtreecommitdiff
path: root/FS
diff options
context:
space:
mode:
Diffstat (limited to 'FS')
-rw-r--r--FS/FS/Schema.pm5
-rw-r--r--FS/FS/part_referral.pm4
2 files changed, 7 insertions, 2 deletions
diff --git a/FS/FS/Schema.pm b/FS/FS/Schema.pm
index 82cf6805d..d94f963a6 100644
--- a/FS/FS/Schema.pm
+++ b/FS/FS/Schema.pm
@@ -3591,10 +3591,11 @@ sub tables_hashref {
'refnum', 'serial', '', '', '', '',
'referral', 'varchar', '', $char_d, '', '',
'disabled', 'char', 'NULL', 1, '', '',
- 'agentnum', 'int', 'NULL', '', '', '',
+ 'agentnum', 'int', 'NULL', '', '', '',
+ 'title', 'varchar', 'NULL', $char_d, '', '',
],
'primary_key' => 'refnum',
- 'unique' => [],
+ 'unique' => [ ['agentnum', 'title'] ],
'index' => [ ['disabled'], ['agentnum'], ],
'foreign_keys' => [
{ columns => [ 'agentnum' ],
diff --git a/FS/FS/part_referral.pm b/FS/FS/part_referral.pm
index e4a582374..2df8a7571 100644
--- a/FS/FS/part_referral.pm
+++ b/FS/FS/part_referral.pm
@@ -44,6 +44,9 @@ The following fields are currently supported:
=item agentnum - Optional agentnum (see L<FS::agent>)
+=item title - an optional external string that identifies this
+referral source, such as an advertising campaign code.
+
=back
=head1 NOTE
@@ -101,6 +104,7 @@ sub check {
|| $self->ut_text('referral')
|| $self->ut_enum('disabled', [ '', 'Y' ] )
#|| $self->ut_foreign_keyn('agentnum', 'agent', 'agentnum')
+ || $self->ut_textn('title')
|| ( $setup_hack
? $self->ut_foreign_keyn('agentnum', 'agent', 'agentnum' )
: $self->ut_agentnum_acl('agentnum', 'Edit global advertising sources')