From: Mitch Jackson Date: Tue, 19 Dec 2017 19:09:13 +0000 (-0600) Subject: rt# 74031 implementing svc_realestate X-Git-Url: http://git.freeside.biz/gitweb/?a=commitdiff_plain;h=efa77ef0e8309528eb3b613a5b28d173f765b6c3;p=freeside.git rt# 74031 implementing svc_realestate - updated schema - updated includes - begin writing FS::svc_realestate.pm - progress adding a "Real estate unit" selection to provision a real estate service --- diff --git a/FS/FS/Mason.pm b/FS/FS/Mason.pm index 068f5b6c0..cbfeca020 100644 --- a/FS/FS/Mason.pm +++ b/FS/FS/Mason.pm @@ -223,8 +223,6 @@ if ( -e $addl_handler_use_file ) { use FS::cdr_batch; use FS::inventory_class; use FS::inventory_item; - use FS::realestate_location; - use FS::realestate_unit; use FS::pkg_category; use FS::pkg_class; use FS::access_user; @@ -422,6 +420,9 @@ if ( -e $addl_handler_use_file ) { use FS::commission_rate; use FS::saved_search; use FS::sector_coverage; + use FS::realestate_location; + use FS::realestate_unit; + use FS::svc_realestate; # Sammath Naur if ( $FS::Mason::addl_handler_use ) { diff --git a/FS/FS/Schema.pm b/FS/FS/Schema.pm index e1301b6ca..f2817f5cb 100644 --- a/FS/FS/Schema.pm +++ b/FS/FS/Schema.pm @@ -7652,7 +7652,7 @@ sub tables_hashref { ['custnum'], ['realestatelocnum'], ['disabled'], - ['title'] + ['unit_title'] ], 'foreign_keys' => [ {columns => ['agentnum'], table => 'agent'}, @@ -7681,6 +7681,16 @@ sub tables_hashref { ], }, + svc_realestate => { + columns => [ + 'svcnum', 'serial', '', '', '', '', + 'description', 'varchar', 'NULL', $char_d, '', '', + 'property', 'varchar', 'NULL', $char_d, '', '', + ], + primary_key => 'svcnum', + index => [], + }, + # name type nullability length default local #'new_table' => { diff --git a/FS/FS/h_svc_realestate.pm b/FS/FS/h_svc_realestate.pm new file mode 100644 index 000000000..55f6edf60 --- /dev/null +++ b/FS/FS/h_svc_realestate.pm @@ -0,0 +1,31 @@ +package FS::h_svc_realestate; + +use strict; +use vars qw( @ISA ); +use FS::h_Common; + + +@ISA = qw( FS::h_Common ); + +sub table { 'h_svc_realestate' }; + +=head1 NAME + +FS::h_svc_circuit - Historical telecom circuit service objects + +=head1 SYNOPSIS + +=head1 DESCRIPTION + +An FS::h_svc_realestate object + +=head1 BUGS + +=head1 SEE ALSO + +L, L, L, schema.html from the base +documentation. + +=cut + +1; diff --git a/FS/FS/part_svc_column.pm b/FS/FS/part_svc_column.pm index 75a2dfb1a..7d6e57c85 100644 --- a/FS/FS/part_svc_column.pm +++ b/FS/FS/part_svc_column.pm @@ -97,7 +97,7 @@ sub check { ; return $error if $error; - $self->columnflag =~ /^([DFSMAHX]?)$/ + $self->columnflag =~ /^([DFSMAHXR]?)$/ or return "illegal columnflag ". $self->columnflag; $self->columnflag(uc($1)); @@ -133,4 +133,3 @@ schema.html from the base documentation. =cut 1; - diff --git a/FS/FS/svc_realestate.pm b/FS/FS/svc_realestate.pm new file mode 100644 index 000000000..27012d047 --- /dev/null +++ b/FS/FS/svc_realestate.pm @@ -0,0 +1,99 @@ +package FS::svc_realestate; +use base qw(FS::svc_Common); + +use strict; +use warnings; +use vars qw($conf); + +use FS::Record qw(qsearchs qsearch dbh); + +$FS::UID::callback{'FS::svc_realestate'} = sub { + $conf = new FS::Conf; +}; + +=head1 NAME + +FS::svc_realestate - Object methods for svc_realestate records + +=head1 SYNOPSIS + + {...} TODO + +=head1 DESCRIPTION + +A FS::svc_realestate object represents a billable real estate trasnaction, +such as renting a home or office. + +FS::svc_realestate inherits from FS::svc_Common. The following fields are +currently supported: + +=over 4 + +=item svcnum - primary key + +=back + +=head1 METHODS + +=over 4 + +=item new HASHREF + +Instantiates a new svc_realestate object. + +=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', + description => 'Descriptive label', + property => 'Real estate property', + }, +}} + +sub table {'svc_realestate'}; + +=item search_sql + +I have an unfounded suspicion this method serves no purpose in this context + +=cut + +sub search_sql {die "search_sql called on FS::svc_realestate"} + +=item insert + +Adds this record to the database. If there is an error, returns the error, +otherwise returns false. + +=item delete + +Delete this record from the database. + +=item replace OLD_RECORD + +Replaces the OLD_RECORD with this one in the database. If there is an error, +returns the error, otherwise returns false. + +=item check + +Checks all fields to make sure this is a valid record. If there is +an error, returns the error, otherwise returns false. Called by the insert +and replace methods. + +=back 4 + +=head1 BUGS + +=head1 SEE ALSO + +L, schema.html from the base documentation. + +=cut + +1; diff --git a/httemplate/docs/part_svc-table.html b/httemplate/docs/part_svc-table.html index 820d0b9cc..56a4d0e8c 100644 --- a/httemplate/docs/part_svc-table.html +++ b/httemplate/docs/part_svc-table.html @@ -39,6 +39,7 @@ Hosting Colocation + Real Estate
    @@ -54,6 +55,11 @@
  • svc_port: Customer router/switch port
+ +
    +
  • svc_realestate: Real estate properties +
+