'realestate_unit' => {
'columns' => [
'realestatenum', 'serial', '', '', '', '',
- 'realestatelocnum', 'int', '', '', '', '',
+ 'realestatelocnum', 'int', '', '', '', '',
'agentnum', 'int', 'NULL', '', '', '',
'custnum', 'int', 'NULL', '', '', '',
+ 'pkgnum', 'int', 'NULL', '', '', '',
'unit_title', 'varchar', '', $char_d, '', '',
'disabled', 'char', 'NULL', 1, '', '',
],
['custnum'],
['realestatelocnum'],
['disabled'],
- ['unit_title']
+ ['unit_title'],
+ ['pkgnum',]
],
'foreign_keys' => [
{columns => ['agentnum'], table => 'agent'},
use vars qw($conf);
use FS::Record qw(qsearchs qsearch dbh);
+use Tie::IxHash;
$FS::UID::callback{'FS::svc_realestate'} = sub {
$conf = new FS::Conf;
=cut
-sub table_info {{
- name => 'Real estate',
- name_plural => 'Real estate services',
- longname_plural => 'Real estate services',
- display_weight => 100,
- cancel_weight => 100,
- fields => {
- svcnum => 'Service',
+sub table_info {
+ tie my %fields, 'Tie::IxHash',
+ svc_num => 'Service',
description => 'Descriptive label',
- property => 'Real estate property',
- },
-}}
+ property => 'Real estate property';
+
+ {
+ name => 'Real estate',
+ name_plural => 'Real estate services',
+ longname_plural => 'Real estate services',
+ display_weight => 100,
+ cancel_weight => 100,
+ fields => \%fields,
+ };
+}
sub table {'svc_realestate'};
+# todo- In what context is this called? Mimic stub behavior w/o the warning
+sub label { $_[0]->svcnum }
+
=item search_sql
I have an unfounded suspicion this method serves no purpose in this context
$f->{options} = [ split( /\s*,\s*/,
$columndef->columnvalue)
];
- } # shouldn't this be enforced for all 'S' fields?
+ } elsif ( $flag eq 'R' ) { # Real Estate Unit Inventory
+ $f->{type} = 'select-realestate_unit';
+ }
if ( $f->{'type'} =~ /^select-svc/ )
{
--- /dev/null
+<%doc>
+
+Display a pair of select boxes for provisioning a realestate_unit
+- Real Estate Location
+- Real Estate Unit
+
+</%doc>
+<& tr-td-label.html, %opt &>
+<td>
+<& select-tiered.html,
+ 'tiers' => [
+ {
+ # (todo) need to filter out locations where all units are assigned
+ field => 'realestate_location',
+ table => 'realestate_location',
+ #extra_sql => "WHERE $classnum_sql",
+ name_col => 'location_title',
+ empty_label => '(all)',
+ },
+ {
+ field => 'realestate_unit',
+ table => 'realestate_unit',
+ name_col => 'unit_title',
+ value_col => 'realestatenum',
+ link_col => 'realestatelocnum',
+ #extra_sql => delete($opt{'extra_sql'}),
+ # Need to add a filter to filter-out assigned units (todo)
+ disable_empty => 1,
+ },
+ ],
+ %opt,
+ 'prefix' => $opt{'prefix'}. $opt{'field'}. '_', #after %opt so it overrides
+&>
+</td>
+</tr>
+<%init>
+
+my %opt = @_;
+
+</%init>