Ignore:
Timestamp:
Oct 19, 2009, 3:07:22 AM (15 years ago)
Author:
LucMorizur
Message:

[Event Cats] Add entry modification ability, as finally it is required for outdating

File:
1 edited

Legend:

Unmodified
Added
Removed
  • extensions/event_cats/admin/template/autolog_new.js

    r4048 r4058  
    11/* Event Cats Javascript functions LucMorizur June - ... 2009 */
     2
     3/*
     4Attention le résultat du dépôt du formulaire ne peut plus être "create" ou "<numéro de l'entrée dupliquée>"
     5car il faut fournir du "create", "duplicate_entry_submit", "modify_entry_submit" avec dans ces deux derniers cas
     6le numéro de l'entrée concernée.
     7De toutes façons il y a aussi le "cas" modification d'entrée à créer.
     8*/
    29
    310var ec_avoid_infinite_loop      = true;
    411var ec_flag1                    = false;
    512var ec_flag2                    = false;
     13var ec_dont_check               = false;
    614var ec_err                      = '';
    715var ec_selected_action          = '';
     
    1422var ec_auto_code_digits_nb      = '';
    1523var ec_default_action           = '';
     24var ec_default_entry            = '';
     25var ec_up_code_lbl_forced_txt   = '';
     26var ec_selected_old_entry       = '-1';
     27var ec_selected_old_code        = '-1';
    1628var ec_selected_old_user        = '-1';
    17 var ec_selected_old_code        = '-1';
    1829var ec_selected_AP              = '-1';
    1930var ec_selected_cat             = '-1';
     
    2233var ec_JS_message               = new Array();
    2334var ec_duplic_codes             = new Array();
     35
     36function ec_check_exist_value(ec_id, ec_val) {
     37  var e = document.getElementById(ec_id);
     38  for (var i = 0; i < e.length; i++) {
     39    if (e.options[i].value == ec_val) return true;
     40  }
     41  return false;
     42}
     43
     44function ec_mark_entry(ec_id) {
     45  var i = 0;
     46  var t = new Array();
     47  var r = /,/g;
     48  document.getElementById('ec_act2_id').value = ec_id;
     49  t = document.getElementById('ec_in_up_entry_list_id').options[
     50   document.getElementById('ec_in_up_entry_list_id').selectedIndex
     51  ].label.split(r);
     52// t[0] : user_id ; t[1] : action ; t[2] : arg1 ; t[3] : arg2 ; t[4] : forced
     53  if (ec_check_exist_value('ec_in_up_usr_list_id', t[0])) {
     54    ec_selected_user = 'ec_sel_user_old';
     55    ec_selected_old_user = t[0];
     56    if (t[2] != '' && t[1].lastIndexOf('ec_ok') != -1) i++;
     57    if (t[3] != '') { i++; i++; }
     58    switch (i) {
     59      case 0: // Home
     60        ec_selected_action = 'ec_input_action_home';
     61      break;
     62      case 1: // Category
     63        ec_selected_action = 'ec_input_action_cat';
     64        ec_selected_cat = t[2];
     65      break;
     66      case 2: // Additionnal Page
     67        ec_selected_action = 'ec_input_action_add_p';
     68        ec_selected_AP = t[3];
     69      break;
     70      case 3: // Image
     71        ec_selected_action = 'ec_input_action_img';
     72        ec_selected_cat = t[2];
     73        ec_selected_img = t[3];
     74      break;
     75    }
     76    document.getElementById('ec_in_up_forced_id').checked =
     77     (t[4] == 'true') ? 'checked' : '';
     78    ec_mark_action(ec_selected_action);
     79  }
     80  else {
     81    ec_selected_user = 'ec_sel_user_none';
     82    document.getElementById('ec_in_up_forced_id').checked = '';
     83    if (ec_check_exist_value('ec_in_up_aps_id', t[3])) {
     84      ec_selected_AP = t[3];
     85      ec_mark_action('ec_input_action_add_p');
     86    }
     87    else {
     88      ec_mark_action('ec_input_action_refused');
     89    }
     90  }
     91}
    2492
    2593function ec_mark_code(ec_id) {
     
    33101    switch (ec_selected_code) {
    34102      case 'ec_sel_code_new':
     103        document.getElementById('ec_act1_id').value = 'create';
    35104        document.getElementById('ec_in_up_code_list_id').value = '-1';
    36105        document.getElementById('ec_in_up_code_id').value = ec_new_code_text;
    37106      break;
    38107      case 'ec_sel_code_old':
     108        document.getElementById('ec_act1_id').value = '????'; // Dépend de ce qui a été demandé au départ
     109        document.getElementById('ec_act2_id').value =
     110         ec_selected_old_code;
    39111        document.getElementById('ec_in_up_code_list_id').value =
    40112         ec_selected_old_code;
     
    66138    document.getElementById(ec_selected_user).checked = 'checked';
    67139    switch (ec_selected_user) {
     140      case 'ec_sel_user_none': // None
     141        ec_selected_action =
     142         (ec_ap_ok && (ec_selected_action != 'ec_input_action_home')) ?
     143         'ec_input_action_add_p' : 'ec_input_action_home';
     144        document.getElementById('ec_in_up_usr_txt_id').value = '';
     145        document.getElementById('ec_in_up_psd_txt_id').value = '';
     146        document.getElementById('ec_in_up_usr_list_id').value = '-1';
     147      break;
    68148      case 'ec_sel_user_new': // New user
    69149        document.getElementById('ec_in_up_usr_txt_id').value =
     
    104184        document.getElementById('ec_in_up_cats_id').value = ec_selected_cat;
    105185        document.getElementById('ec_in_up_imgs_id').value = '';
     186        ec_selected_user = (ec_selected_user == 'ec_sel_user_none') ?
     187         'ec_sel_user_old' : ec_selected_user;
    106188        document.getElementById('ec_in_up_imgs_warn').innerHTML = '';
    107189      break;
     
    110192        document.getElementById('ec_in_up_cats_id').value = ec_selected_cat;
    111193        document.getElementById('ec_in_up_imgs_id').value = ec_selected_img;
     194        ec_selected_user = (ec_selected_user == 'ec_sel_user_none') ?
     195         'ec_sel_user_old' : ec_selected_user;
    112196        ec_check_img_text();
    113197      break;
     
    118202        document.getElementById('ec_in_up_imgs_warn').innerHTML = '';
    119203      break;
     204      case 'ec_input_action_refused': // Access denied
     205        document.getElementById('ec_in_up_aps_id').value = '-1';
     206        document.getElementById('ec_in_up_cats_id').value = '-1';
     207        document.getElementById('ec_in_up_imgs_id').value = '';
     208        ec_selected_user = 'ec_sel_user_none';
     209        document.getElementById('ec_in_up_imgs_warn').innerHTML = '';
     210      break;
    120211    }
    121212    if (ec_avoid_infinite_loop) {
     
    124215      ec_avoid_infinite_loop = true;
    125216    }
    126   }
     217    ec_mark_forced();
     218  }
     219}
     220
     221function ec_mark_forced() {
     222  document.getElementById('ec_style_forced_id').innerHTML =
     223    (document.getElementById('ec_in_up_forced_id').checked != '') ?
     224     '<span style = "font-weight:bold; color:red;">' +
     225     ec_up_code_lbl_forced_txt + '</span>'
     226    :
     227     ec_up_code_lbl_forced_txt
     228  ;
    127229}
    128230
     
    292394
    293395function ec_check_submit() {
     396  if (ec_dont_check) return true;
    294397  if ((
    295398    document.getElementById('ec_sel_code_new').checked != '' &&
     
    338441}
    339442
     443function ec_mark_type(ec_id) {
     444  document.getElementById('ec_act1_id').value = ec_id;
     445  document.getElementById('ec_act2_id').value = '-1';
     446  ec_dont_check = true;
     447  document.forms['ec_new_code'].submit();
     448}
     449
    340450function ec_test() {
    341451  alert('OK.');
     
    343453
    344454function ec_init() {
    345   ec_err = '';
    346   ec_selected_user = 'ec_sel_user_old';
    347   ec_selected_code = 'ec_sel_code_new';
     455  var d = document;
     456  ec_err               = '';
     457  ec_selected_user     = 'ec_sel_user_old';
     458  ec_selected_code     = 'ec_sel_code_new';
    348459  ec_selected_old_user = '-1';
    349460  ec_selected_old_code = '-1';
    350   ec_selected_AP = '-1';
    351   ec_selected_cat = '-1';
    352   ec_selected_action = '';
    353   ec_selected_img = '';
    354   ec_new_code_text = '';
    355   ec_new_user_text = '';
    356   ec_new_psd_text = '';
    357   ec_old_new_psd_text = '';
    358   ec_test_reg = '';
    359   document.getElementById('ec_act1_id').value                    =
     461  ec_selected_AP       = '-1';
     462  ec_selected_cat      = '-1';
     463  ec_selected_action   = '';
     464  ec_selected_img      = '';
     465  ec_new_code_text     = '';
     466  ec_new_user_text     = '';
     467  ec_new_psd_text      = '';
     468  ec_old_new_psd_text  = '';
     469  ec_test_reg          = '';
     470  d.getElementById('ec_style_forced_id').innerHTML        =
     471   ec_up_code_lbl_forced_txt;
     472  d.getElementById('ec_act1_id').value                    =
    360473   ec_default_action;
    361   document.getElementById('ec_in_up_auto_code_length_id').value  =
    362    ec_auto_code_digits_nb;
    363   document.getElementById('ec_in_up_code_id').value              = '';
    364   document.getElementById('ec_in_up_usr_txt_id').value           = '';
    365   document.getElementById('ec_in_up_psd_txt_id').value           = '';
    366   document.getElementById('ec_in_up_pwd_warn').innerHTML         = '';
    367   document.getElementById('ec_in_up_aps_id').value               = '-1';
    368   document.getElementById('ec_in_up_cats_id').value              = '-1';
    369   document.getElementById('ec_in_up_imgs_id').value              = '';
    370   document.getElementById('ec_in_up_imgs_warn').innerHTML        = '';
    371   document.getElementById('ec_input_action_home').checked        = 'checked';
    372   document.getElementById('ec_input_action_home').checked        = '';
     474  d.getElementById('ec_in_up_usr_txt_id').value           = '';
     475  d.getElementById('ec_in_up_psd_txt_id').value           = '';
     476  d.getElementById('ec_in_up_pwd_warn').innerHTML         = '';
     477  d.getElementById('ec_in_up_aps_id').value               = '-1';
     478  d.getElementById('ec_in_up_cats_id').value              = '-1';
     479  d.getElementById('ec_in_up_imgs_id').value              = '';
     480  d.getElementById('ec_in_up_imgs_warn').innerHTML        = '';
     481  d.getElementById('ec_input_action_home').checked        = 'checked';
     482  d.getElementById('ec_input_action_home').checked        = '';
    373483 
    374   if (ec_default_action == 'create') {
    375     document.getElementById('ec_in_up_code_list_id').value       = '-1';
    376     document.getElementById('ec_sel_code_old').checked           = 'checked';
    377     document.getElementById('ec_sel_code_old').checked           = '';
    378     document.getElementById('ec_sel_user_old').checked           = 'checked';
    379     document.getElementById('ec_sel_user_old').checked           = '';
    380     document.getElementById('ec_in_up_usr_list_id').value        = '-1';
    381     document.getElementById('ec_submit_gen_full_auto_id').disabled = '';
    382     document.getElementById('ec_submit_gen_code_id').disabled    = '';
    383     document.getElementById('ec_in_up_auto_code_length_id').disabled = '';
    384     document.getElementById('ec_in_up_code_id').disabled         = '';
    385     document.getElementById('ec_sel_code_new').disabled          = '';
    386     document.getElementById('ec_sel_code_old').disabled          = '';
    387     document.getElementById('ec_in_up_code_list_id').disabled    = '';
    388     document.getElementById('ec_sel_user_new').disabled          = '';
    389     document.getElementById('ec_submit_gen_user_id').disabled    = '';
    390     document.getElementById('ec_in_up_usr_txt_id').disabled      = '';
    391     document.getElementById('ec_in_up_psd_txt_id').disabled      = '';
    392     document.getElementById('ec_sel_user_old').disabled          = '';
    393     document.getElementById('ec_in_up_usr_list_id').disabled     = '';
    394   }
    395   else {
    396     document.getElementById('ec_in_up_code_list_id').value       =
    397      ec_default_action;
    398     document.getElementById('ec_sel_code_old').checked           = 'checked';
    399     document.getElementById('ec_submit_gen_full_auto_id').disabled =
    400      'disabled';
    401     document.getElementById('ec_submit_gen_code_id').disabled    = 'disabled';
    402     document.getElementById('ec_in_up_auto_code_length_id').disabled =
    403      'disabled';
    404     document.getElementById('ec_in_up_code_id').disabled         = 'disabled';
    405     document.getElementById('ec_sel_code_new').disabled          = 'disabled';
    406     document.getElementById('ec_sel_code_old').disabled          = 'disabled';
    407     document.getElementById('ec_in_up_code_list_id').disabled    = 'disabled';
    408     ec_selected_old_code = ec_duplic_codes[ec_default_action];
    409     ec_flag2 = true;
    410     ec_mark_code('ec_sel_code_old');
    411     ec_flag2 = false;
    412   }
    413   ec_default_action                                              = 'create';
    414 }
     484  if (
     485    ec_default_action == 'create' ||
     486    ec_default_action == 'duplicate_entry_ask'
     487  ) { // Entry creation
     488    d.getElementById('ec_in_up_auto_code_length_id').value=
     489     ec_auto_code_digits_nb;
     490    d.getElementById('ec_in_up_code_id').value            = '';
     491    d.getElementById('ec_sel_code_old').checked           = 'checked';
     492    d.getElementById('ec_sel_user_old').checked           = 'checked';
     493    if (ec_default_action == 'create') {            // Create entry from blank
     494      d.getElementById('ec_in_up_usr_list_id').value      = '-1';
     495      d.getElementById('ec_in_up_code_list_id').value     = '-1';
     496      d.getElementById('ec_sel_code_old').checked         = '';
     497      d.getElementById('ec_sel_user_old').checked         = '';
     498      d.getElementById('ec_submit_gen_full_auto_id').disabled = '';
     499      d.getElementById('ec_submit_gen_code_id').disabled  = '';
     500      d.getElementById('ec_in_up_auto_code_length_id').disabled = '';
     501      d.getElementById('ec_in_up_code_id').disabled       = '';
     502      d.getElementById('ec_sel_code_new').disabled        = '';
     503      d.getElementById('ec_sel_code_old').disabled        = '';
     504      d.getElementById('ec_in_up_code_list_id').disabled  = '';
     505      d.getElementById('ec_sel_user_new').disabled        = '';
     506      d.getElementById('ec_submit_gen_user_id').disabled  = '';
     507      d.getElementById('ec_in_up_usr_txt_id').disabled    = '';
     508      d.getElementById('ec_in_up_psd_txt_id').disabled    = '';
     509      d.getElementById('ec_sel_user_old').disabled        = '';
     510      d.getElementById('ec_in_up_usr_list_id').disabled   = '';
     511    }
     512    else {                                          // Duplicate entry
     513      d.getElementById('ec_in_up_code_list_id').value     =
     514       ec_default_entry;
     515      d.getElementById('ec_submit_gen_full_auto_id').disabled =
     516       'disabled';
     517      d.getElementById('ec_submit_gen_code_id').disabled  = 'disabled';
     518      d.getElementById('ec_in_up_auto_code_length_id').disabled =
     519       'disabled';
     520      d.getElementById('ec_in_up_code_id').disabled       = 'disabled';
     521      d.getElementById('ec_sel_code_new').disabled        = 'disabled';
     522      d.getElementById('ec_sel_code_old').disabled        = 'disabled';
     523      d.getElementById('ec_in_up_code_list_id').disabled  = 'disabled';
     524      ec_selected_old_code = ec_duplic_codes[ec_default_entry];
     525      ec_flag2 = true;
     526      ec_mark_code('ec_sel_code_old');
     527      ec_flag2 = false;
     528    }
     529    ec_default_action                                     = 'create';
     530  }
     531  else { // Entry modification
     532    d.getElementById('ec_sel_user_old').checked           = 'checked';
     533    d.getElementById('ec_in_up_forced_id').checked        = '';
     534    if (ec_default_action == 'modify_entry_ask') {  // Modify entry
     535      d.getElementById('ec_in_up_entry_list_id').value    = '-1';
     536      d.getElementById('ec_in_up_usr_list_id').value      = '-1';
     537      d.getElementById('ec_sel_user_old').checked         = '';
     538      d.getElementById('ec_sel_user_new').disabled        = '';
     539      d.getElementById('ec_submit_gen_user_id').disabled  = '';
     540      d.getElementById('ec_in_up_usr_txt_id').disabled    = '';
     541      d.getElementById('ec_in_up_psd_txt_id').disabled    = '';
     542      d.getElementById('ec_sel_user_old').disabled        = '';
     543      d.getElementById('ec_in_up_usr_list_id').disabled   = '';
     544    }
     545    else {                                          // Outdate entry
     546      d.getElementById('ec_in_up_entry_list_id').value    =
     547       ec_default_entry;
     548      ec_mark_entry(ec_default_entry);
     549    }
     550    ec_default_action                                     =
     551     'modify_entry_ask';
     552  }
     553}
Note: See TracChangeset for help on using the changeset viewer.