| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387 |
- App.Actions.authorize = function()
- {
- if ($('#authorize-form').length > 0) {
- return;
- }
-
- App.View.popup('login');
- }
- App.Actions.do_authorize = function()
- {
- $('#authorize-error').text('');
- App.Ajax.request('MAIN.signin', {'login':$('#authorize-login').val(), 'password':$('#authorize-login'.val())}, function(reply)
- {
- if (reply.result) {
- location.href = '';
- }
- else {
- $('#authorize-error').text(reply.message);
- }
- });
- }
- App.Actions.delete_entry = function(evt)
- {
- var confirmed = confirm(App.i18n.getMessage('confirm'));
- if (!confirmed) {
- return;
- }
- var elm = $(evt.target);
- var elm = elm.hasClass('row') ? elm : elm.parents('.row');
- App.Model.remove(App.Env.world, elm);
- }
- App.Actions.show_subform = function(evt)
- {
- var elm = $(evt.target);
- var ref = elm.hasClass('row') ? elm : elm.parents('.row');
- var ref_subform = ref.next('.subform');
- if (ref_subform.length > 0) {
- ref_subform.remove();
- }
-
- if ('undefined' != typeof App.Pages[App.Env.world].showSubform) {
- App.Pages[App.Env.world].showSubform(ref);
- }
- // TODO: probably general way to embed subforms
- }
- App.Actions.view_template_settings = function(evt)
- {
- alert('TODO');
- }
- App.Actions.add_subrecord_dns = function(evt)
- {
- var elm = $(evt.target);
- var ref = elm.hasClass('subform') ? elm : elm.parents('.subform');
- if (ref.length > 0) {
- var tpl = App.HTML.Build.dns_subrecord({});
- ref.find('.add-box').after(tpl.finalize());
- App.Helpers.updateScreen();
- }
- }
- /**
- * Embeds new item form
- * if exits custom method (App.Pages[ENVIRONMENT_NAME].newForm)
- * custom method will be executes instead of default one
- */
- App.Actions.new_entry = function() {
- if ('undefined' != typeof App.Pages[App.Env.world].new_entry) {
- App.Pages[App.Env.world].new_entry();
- } else {
- var form_id = App.Constants[App.Env.world + '_FORM_ID'];
- $('#'+form_id).remove();
- var build_method = App.Env.getWorldName() + '_form';
- var tpl = App.HTML.Build[build_method]({}, form_id);
- App.Ref.CONTENT.prepend(tpl);
- App.Helpers.updateScreen();
- }
- }
- // do_action_save
- App.Actions.save_form = function(evt) {
- var elm = $(evt.target);
- elm = elm.parents('.b-new-entry');
-
- var elm_id = App.Env.world + '_FORM_ID';
- var build_method = App.Env.getWorldName() + '_entry';
-
- if (!App.Validate.form(App.Env.world, elm)) {
- return App.Validate.displayFormErrors(App.Env.world, elm);
- }
-
- if (elm.attr('id') == App.Constants[elm_id]) { // NEW ITEM
- var values = App.Helpers.getFormValues(elm);
- if(App.Validate.form(values, $('#'+elm_id))) {
- App.Model.add(values, source);
- var form_id = App.Constants[App.Env.world + '_FORM_ID'];
- $('#'+form_id).remove();
- }
- }
- else { // OLD ITEM, UPDATING IT
- var source = $(elm).find('.source').val();
- var values = App.Helpers.getFormValues(elm);
- if(App.Validate.form(values, $('#'+elm_id))) {
- App.Model.update(values, source, elm);
- }
- }
- }
- // do_action_edit
- App.Actions.edit = function(evt) {
- if ('undefined' != typeof App.Pages[App.Env.world].edit) {
- App.Pages[App.Env.world].edit(evt);
- } else {
- var elm = $(evt.target);
- elm = elm.hasClass('row') ? elm : elm.parents('.row');
-
- var options = elm.find('.source').val();
- var build_method = App.Env.getWorldName() + '_form';
- var tpl = App.HTML.Build[build_method](options);
- elm.replaceWith(tpl);
-
- App.Helpers.disbleNotEditable();
- //App.Helpers.updateScreen();
- }
- }
- // do_cancel_form
- App.Actions.cancel_form = function(evt, params) {
- var elm = $(evt.target);
- elm = elm.parents('.b-new-entry');
- var form_id = App.Constants[App.Env.world + '_FORM_ID'];
- if (elm.attr('id') == form_id) {
- $('#' + form_id).remove();
- }
- else {
- fb.warn(elm.find('.source').val());
- var options = App.Helpers.evalJSON(elm.find('.source').val());
- var entry_name = App.Env.world.toLowerCase() + '_entry';
- var tpl = App.HTML.Build[entry_name](options);
- elm.replaceWith(tpl);
- }
- App.Helpers.updateScreen();
- }
- App.Actions.suspend = function(evt)
- {
- var confirmed = confirm('Suspend?');
- if (!confirmed) {
- return ;
- }
- var elm = $(evt.target);
- var row = elm.parents('.row');
-
- var options = row.find('.source').val();
- App.Ajax.request(App.Env.world+'.suspend', {spell: options}, function(reply) {
- if (reply.result) {
- //var tpl = App.Templates.get('SUSPENDED_TPL_SUSPENDED', 'general');
- //$(elm).replaceWith(tpl.finalize());
- App.Pages.prepareHTML();
- App.Helpers.updateScreen();
- }
- else {
- return App.Helpers.alert('Failed to suspend');
- }
- });
- }
- App.Actions.unsuspend = function(evt)
- {
- var confirmed = confirm('Unsuspend?');
- if (!confirmed) {
- return ;
- }
-
- var elm = $(evt.target);
- var row = elm.parents('.row');
-
- var options = row.find('.source').val();
- App.Ajax.request(App.Env.world+'.unsuspend', {spell: options}, function(reply) {
- if (reply.result) {
- //var tpl = App.Templates.get('SUSPENDED_TPL_NOT_SUSPENDED', 'general');
- //$(elm).replaceWith(tpl.finalize());
- App.Pages.prepareHTML();
- App.Helpers.updateScreen();
- }
- else {
- return App.Helpers.alert('Failed to suspend');
- }
- });
- }
- // do_action_form_help
- App.Actions.showFormHelp = function(evt) {
- var tpl_name = App.Env.world + '_form';
- var tpl = App.Templates.get(tpl_name, 'help');
- App.View.popup(tpl.finalize());
- }
- // do_action_entry_help
- App.Actions.showEntryHelp = function(evt) {
- var tpl_name = App.Env.world + '_entry';
- var tpl = App.Templates.get(tpl_name, 'help');
- App.View.popup(tpl.finalize());
- }
- App.Actions.embedSubform = function(evt) {
- var tpl = App.Templates.get('subform', App.Env.getWorldName());
- }
- App.Actions.close_popup = function()
- {
- App.View.closePopup();
- }
- App.Actions.close_subform = function(evt, elm)
- {
- var elm = elm || $(evt.target);
- var ref = elm.hasClass('subform') ? elm : elm.parents('.subform');
- var parent_ref = ref.prev('.row');
- if (parent_ref.length > 0) {
- parent_ref.find('.show-records').removeClass('hidden');
- }
- ref.remove();
- }
- App.Actions.save_dns_subrecords = function(evt)
- {
- var elm = $(evt.target);
- var ref = elm.hasClass('subform') ? elm : elm.parents('.subform');
-
- var data = [];
- $('.subform').find('.subrow').each(function(i, o)
- {
- data[data.length++] = App.Helpers.getFormValues(o);
- });
-
- var parent_row = $(elm).parents('.subform').prev('.dns-details-row');
- var dns_json = $(parent_row).find('.source').val();
-
- App.Ajax.request('DNS.changeRecords', {spell: App.Helpers.toJSON(data), dns: dns_json}, function(reply)
- {
- if (reply.result) {
- var emphasize = $('.show-records', parent_row);
- App.Actions.close_subform(null, elm);
- $(emphasize).effect("highlight", {'color':'#B0D635'}, 3000);
-
- }
- else {
- App.Helpers.alert('Changes were not applied');
- }
- });
- }
- App.Actions.delete_subentry = function(evt)
- {
- var sure = confirm(App.i18n.getMessage('confirm'));
- if (!sure) {
- return;
- }
-
- var elm = $(evt.target);
- var ref = elm.hasClass('subrow') ? elm : elm.parents('.subrow');
- $(ref).remove();
- }
- App.Actions.generate_pass = function()
- {
- $('.password').val(App.Helpers.generatePassword());
- }
- App.Actions.toggle_section = function(evt)
- {
- var elm = $(evt.target);
- var ref = $(elm).parents('.form-options-group:first');
- fb.log(ref);
- if ($('.sub_section:first', ref).hasClass('hidden')) {
- $('.sub_section:first', ref).removeClass('hidden');
- $('.group-header:first', ref).removeClass('collapsed').addClass('expanded');
- }
- else {
- $('.sub_section:first', ref).addClass('hidden');
- $('.group-header:first', ref).removeClass('expanded').addClass('collapsed');
- }
- }
- App.Actions.close_inner_popup = function(evt)
- {
- App.Helpers.closeInnerPopup();
- }
- App.Actions.open_inner_popup = function(evt)
- {
- var elm = $(evt.target);
- App.Helpers.openInnerPopup(elm, $(elm).next('.inner-popup-html').val());
- }
- App.Actions.add_db_user = function(evt)
- {
- alert('TODO');
- }
- App.Actions.backup_db = function(evt)
- {
- alert('TODO');
- }
- App.Actions.add_form_ns = function(evt)
- {
- var elm = $(evt.target);
-
- form = elm.parents('.form:first');
- var total_nses = $(form).find('.ns-entry').length;
- if (total_nses == App.Settings.NS_MAX) {
- return App.Helpers.alert('Maximum number of NS cannot be more than ' + App.Settings.NS_MAX);
- }
-
- var tpl = App.Templates.get('NS_INPUT', 'user');
- tpl.set(':NAME', '');
- tpl.set(':NS_LABEL', 'NS');
- elm.before(tpl.finalize());
-
- if ((total_nses + 1) == App.Settings.NS_MAX ) { // added last NS
- $('.additional-ns-add', form).addClass('hidden');
- }
-
- $(form).find('.ns-entry').each(function(i, o)
- {
- $(o).find('label').text('NS #' + (i + 1));
- $(o).find('input').attr('name', 'NS' + (i + 1));
- });
- }
- App.Actions.delete_ns = function(evt)
- {
- var elm = $(evt.target);
-
- form = elm.parents('.form:first');
- var total_nses = $(form).find('.ns-entry').length;
- if (total_nses == App.Settings.NS_MIN) {
- return App.Helpers.alert('Minimum number of NS is ' + App.Settings.NS_MIN);
- }
-
- var form = elm.parents('.form:first');
- $(elm).parents('.form:first').find('.additional-ns-add').removeClass('hidden');
- $(elm).parents('.ns-entry').remove();
-
- $(form).find('.ns-entry').each(function(i, o)
- {
- $(o).find('label').text('NS #' + (i + 1));
- $(o).find('input').attr('name', 'NS' + (i + 1));
- });
- }
- App.Actions.view_full_ns_list = function(evt)
- {
- var elm = $(evt.target);
- App.Helpers.openInnerPopup(elm, $(elm).parents('.prop-box').find('.ns-full-list:first').html());
- }
- App.Actions.view_template_info = function(evt)
- {
- var elm = $(evt.target);
- ref = elm.hasClass('row') ? elm : elm.parents('.row');
-
- var options = ref.find('.source').val();
- App.Ajax.request('DNS.getTemplateInfo', {spell: options}, function(reply) {
- if (reply.result) {
- App.Helpers.openInnerPopup(elm, reply.data);
- }
- });
- }
- App.Actions.toggle_stats_block = function(evt)
- {
- var elm = $(evt.target);
- if (!!elm.attr('checked')) {
- elm.parents('.stats-settings').find('.stats-block').removeClass('hidden');
- }
- else {
- elm.parents('.stats-settings').find('.stats-block').addClass('hidden');
- }
- }
|