'is_business', 'char', 'NULL', 1, '', '',
'active_date', @date_type, '', '',
'expire_date', @date_type, '', '',
+ 'disabled', 'char', 'NULL', 1, '', '',
],
'primary_key' => 'zonenum',
'unique' => [],
=cut
-# the replace method can be inherited from FS::Record
+sub replace {
+ my $self = shift;
+ my $old = shift || $self->replace_old;
+
+ $self->expire_date(time)
+ if $self->disabled eq 'Y' && ! $old->disabled && ! $self->expire_date;
+ $self->SUPER::replace($old, @_);
+}
=item check
Checks all fields to make sure this is a valid zone record. If there is
nohtmlheader => 1,
disable_maxselect => 1,
disable_total => 1,
+ disableable => 1,
+ disabled_statuspos => 2,
&>
<P><FONT SIZE="+1"><B>Mobile Zones</B></FONT></P>
<& elements/browse.html,
nohtmlheader => 1,
disable_maxselect => 1,
disable_total => 1,
+ disableable => 1,
+ disabled_statuspos => 2,
&>
<& /elements/footer.html &>
'post_url' => popurl(1).'process/deploy_zone-fixed.html',
'viewall_dir' => 'browse',
'labels' => {
+ 'zonenum' => 'Deployment zone',
'description' => 'Description',
'agentnum' => 'Agent',
'dbaname' => 'Business name (if different from agent)',
'cir_speed_down' => 'Downstream',
'is_consumer' => 'Consumer/mass market',
'is_business' => 'Business/government',
+ 'disabled' => 'Disabled',
'blocknum' => '',
'active_date' => 'Active since',
'file' => 'Import blocks from text file',
$cgi->param('active_date') || $object->active_date || time;
},
},
+ { field => 'expire_date',
+ type => 'hidden',
+ },
{ field => 'agentnum',
type => 'select-agent',
disable_empty => 1,
},
{ field => 'is_consumer', type => 'checkbox', value=>'Y' },
{ field => 'is_business', type => 'checkbox', value=>'Y' },
+ { field => 'disabled', type=>'checkbox', value=>'Y', },
{ type => 'tablebreak-tr-title',
value => 'Advertised maximum speed (Mbps)' },
'adv_speed_down',