$(function() { $('form.voc-download-form').live('submit', download_form_submit); $('#vocabulary-select').live('change', show_vocabulary_info); $('form.vocab-perm-manage-form').live('submit', vocab_perm_manage_form_submit); $('#other-statistisc').load(ajax_get_other_stats); show_vocabulary_info(); }); function vocab_perm_manage_form_submit() { ShowProgressAnimation(); this_form = $(this); form_data = this_form.serializeArray(); var editors = new Array(); var viewers = new Array(); form_data = $.map(form_data, function(elem) { if (elem.name != 'editors' && elem.name != 'viewers') return elem; else { if (elem.name == 'editors') editors.push(elem.value); else if (elem.name == 'viewers') viewers.push(elem.value); } }); form_data.push({name: 'editors', value: editors}); form_data.push({name: 'viewers', value: viewers}); form_data.push({name: 'vocabulary_name', value: $('#vocabulary-select').val()}); $.ajaxJSON({ method: 'post', url: ajax_vocab_perm_manage_form_submit, data: { form_data: form_data }, callback: function(result) { HideProgressAnimation(); }, error_callback: function(xhr, status, error) { HideProgressAnimation(); error_alert(status + ': ' + error); }, bad_data_callback: function(result) { HideProgressAnimation(); return true; }, }); return false; } function show_vocabulary_info() { vocabulary_name = $('#vocabulary-select').val(); if(vocabulary_name) { $('#vocabulary-perm-management').load(ajax_vocab_perm_manage_form, "vocabulary_name="+vocabulary_name); $('#vocabulary-statistisc').load(ajax_get_vocabulary_stats, "vocabulary_name="+vocabulary_name); } else { $('#vocabulary-perm-management').empty(); $('#vocabulary-statistisc').load(ajax_get_vocabulary_stats, "vocabulary_name="); } } function download_form_submit() { ShowProgressAnimation(); this_form = $(this); form_data = this_form.serializeArray(); var vocabularies = new Array(); var frame_opinions = new Array(); var lemma_statuses = new Array(); var owners = new Array(); var poss = new Array(); var addframeopinion = false; form_data = $.map(form_data, function(elem) { if (elem.name != 'vocabulary' && elem.name != 'format' && elem.name != 'frame_opinion' && elem.name != 'lemma_status' && elem.name != 'owner' && elem.name != 'addframeopinion' && elem.name != 'pos') return elem; else { if (elem.name == 'vocabulary') vocabularies.push(elem.value); else if (elem.name == 'pos') poss.push(elem.value); else if (elem.name == 'format') format = elem.value; else if (elem.name == 'frame_opinion') frame_opinions.push(elem.value); else if (elem.name == 'lemma_status') lemma_statuses.push(elem.value); else if (elem.name == 'owner') owners.push(elem.value); else if (elem.name == 'addframeopinion') addframeopinion = elem.value; } }); form_data.push({name: 'vocabularies', value: vocabularies}); form_data.push({name: 'poss', value: poss}); form_data.push({name: 'format', value: format}); form_data.push({name: 'frame_opinions', value: frame_opinions}); form_data.push({name: 'lemma_statuses', value: lemma_statuses}); form_data.push({name: 'owners', value: owners}); form_data.push({name: 'addframeopinion', value: addframeopinion}); $.ajaxJSON({ method: 'post', url: ajax_create_vocabulary, data: { form_data: form_data }, callback: function(result) { HideProgressAnimation(); lemma_view_location = window.location.toString(); // trzeba by to moze z czasem poprawic na cos madrzejszego var url = lemma_view_location.replace('/slowniki/', '/slowniki/'+result['file_name']); window.open(url,'Download'); }, error_callback: function(xhr, status, error) { HideProgressAnimation(); error_alert(status + ': ' + error); }, bad_data_callback: function(result) { if (result == 'format not selected') { HideProgressAnimation(); error_alert('Wybierz format pliku wyjściowego.'); return false; } else if (result == 'creating vocabulary error') { HideProgressAnimation(); error_alert('Nie udało się utworzyć słownika.'); return false; } else { HideProgressAnimation(); return true; } }, }); return false; } function get_vocabulary_file(vocabulary_name, format) { ShowProgressAnimation(); if(!vocabulary_name || !format) { HideProgressAnimation(); error_alert('Wybierz słownik i format pliku wyjściowego.'); return false; } $.ajaxJSON({ method: 'post', url: ajax_create_vocabulary, data: { vocabulary_name: vocabulary_name, format: format }, callback: function(result) { HideProgressAnimation(); lemma_view_location = window.location.toString(); // trzeba by to moze z czasem poprawic na cos madrzejszego var url = lemma_view_location.replace('/slowniki/', '/slowniki/'+vocabulary_name); window.open(url,'Download'); }, error_callback: function(xhr, status, error) { HideProgressAnimation(); }, bad_data_callback: function(result) { if (result == 'creating vocabulary error') { HideProgressAnimation(); error_alert('Wystąpił błąd podczas tworzenia pliku słownikowego.'); return false; } else { HideProgressAnimation(); return true; } }, }); return false; }