X-Git-Url: http://git.freeside.biz/gitweb/?a=blobdiff_plain;f=FS%2FFS%2FSchema.pm;h=b8321618e65625e6d48650070acdbfd683b8286c;hb=e1c6b4af716fecad943bf282b50c0d459b986720;hp=efbaecd47608893458aa063cff9c9014a18c4a85;hpb=ddb0ff57880eeb2183b227592545f2619079d221;p=freeside.git diff --git a/FS/FS/Schema.pm b/FS/FS/Schema.pm index efbaecd47..b8321618e 100644 --- a/FS/FS/Schema.pm +++ b/FS/FS/Schema.pm @@ -204,7 +204,7 @@ sub dbdef_dist { my %h_indices = (); - unless ( $table eq 'cust_event' ) { #others? + unless ( $table eq 'cust_event' || $table eq 'cdr' ) { #others? my %indices = $tableobj->indices; @@ -761,6 +761,19 @@ sub tables_hashref { ], }, + 'cust_event_fee' => { + 'columns' => [ + 'eventfeenum', 'serial', '', '', '', '', + 'eventnum', 'int', '', '', '', '', + 'billpkgnum', 'int', 'NULL', '', '', '', + 'feepart', 'int', '', '', '', '', + 'nextbill', 'char', 'NULL', 1, '', '', + ], + 'primary_key' => 'eventfeenum', # I'd rather just use eventnum + 'unique' => [ [ 'billpkgnum' ], [ 'eventnum' ] ], # one-to-one link + 'index' => [ [ 'feepart' ] ], + }, + 'cust_bill_pkg' => { 'columns' => [ 'billpkgnum', 'serial', '', '', '', '', @@ -779,6 +792,7 @@ sub tables_hashref { 'unitsetup', @money_typen, '', '', 'unitrecur', @money_typen, '', '', 'hidden', 'char', 'NULL', 1, '', '', + 'feepart', 'int', 'NULL', '', '', '', ], 'primary_key' => 'billpkgnum', 'unique' => [], @@ -808,7 +822,7 @@ sub tables_hashref { 'cust_bill_pkg_display' => { 'columns' => [ - 'billpkgdisplaynum', 'serial', '', '', '', '', + 'billpkgdisplaynum', 'serial', '', '', '', '', 'billpkgnum', 'int', '', '', '', '', 'section', 'varchar', 'NULL', $char_d, '', '', #'unitsetup', @money_typen, '', '', #override the linked real one? @@ -822,6 +836,22 @@ sub tables_hashref { 'index' => [ ['billpkgnum'], ], }, + 'cust_bill_pkg_fee' => { + 'columns' => [ + 'billpkgfeenum', 'serial', '', '', '', '', + 'billpkgnum', 'int', '', '', '', '', + 'base_invnum', 'int', '', '', '', '', + 'base_billpkgnum', 'int', 'NULL', '', '', '', + 'amount', @money_type, '', '', + ], + 'primary_key' => 'billpkgfeenum', + 'unique' => [], + 'index' => [ ['billpkgnum'], + ['base_invnum'], + ['base_billpkgnum'], + ], + }, + 'cust_bill_pkg_tax_location' => { 'columns' => [ 'billpkgtaxlocationnum', 'serial', '', '', '', '', @@ -973,11 +1003,12 @@ sub tables_hashref { 'commission_agentnum', 'int', 'NULL', '', '', '', # 'commission_salesnum', 'int', 'NULL', '', '', '', # 'commission_pkgnum', 'int', 'NULL', '', '', '', # + 'credbatch', 'varchar', 'NULL', $char_d, '', '', ], 'primary_key' => 'crednum', 'unique' => [], 'index' => [ ['custnum'], ['_date'], ['usernum'], ['eventnum'], - [ 'commission_salesnum' ], + ['commission_salesnum'], ['credbatch'], ], }, @@ -1206,7 +1237,10 @@ sub tables_hashref { 'first', 'varchar', '', $char_d, '', '', 'title', 'varchar', 'NULL', $char_d, '', '', #eg Head Bottle Washer 'comment', 'varchar', 'NULL', 255, '', '', - 'disabled', 'char', 'NULL', 1, '', '', + 'selfservice_access', 'char', 'NULL', 1, '', '', + '_password', 'varchar', 'NULL', $char_d, '', '', + '_password_encoding', 'varchar', 'NULL', $char_d, '', '', + 'disabled', 'char', 'NULL', 1, '', '', ], 'primary_key' => 'contactnum', 'unique' => [], @@ -1248,7 +1282,8 @@ sub tables_hashref { 'emailaddress', 'varchar', '', $char_d, '', '', ], 'primary_key' => 'contactemailnum', - 'unique' => [ [ 'contactnum', 'emailaddress' ], ], + #'unique' => [ [ 'contactnum', 'emailaddress' ], ], + 'unique' => [ [ 'emailaddress' ], ], 'index' => [], }, @@ -1356,6 +1391,21 @@ sub tables_hashref { 'index' => [ ['custnum'], ], }, + 'cust_main_credit_limit' => { + 'columns' => [ + 'creditlimitnum', 'serial', '', '', '', '', + 'custnum', 'int', '', '', '', '', + '_date', @date_type, '', '', + 'amount', @money_typen, '', '', + #'amount_currency', 'char', 'NULL', 3, '', '', + 'credit_limit', @money_typen, '', '', + #'credit_limit_currency', 'char', 'NULL', 3, '', '', + ], + 'primary_key' => 'creditlimitnum', + 'unique' => [], + 'index' => [ ['custnum'], ], + }, + 'cust_main_note' => { 'columns' => [ 'notenum', 'serial', '', '', '', '', @@ -1939,6 +1989,7 @@ sub tables_hashref { 'columns' => [ 'discountnum', 'serial', '', '', '', '', #'agentnum', 'int', 'NULL', '', '', '', + 'classnum', 'int', 'NULL', '', '', '', 'name', 'varchar', 'NULL', $char_d, '', '', 'amount', @money_type, '', '', 'percent', 'decimal', '', '7,4', '', '', @@ -1952,6 +2003,18 @@ sub tables_hashref { 'index' => [], # [ 'agentnum' ], ], }, + 'discount_class' => { + 'columns' => [ + 'classnum', 'serial', '', '', '', '', + 'classname', 'varchar', '', $char_d, '', '', + #'categorynum', 'int', 'NULL', '', '', '', + 'disabled', 'char', 'NULL', 1, '', '', + ], + 'primary_key' => 'classnum', + 'unique' => [], + 'index' => [ ['disabled'] ], + }, + 'cust_refund' => { 'columns' => [ 'refundnum', 'serial', '', '', '', '', @@ -2046,7 +2109,7 @@ sub tables_hashref { 'columns' => [ 'pkgpart', 'serial', '', '', '', '', 'pkg', 'varchar', '', $char_d, '', '', - 'comment', 'varchar', '', 2*$char_d, '', '', + 'comment', 'varchar', 'NULL', 2*$char_d, '', '', 'promo_code', 'varchar', 'NULL', $char_d, '', '', 'freq', 'varchar', '', $char_d, '', '', #billing frequency 'setuptax', 'char', 'NULL', 1, '', '', @@ -2092,6 +2155,59 @@ sub tables_hashref { 'index' => [], }, + 'part_fee' => { + 'columns' => [ + 'feepart', 'serial', '', '', '', '', + 'itemdesc', 'varchar', '', $char_d, '', '', + 'comment', 'varchar', 'NULL', 2*$char_d, '', '', + 'disabled', 'char', 'NULL', 1, '', '', + 'classnum', 'int', 'NULL', '', '', '', + 'taxclass', 'varchar', 'NULL', $char_d, '', '', + 'taxproductnum', 'int', 'NULL', '', '', '', + 'pay_weight', 'real', 'NULL', '', '', '', + 'credit_weight', 'real', 'NULL', '', '', '', + 'agentnum', 'int', 'NULL', '', '', '', + 'amount', @money_type, '', '', + 'percent', 'decimal', '', '7,4', '', '', + 'basis', 'varchar', '', 16, '', '', + 'minimum', @money_typen, '', '', + 'maximum', @money_typen, '', '', + 'limit_credit', 'char', 'NULL', 1, '', '', + 'setuprecur', 'char', '', 5, '', '', + 'taxable', 'char', 'NULL', 1, '', '', + ], + 'primary_key' => 'feepart', + 'unique' => [], + 'index' => [ [ 'disabled' ], [ 'classnum' ], [ 'agentnum' ] + ], + }, + + 'part_fee_msgcat' => { + 'columns' => [ + 'feepartmsgnum', 'serial', '', '', '', '', + 'feepart', 'int', '', '', '', '', + 'locale', 'varchar', '', 16, '', '', + 'itemdesc', 'varchar', '', $char_d, '', '', #longer/no limit? + 'comment', 'varchar', 'NULL', 2*$char_d, '', '', #longer/no limit? + ], + 'primary_key' => 'feepartmsgnum', + 'unique' => [ [ 'feepart', 'locale' ] ], + 'index' => [], + }, + + 'part_fee_usage' => { + 'columns' => [ + 'feepartusagenum','serial', '', '', '', '', + 'feepart', 'int', '', '', '', '', + 'classnum', 'int', '', '', '', '', + 'amount', @money_type, '', '', + 'percent', 'decimal', '', '7,4', '', '', + ], + 'primary_key' => 'feepartusagenum', + 'unique' => [ [ 'feepart', 'classnum' ] ], + 'index' => [], + }, + 'part_pkg_link' => { 'columns' => [ 'pkglinknum', 'serial', '', '', '', '', @@ -2975,6 +3091,18 @@ sub tables_hashref { 'index' => [], }, + 'addr_range' => { + 'columns' => [ + 'rangenum', 'serial', '', '', '', '', + 'start', 'varchar', '', 15, '', '', + 'length', 'int', '', '', '', '', + 'status', 'varchar', 'NULL', 32, '', '', + ], + 'primary_key' => 'rangenum', + 'unique' => [], + 'index' => [], + }, + 'svc_broadband' => { 'columns' => [ 'svcnum', 'int', '', '', '', '', @@ -3007,14 +3135,17 @@ sub tables_hashref { 'tower' => { 'columns' => [ - 'towernum', 'serial', '', '', '', '', - #'agentnum', 'int', 'NULL', '', '', '', - 'towername', 'varchar', '', $char_d, '', '', - 'disabled', 'char', 'NULL', 1, '', '', - 'latitude', 'decimal', 'NULL', '10,7', '', '', - 'longitude','decimal', 'NULL', '10,7', '', '', - 'altitude', 'decimal', 'NULL', '', '', '', - 'coord_auto', 'char', 'NULL', 1, '', '', + 'towernum', 'serial', '', '', '', '', + #'agentnum', 'int', 'NULL', '', '', '', + 'towername', 'varchar', '', $char_d, '', '', + 'disabled', 'char', 'NULL', 1, '', '', + 'latitude', 'decimal', 'NULL', '10,7', '', '', + 'longitude', 'decimal', 'NULL', '10,7', '', '', + 'coord_auto', 'char', 'NULL', 1, '', '', + 'altitude', 'decimal', 'NULL', '', '', '', + 'height', 'decimal', 'NULL', '', '', '', + 'veg_height', 'decimal', 'NULL', '', '', '', + 'color', 'varchar', 'NULL', 6, '', '', ], 'primary_key' => 'towernum', 'unique' => [ [ 'towername' ] ], # , 'agentnum' ] ], @@ -3027,6 +3158,12 @@ sub tables_hashref { 'towernum', 'int', '', '', '', '', 'sectorname', 'varchar', '', $char_d, '', '', 'ip_addr', 'varchar', 'NULL', 15, '', '', + 'height', 'decimal', 'NULL', '', '', '', + 'freq_mhz', 'int', 'NULL', '', '', '', + 'direction', 'int', 'NULL', '', '', '', + 'width', 'int', 'NULL', '', '', '', + #downtilt etc? rfpath has profile files for devices/antennas you upload? + 'range', 'decimal', 'NULL', '', '', '', #? ], 'primary_key' => 'sectornum', 'unique' => [ [ 'towernum', 'sectorname' ], [ 'ip_addr' ], ], @@ -3439,7 +3576,7 @@ sub tables_hashref { #currently only u4: # terminating number (as opposed to dialed destination) - 'dst_term', 'varchar', '', $char_d, \"''", '', + 'dst_term', 'varchar', 'NULL', $char_d, '', '', #these don't seem to be logged by most of the SQL cdr_* modules #except tds under sql-illegal names, so; @@ -3666,13 +3803,14 @@ sub tables_hashref { 'access_user' => { 'columns' => [ - 'usernum', 'serial', '', '', '', '', - 'username', 'varchar', '', $char_d, '', '', - '_password', 'varchar', '', $char_d, '', '', - 'last', 'varchar', '', $char_d, '', '', - 'first', 'varchar', '', $char_d, '', '', - 'user_custnum', 'int', 'NULL', '', '', '', - 'disabled', 'char', 'NULL', 1, '', '', + 'usernum', 'serial', '', '', '', '', + 'username', 'varchar', '', $char_d, '', '', + '_password', 'varchar', '', $char_d, '', '', + 'last', 'varchar', '', $char_d, '', '', + 'first', 'varchar', '', $char_d, '', '', + 'user_custnum', 'int', 'NULL', '', '', '', + 'report_salesnum', 'int', 'NULL', '', '', '', + 'disabled', 'char', 'NULL', 1, '', '', ], 'primary_key' => 'usernum', 'unique' => [ [ 'username' ] ], @@ -3956,6 +4094,25 @@ sub tables_hashref { 'index' => [ [ 'id' ] ], }, + 'pbx_extension' => { + 'columns' => [ + 'extensionnum', 'serial', '', '', '', '', + 'svcnum', 'int', '', '', '', '', + 'extension', 'varchar', '', $char_d, '', '', + 'pin', 'varchar', 'NULL', $char_d, '', '', + 'sip_password', 'varchar', 'NULL', $char_d, '', '', + 'phone_name', 'varchar', 'NULL', $char_d, '', '', + ], + 'primary_key' => 'extensionnum', + 'unique' => [ [ 'svcnum', 'extension' ] ], + 'index' => [ [ 'svcnum' ] ], + 'foreign_keys' => [ + { columns => [ 'svcnum' ], + table => 'svc_pbx', + }, + ], + }, + 'svc_mailinglist' => { #svc_group? 'columns' => [ 'svcnum', 'int', '', '', '', '', @@ -4131,7 +4288,7 @@ sub tables_hashref { 'statustext', 'varchar', 'NULL', $char_d, '', '', ], 'primary_key' => 'upgradenum', - 'unique' => [ [ 'upgradenum' ] ], + 'unique' => [], 'index' => [ [ 'upgrade' ] ], }, @@ -4182,19 +4339,56 @@ sub tables_hashref { 'svc_alarm' => { 'columns' => [ 'svcnum', 'int', '', '', '', '', - 'alarm_system', 'varchar', '', $char_d, '', '', # dropdowns? - 'alarm_type', 'varchar', '', $char_d, '', '', # + 'alarmsystemnum', 'int', '', '', '', '', + 'alarmtypenum', 'int', '', '', '', '', + 'alarmstationnum', 'int', '', '', '', '', 'acctnum', 'varchar', '', $char_d, '', '', '_password', 'varchar', '', $char_d, '', '', 'location', 'varchar', 'NULL', $char_d, '', '', - #cs - #rep + #installer (rep) ], 'primary_key' => 'svcnum', - 'unique' => [], #system/type/acctnum?? + 'unique' => [], 'index' => [], }, + 'alarm_system' => { #vendors + 'columns' => [ + 'alarmsystemnum', 'serial', '', '', '', '', + 'agentnum', 'int', 'NULL', '', '', '', + 'systemname', 'varchar', '', $char_d, '', '', + 'disabled', 'char', 'NULL', 1, '', '', + ], + 'primary_key' => 'alarmsystemnum', + 'unique' => [ ['agentnum', 'systemname'] ], + 'index' => [ ['agentnum'], ['disabled'] ], + }, + + 'alarm_type' => { #inputs and outputs + 'columns' => [ + 'alarmtypenum', 'serial', '', '', '', '', + 'agentnum', 'int', 'NULL', '', '', '', + 'inputs', 'int', '', '', '', '', + 'outputs', 'int', '', '', '', '', + 'disabled', 'char', 'NULL', 1, '', '', + ], + 'primary_key' => 'alarmtypenum', + 'unique' => [ ['agentnum', 'inputs', 'outputs'] ], + 'index' => [ ['agentnum'], ['disabled'] ], + }, + + 'alarm_station' => { #central station (where the alarm reports to) + 'columns' => [ + 'alarmstationnum', 'serial', '', '', '', '', + 'agentnum', 'int', 'NULL', '', '', '', + 'stationname', 'varchar', '', $char_d, '', '', + 'disabled', 'char', 'NULL', 1, '', '', + ], + 'primary_key' => 'alarmstationnum', + 'unique' => [ ['agentnum', 'stationname'], ], + 'index' => [ ['agentnum'], ['disabled'] ], + }, + 'svc_cable' => { 'columns' => [ 'svcnum', 'int', '', '', '', '', @@ -4281,21 +4475,9 @@ sub tables_hashref { 'latexnotes', 'text', 'NULL', '', '', '', 'latexfooter', 'text', 'NULL', '', '', '', 'latexsummary', 'text', 'NULL', '', '', '', - 'latexcoupon', 'text', 'NULL', '', '', '', 'latexsmallfooter', 'text', 'NULL', '', '', '', 'latexreturnaddress', 'text', 'NULL', '', '', '', - 'latextopmargin', 'varchar', 'NULL', 16, '', '', - 'latexheadsep', 'varchar', 'NULL', 16, '', '', - 'latexaddresssep', 'varchar', 'NULL', 16, '', '', - 'latextextheight', 'varchar', 'NULL', 16, '', '', - 'latexextracouponspace','varchar', 'NULL', 16, '', '', - 'latexcouponfootsep', 'varchar', 'NULL', 16, '', '', - 'latexcouponamountenclosedsep', 'varchar', 'NULL', 16, '', '', - 'latexcoupontoaddresssep', 'varchar', 'NULL', 16, '', '', - 'latexverticalreturnaddress', 'char', 'NULL', 1, '', '', - 'latexcouponaddcompanytoaddress', 'char', 'NULL', 1, '', '', - 'logo_png', 'blob', 'NULL', '', '', '', - 'logo_eps', 'blob', 'NULL', '', '', '', + 'with_latexcoupon', 'char', 'NULL', '1', '', '', 'lpr', 'varchar', 'NULL', $char_d, '', '', ], 'primary_key' => 'confnum',