Revision 515b3e04

b/snf-cyclades-app/synnefo/app_settings/default/ui.py
39 39
# consecutive API calls (aligning changes-since attribute).
40 40
UI_CHANGES_SINCE_ALIGNMENT = 0
41 41

  
42
# How often to check for user usage changes
43
UI_QUOTAS_UPDATE_INTERVAL = 10000
44

  
42 45
# List of emails used for sending the feedback messages to (following the ADMINS format)
43 46
FEEDBACK_CONTACTS = (
44 47
    # ('Contact Name', 'contact_email@domain.com'),
b/snf-cyclades-app/synnefo/ui/static/snf/js/ui/web/ui_main_view.js
768 768
            }
769 769
        },
770 770
        
771
        quota_handlers_initialized: false,
772

  
771 773
        load_user_quotas: function() {
772 774
          var main_view = this;
773 775
          snf.api.sync('read', undefined, {
......
776 778
              snf.user.quotas = {};
777 779
              snf.user.quotas['vms'] = d.vms_quota;
778 780
              snf.user.quotas['networks'] = d.networks_quota;
779
              main_view.init_quotas_handlers(['vms','networks']);
781
              if (!main_view.quota_handlers_initialized) {
782
                  main_view.init_quotas_handlers(['vms','networks']);
783
                  main_view.quota_handlers_initialized = true;
784
              }
785
              try {
786
                main_view.check_quotas('vms');
787
                main_view.check_quotas('networks');
788
              } catch (err) {
789
                console.error(err);
790
              }
791
            },
792
            complete: function() {
793
                setTimeout(function(){
794
                    main_view.load_user_quotas();
795
                }, synnefo.config.quotas_update_interval || 10000);
780 796
            }
781 797
          });
782 798
        },
b/snf-cyclades-app/synnefo/ui/templates/home.html
638 638
            synnefo.config.automatic_network_range_format = {{ automatic_network_range_format|safe }};
639 639
            synnefo.config.quota_url = '{% url synnefo.ui.views.user_quota %}';
640 640
            synnefo.config.custom_image_help_url = '{{ custom_image_help_url|safe }}';
641
            synnefo.config.quotas_update_interval = {{ quotas_update_interval }};
641 642
            
642 643
            synnefo.auth_client = new synnefo.auth.AstakosClient({
643 644
                login_url: synnefo.config.login_redirect,
b/snf-cyclades-app/synnefo/ui/views.py
66 66
                                3)
67 67
UPDATE_INTERVAL_FAST = getattr(settings, "UI_UPDATE_INTERVAL_FAST", 2500)
68 68
UPDATE_INTERVAL_MAX = getattr(settings, "UI_UPDATE_INTERVAL_MAX", 10000)
69
QUOTAS_UPDATE_INTERVAL = getattr(settings, "UI_QUOTAS_UPDATE_INTERVAL", 10000)
69 70

  
70 71
# predefined values settings
71 72
VM_IMAGE_COMMON_METADATA = getattr(settings, "UI_VM_IMAGE_COMMON_METADATA", ["OS", "users"])
......
179 180
               'update_interval_fast': UPDATE_INTERVAL_FAST,
180 181
               'update_interval_max': UPDATE_INTERVAL_MAX,
181 182
               'changes_since_alignment': CHANGES_SINCE_ALIGNMENT,
183
               'quotas_update_interval': QUOTAS_UPDATE_INTERVAL,
182 184
                # additional settings
183 185
               'image_icons': IMAGE_ICONS,
184 186
               'logout_redirect': LOGOUT_URL,

Also available in: Unified diff