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