add svc_domain.quota, RT#30832
authorIvan Kohler <ivan@freeside.biz>
Thu, 13 Nov 2014 03:24:15 +0000 (19:24 -0800)
committerIvan Kohler <ivan@freeside.biz>
Thu, 13 Nov 2014 03:24:15 +0000 (19:24 -0800)
FS/FS/Schema.pm
FS/FS/svc_domain.pm
httemplate/edit/svc_domain.cgi
httemplate/edit/svc_domain/communigate-basics.html
httemplate/view/svc_domain/basics.html

index cb5fb85..363802d 100644 (file)
@@ -2544,20 +2544,27 @@ sub tables_hashref {
        'suffix',       'varchar', 'NULL',  $char_d, '', '',
         'catchall',         'int', 'NULL',       '', '', '',
        'parent_svcnum',    'int', 'NULL',       '', '', '',
+        'quota',        'varchar', 'NULL',  $char_d, '', '', 
+
+        #registration info
        'registrarnum',     'int', 'NULL',       '', '', '',
        'registrarkey', 'varchar', 'NULL',      512, '', '',
        'setup_date',      @date_type, '', '',
        'renewal_interval', 'int', 'NULL',       '', '', '',
        'expiration_date', @date_type, '', '',
+
+        #some weird shit australia-specific shit?  yuck.. seems totally unused
        'au_registrant_name',       'varchar', 'NULL',  $char_d, '', '',
        'au_eligibility_type',      'varchar', 'NULL',  $char_d, '', '',
+
         #communigate pro fields (quota = MaxAccountSize)
         'max_accounts',     'int', 'NULL',       '', '', '',
         'trailer',         'text', 'NULL',       '', '', '',
         'cgp_aliases',  'varchar', 'NULL',      255, '', '',
         'cgp_accessmodes','varchar','NULL',     255, '', '', #DomainAccessModes
         'cgp_certificatetype','varchar','NULL', $char_d, '', '',
-        #settings
+
+        #(account default) settings
         'acct_def_password_selfchange',   'char', 'NULL',       1,  '', '', 
         'acct_def_password_recover',      'char', 'NULL',       1, 'Y', '', 
         'acct_def_cgp_accessmodes',    'varchar', 'NULL',     255,  '', '',
@@ -2570,7 +2577,8 @@ sub tables_hashref {
         'acct_def_cgp_mailtoall',         'char', 'NULL',       1,  '', '', 
         'acct_def_cgp_addmailtrailer',    'char', 'NULL',       1,  '', '', 
         'acct_def_cgp_archiveafter',       'int', 'NULL',      '',  '', '',
-        #preferences
+
+        #(account default) 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,  '', '',
index 9466b33..b01d673 100644 (file)
@@ -67,25 +67,43 @@ FS::svc_Common.  The following fields are currently supported:
 
 =over 4
 
-=item svcnum - primary key (assigned automatically for new accounts)
+=item svcnum
+
+primary key (assigned automatically for new accounts)
 
 =item domain
 
-=item catchall - optional svcnum of an svc_acct record, designating an email catchall account.
+=item catchall
+
+optional svcnum of an svc_acct record, designating an email catchall account.
+
+=item suffix
+
+=item parent_svcnum
+
+=item quota
+
+Storage limit
 
-=item suffix - 
+=item registrarnum
 
-=item parent_svcnum -
+Registrar (see L<FS::registrar>)
 
-=item registrarnum - Registrar (see L<FS::registrar>)
+=item registrarkey
 
-=item registrarkey - Registrar key or password for this domain
+Registrar key or password for this domain
 
-=item setup_date - UNIX timestamp
+=item setup_date
 
-=item renewal_interval - Number of days before expiration date to start renewal
+UNIX timestamp
 
-=item expiration_date - UNIX timestamp
+=item renewal_interval
+
+Number of days before expiration date to start renewal
+
+=item expiration_date
+
+UNIX timestamp
 
 =item max_accounts
 
@@ -139,6 +157,11 @@ sub table_info {
       'max_accounts' => { label => 'Maximum number of accounts',
                           'disable_inventory' => 1,
                         },
+      'quota'     => { 
+                         label => 'Quota', #storage limit
+                         type  => 'text',
+                         disable_inventory => 1,
+                     },
       'cgp_aliases' => { 
                          label => 'Communigate aliases',
                          type  => 'text',
@@ -580,6 +603,7 @@ sub check {
               || $self->ut_textn('au_registrant_name')
               || $self->ut_numbern('catchall')
               || $self->ut_numbern('max_accounts')
+              || $self->ut_alphan('quota')
               || $self->ut_anything('trailer') #well
               || $self->ut_textn('cgp_aliases') #well
               || $self->ut_enum('acct_def_password_selfchange', [ '', 'Y' ])
index c3307fa..d1918e8 100755 (executable)
@@ -56,6 +56,17 @@ Available top-level domains: <% $export->option('tlds') %>
   </TD>
 </TR>
 
+% if ( $part_svc->part_svc_column('quota')->columnflag =~ /^[FA]$/ ) {
+    <INPUT TYPE="hidden" NAME="quota" VALUE="<% $svc_domain->quota %>">
+% } else {
+    <TR>
+      <TD ALIGN="right">Quota</TD>
+      <TD>
+        <INPUT TYPE="text" NAME="quota" SIZE=8 VALUE="<% $svc_domain->quota %>">
+      </TD>
+    </TR>
+% }
+
 <% include('svc_domain/communigate-basics.html',
              'svc_domain'  => $svc_domain,
              'part_svc'    => $part_svc,
index dbad35f..67f4428 100644 (file)
@@ -26,7 +26,7 @@
     <INPUT TYPE="hidden" NAME="cgp_aliases" VALUE="<% $svc_domain->cgp_aliases %>">
 % }
 
-% if ( $part_svc->part_svc_column('max_accounts')->columnflag =~ /^[FA]$/ ) {
+% if ( ! $communigate || $part_svc->part_svc_column('max_accounts')->columnflag =~ /^[FA]$/ ) {
     <INPUT TYPE="hidden" NAME="max_accounts" VALUE="<% $svc_domain->max_accounts %>">
 % } else {
     <TR>
index 71b7ca4..3c3c5a0 100644 (file)
@@ -63,6 +63,13 @@ Service #<B><% $svcnum %></B>
 
 % }
 
+% if ( $svc_domain->quota ) {
+  <TR>
+    <TD ALIGN="right">Quota</TD>
+    <TD BGCOLOR="#ffffff"><% $svc_domain->quota %></TD>
+  </TR>
+% }
+
 % if ( $communigate && $svc_domain->max_accounts ) {
   <TR>
     <TD ALIGN="right">Maximum number of Accounts</TD>