Jelajahi Sumber

Initial parameters handling (total users / total blocked). Frontend part. TODO: backend part

Dima Malishev 14 tahun lalu
induk
melakukan
d9c7dba5f1
7 mengubah file dengan 46 tambahan dan 31 penghapusan
  1. 11 18
      web/index.html
  2. 14 6
      web/js/helpers.js
  3. 1 1
      web/js/html.js
  4. 1 1
      web/js/pages.js
  5. 3 3
      web/js/templates.js
  6. 1 1
      web/js/validators.js
  7. 15 1
      web/vesta/api/MAIN.class.php

+ 11 - 18
web/index.html

@@ -53,7 +53,6 @@
                         <h1 class="logo"><a href="#">Vesta panel <span>&nbsp;</span></a></h1>
                     </div>            
                     <ul class="settings">
-
                         <li><a href="#">settings</a></li>
                         <li><a href="#">exit</a></li>
                     </ul>            
@@ -68,8 +67,8 @@
                                                 <i class="add-entry do_action_new_entry">&nbsp;</i>
                                         </dt>
                                         <dd class="section-contains">
-                                                <span class="def">0 users</span>
-                                                <span class="def">0 blocked</span>
+                                                <span class="def"><span class="num-total">0</span> users</span>
+                                                <span class="def"><span class="num-blocked">0</span> blocked</span>
                                         </dd>
                                     </dl>
                             </div>
@@ -84,9 +83,8 @@
                                                 <i class="add-entry do_action_new_entry">&nbsp;</i>
                                         </dt>
                                         <dd class="section-contains">
-                                                <span class="def">0 users</span>
-                                                <span class="def">0 blocked</span>
-                                                <span class="def">3 waiting</span>
+                                               <span class="def"><span class="num-total">0</span> web domains</span>
+                                               <span class="def"><span class="num-blocked">0</span> blocked</span>
                                         </dd>
                                     </dl>
                             </div>
@@ -99,9 +97,7 @@
                                                 <i class="add-entry do_action_new_entry">&nbsp;</i>
                                         </dt>
                                         <dd class="section-contains">
-                                                <span class="def">0 users</span>
-                                                <span class="def">0 blocked</span>
-                                                <span class="def">3 waiting</span>
+                                               <span class="def"><span class="num-total">0</span> mails</span>                                               
                                         </dd>
                                     </dl>
                             </div>
@@ -114,9 +110,8 @@
                                                 <i class="add-entry do_action_new_entry">&nbsp;</i>
                                         </dt>
                                         <dd class="section-contains">
-                                                <span class="def">0 users</span>
-                                                <span class="def">0 blocked</span>
-                                                <span class="def">3 waiting</span>
+                                               <span class="def"><span class="num-total">0</span> databases</span>
+                                               <span class="def"><span class="num-blocked">0</span> blocked</span>
                                         </dd>
                                     </dl>
                             </div>
@@ -142,9 +137,8 @@
                                                 <i class="add-entry do_action_new_entry">&nbsp;</i>
                                         </dt>
                                         <dd class="section-contains">
-                                                <span class="def">0 users</span>
-                                                <span class="def">0 blocked</span>
-                                                <span class="def">3 waiting</span>
+                                               <span class="def"><span class="num-total">0</span> ip entries</span>
+                                               <span class="def"><span class="num-blocked">0</span> blocked</span>
                                         </dd>
                                     </dl>
                             </div>
@@ -157,9 +151,8 @@
                                                 <i class="add-entry do_action_new_entry">&nbsp;</i>
                                         </dt>
                                         <dd class="section-contains">
-                                                <span class="def">0 users</span>
-                                                <span class="def">0 blocked</span>
-                                                <span class="def">3 waiting</span>
+                                               <span class="def"><span class="num-total">0</span> cron records</span>
+                                               <span class="def"><span class="num-blocked">0</span> blocked</span>
                                         </dd>
                                     </dl>
                             </div>

+ 14 - 6
web/js/helpers.js

@@ -70,13 +70,21 @@ App.Helpers.getFirstKey = function(obj)
 App.Helpers.updateInitial = function()
 {
     // TODO: need api method
-    $.each(App.Env.initialParams, function(key) {
-        var item = App.Env.initialParams[key];
-        $.each(item, function (i, o) {
-            if (i.indexOf('total_') != -1) {
-                App.View.updateInitialInfo(i, o);
+    $.each(App.Env.initialParams.totals, function(key) {
+        var item = App.Env.initialParams.totals[key];
+        var expr_id = '#'+key;
+        if ('undefined' != typeof item.total) {
+            var ref = $(expr_id).find('.num-total');
+            if (ref.length > 0) {
+                $(ref).html(item.total);
             }
-        });
+        }
+        if ('undefined' != typeof item.blocked) {            
+            var ref = $(expr_id).find('.num-blocked');
+            if (ref.length > 0) {
+                $(ref).html(item.blocked);
+            }
+        }        
     });
 }
 

+ 1 - 1
web/js/html.js

@@ -366,7 +366,7 @@ App.HTML.Build.cron_form = function(options, id)
     }
     var tpl = App.Templates.get('FORM', 'cron');
     tpl.set(':source', options);
-
+    tpl.set(':id', id || '');
     options = App.Helpers.evalJSON(options) || {};
     if (App.Helpers.isEmpty(options)) {
        tpl.set(':title', 'New cron entry'); 

+ 1 - 1
web/js/pages.js

@@ -1,7 +1,7 @@
 App.Pages.init = function(){
     App.Ajax.request('MAIN.getInitial', {}, function(reply){
         App.Env.initialParams = reply.data;
-        //App.Helpers.updateInitial();
+        App.Helpers.updateInitial();
     });
         
     App.Pages.prepareHTML();

+ 3 - 3
web/js/templates.js

@@ -763,7 +763,7 @@ App.Templates.html = {
 					</div>']
     },
     cron: {
-        FORM: ['<div class="b-new-entry b-new-entry_cron">\
+        FORM: ['<div class="b-new-entry b-new-entry_cron" id="~!:id~!" >\
 						<input type="hidden" name="source" class="source" value=\'~!:source~!\'>\
                         <input type="hidden" name="target" class="target" value=\'\'>\
                         <div class="entry-header">~!:title~!</div>\
@@ -810,10 +810,10 @@ App.Templates.html = {
 						</div>\
 						<div class="form-row cc">\
 							<label for="#" class="field-label">report to: <span class="remark">(devide by comma ",")</span></label>\
-							<textarea class="textarea"></textarea>\
+							<textarea class="textarea" name="REPORT_TO"></textarea>\
 						</div>\
 						<div class="form-row buttons-row cc">\
-							<input type="submit" value="~!:save_button~!" class="add-entry-btn">\
+							<input type="submit" value="~!:save_button~!" class="add-entry-btn do_action_save_form">\
 							<span class="cancel-btn do_action_cancel_form">Cancel</span>\
 							<a target="_blank" href="http://vestacp.com/docs/cron/" class="help-btn">Help</a>\
 						</div>\

+ 1 - 1
web/js/validators.js

@@ -26,7 +26,7 @@ App.Validate.form = function(world, elm)
         }
         else {
         
-            if ($(field).val().trim() == '') {
+            if ($(field).val().trim() == '' || $(field).val().trim() == '-') {
                 App.Env.FormError.push($(field).attr('name') + ' is required');
                 form_valid = false;
             }

+ 15 - 1
web/vesta/api/MAIN.class.php

@@ -71,7 +71,8 @@ class MAIN extends AjaxHandler
                     'IP'         => $this->getIpParams($data_ip),
                     'DNS'        => $this->getDnsParams(),
                     'DB'         => $this->getDbParams($data_db),
-                    'USERS'      => $this->getUsersParams($data_users)
+                    'USERS'      => $this->getUsersParams($data_users),
+                    'totals'     => $this->getTotals()
                 );
 
         return $this->reply(true, $reply);
@@ -81,6 +82,19 @@ class MAIN extends AjaxHandler
     //
     //
     
+    public function getTotals($data = array())
+    {
+        return array(
+                'USER'       => array('total' => 7, 'blocked' => 0),
+                'WEB_DOMAIN' => array('total' => 4, 'blocked' => 0),
+                'MAIL'       => array('total' => 0),
+                'DB'         => array('total' => 4, 'blocked' => 0),
+                'DNS'        => array('total' => 4, 'blocked' => 0),
+                'IP'         => array('total' => 2, 'blocked' => 0),
+                'CRON'       => array('total' => 5, 'blocked' => 0)                
+            );
+    }
+    
     /**
      * WEB DOMAIN initial params
      *