communigate (phase 2): rules. RT#7514
[freeside.git] / FS / FS / Schema.pm
index 64fb092..28f8264 100644 (file)
@@ -658,10 +658,11 @@ sub tables_hashref {
         'addlinfo', 'text', 'NULL', '', '', '',
         'closed',    'char', 'NULL', 1, '', '', 
         'pkgnum', 'int', 'NULL', '', '', '', #desired pkgnum for pkg-balances
+        'eventnum', 'int', 'NULL', '', '', '', #triggering event for commission
       ],
       'primary_key' => 'crednum',
       'unique' => [],
-      'index' => [ ['custnum'], ['_date'], ['usernum'] ],
+      'index' => [ ['custnum'], ['_date'], ['usernum'], ['eventnum'] ],
     },
 
     'cust_credit_bill' => {
@@ -1165,7 +1166,7 @@ sub tables_hashref {
         'pkgnum', 'int', 'NULL', '', '', '', #desired pkgnum for pkg-balances
         'void_date', @date_type, '', '', 
         'reason',    'varchar',   'NULL', $char_d, '', '', 
-        'otaker',   'varchar', '', 32, '', '', 
+        'otaker',   'varchar', 'NULL', 32, '', '', 
         'usernum',   'int', 'NULL', '', '', '',
       ],
       'primary_key' => 'paynum',
@@ -1659,16 +1660,31 @@ sub tables_hashref {
         'last_login',  @date_type, '', '', 
         'last_logout', @date_type, '', '', 
         #communigate pro fields (quota = MaxAccountSize)
+        'cgp_aliases',     'varchar', 'NULL',     255, '', '',
+        #settings
+        'cgp_type',        'varchar', 'NULL', $char_d, '', '', #AccountType
         'file_quota',      'varchar', 'NULL', $char_d, '', '', #MaxWebSize
         'file_maxnum',     'varchar', 'NULL', $char_d, '', '', #MaxWebFiles
         'file_maxsize',    'varchar', 'NULL', $char_d, '', '', #MaxFileSize
         'cgp_accessmodes', 'varchar', 'NULL',     255, '', '', #AccessModes
         'password_selfchange','char', 'NULL',       1, '', '', #PWDAllowed
-        'password_recover',   'char', 'NULL',       1, '', '', #PasswordRecovery
-        'cgp_type',        'varchar', 'NULL', $char_d, '', '', #AccountType
-        'cgp_aliases',     'varchar', 'NULL',     255, '', '',
-        'cgp_deletemode',  'varchar', 'NULL', $char_d, '', '', #DeleteMode
-        'cgp_emptytrash',  'varchar', 'NULL', $char_d, '', '', #EmptyTrash
+        'password_recover',   'char', 'NULL',       1, 'Y','', #PasswordRecovery
+        'cgp_rulesallowed','varchar', 'NULL', $char_d, '', '', #RulesAllowed
+        'cgp_rpopallowed',    'char', 'NULL',       1, '', '', #RPOPAllowed
+        'cgp_mailtoall',      'char', 'NULL',       1, '', '', #MailToAll
+        'cgp_addmailtrailer', 'char', 'NULL',       1, '', '', #AddMailTrailer
+        #XXX archive messages, mailing lists
+        #preferences
+        'cgp_deletemode',     'varchar', 'NULL', $char_d, '', '',#DeleteMode
+        'cgp_emptytrash',     'varchar', 'NULL', $char_d, '', '',#EmptyTrash
+        'cgp_language',       'varchar', 'NULL', $char_d, '', '',#Language
+        'cgp_timezone',       'varchar', 'NULL', $char_d, '', '',#TimeZone
+        'cgp_skinname',       'varchar', 'NULL', $char_d, '', '',#SkinName
+        'cgp_prontoskinname', 'varchar', 'NULL', $char_d, '', '',#ProntoSkinName
+        'cgp_sendmdnmode',    'varchar', 'NULL', $char_d, '', '',#SendMDNMode
+        #mail
+#vacation message, redirect all mail, mail rules
+        #XXX RPOP settings
       ],
       'primary_key' => 'svcnum',
       #'unique' => [ [ 'username', 'domsvc' ] ],
@@ -1714,17 +1730,32 @@ sub tables_hashref {
        'expiration_date', @date_type, '', '',
         #communigate pro fields (quota = MaxAccountSize)
         'max_accounts',     'int', 'NULL',       '', '', '',
+        'trailer',         'text', 'NULL',       '', '', '',
         'cgp_aliases',  'varchar', 'NULL',      255, '', '',
         'cgp_accessmodes','varchar','NULL',     255, '', '', #DomainAccessModes
-        'acct_def_password_selfchange','char', 'NULL',       1, '', '', 
-        'acct_def_password_recover',   'char', 'NULL',       1, '', '', 
-        'acct_def_cgp_accessmodes', 'varchar', 'NULL',     255, '', '',
-        'acct_def_quota',           'varchar', 'NULL', $char_d, '', '',
-        'acct_def_file_quota',      'varchar', 'NULL', $char_d, '', '',
-        'acct_def_file_maxnum',     'varchar', 'NULL', $char_d, '', '',
-        'acct_def_file_maxsize',    'varchar', 'NULL', $char_d, '', '',
-        'acct_def_cgp_deletemode',  'varchar', 'NULL', $char_d, '', '',
-        'acct_def_cgp_emptytrash',  'varchar', 'NULL', $char_d, '', '',
+        #settings
+        'acct_def_password_selfchange',   'char', 'NULL',       1,  '', '', 
+        'acct_def_password_recover',      'char', 'NULL',       1, 'Y', '', 
+        'acct_def_cgp_accessmodes',    'varchar', 'NULL',     255,  '', '',
+        'acct_def_quota',              'varchar', 'NULL', $char_d,  '', '',
+        'acct_def_file_quota',         'varchar', 'NULL', $char_d,  '', '',
+        'acct_def_file_maxnum',        'varchar', 'NULL', $char_d,  '', '',
+        'acct_def_file_maxsize',       'varchar', 'NULL', $char_d,  '', '',
+        'acct_def_cgp_rulesallowed',   'varchar', 'NULL', $char_d,  '', '',
+        'acct_def_cgp_rpopallowed',       'char', 'NULL',       1,  '', '', 
+        'acct_def_cgp_mailtoall',         'char', 'NULL',       1,  '', '', 
+        'acct_def_cgp_addmailtrailer',    'char', 'NULL',       1,  '', '', 
+        #XXX archive messages
+        #preferences
+        'acct_def_cgp_deletemode',     'varchar', 'NULL', $char_d,  '', '',
+        'acct_def_cgp_emptytrash',     'varchar', 'NULL', $char_d,  '', '',
+        'acct_def_cgp_language',       'varchar', 'NULL', $char_d,  '', '',
+        'acct_def_cgp_timezone',       'varchar', 'NULL', $char_d,  '', '',
+        'acct_def_cgp_skinname',       'varchar', 'NULL', $char_d,  '', '',
+        'acct_def_cgp_prontoskinname', 'varchar', 'NULL', $char_d,  '', '',
+        'acct_def_cgp_sendmdnmode',    'varchar', 'NULL', $char_d,  '', '',
+        #mail
+        #XXX rules, archive rule, spam foldering rule(s)
       ],
       'primary_key' => 'svcnum',
       'unique' => [ ],
@@ -1755,6 +1786,44 @@ sub tables_hashref {
       'index'       => [],
     },
 
+    'cgp_rule' => {
+      'columns' => [
+        'rulenum',  'serial',     '',      '', '', '',
+        'name',    'varchar',     '', $char_d, '', '',
+        'comment', 'varchar', 'NULL', $char_d, '', '',
+        'svcnum',      'int',     '',      '', '', '',
+        'priority',    'int',     '',      '', '', '',
+      ],
+      'primary_key' => 'rulenum',
+      'unique'      => [],
+      'index'       => [ [ 'svcnum' ] ],
+    },
+
+    'cgp_rule_condition' => {
+      'columns' => [
+        'ruleconditionnum',  'serial', '',      '', '', '',
+        'condition',        'varchar', '', $char_d, '', '',
+        'op',               'varchar', '', $char_d, '', '',
+        'params',           'varchar', '',     255, '', '',
+        'rulenum',              'int', '',      '', '', '',
+      ],
+      'primary_key' => 'ruleconditionnum',
+      'unique'      => [],
+      'index'       => [ [ 'rulenum' ] ],
+    },
+
+    'cgp_rule_action' => {
+       'columns' => [
+        'ruleactionnum',  'serial', '',      '', '', '',
+        'action',        'varchar', '', $char_d, '', '',
+        'params',        'varchar', '',     255, '', '',
+        'rulenum',           'int', '',      '', '', '',
+      ],
+      'primary_key' => 'ruleactionnum',
+      'unique'      => [],
+      'index'       => [ [ 'rulenum' ] ],
+   },
+
     'svc_forward' => {
       'columns' => [
         'svcnum',   'int',            '',   '', '', '',