/*
 Copyright 2009-2020 Rumma & Ko Ltd
 License: BSD (see file COPYING for details)
*/

// lino.js --- generated Thu Aug  5 07:23:31 2021 by Lino Amici 21.7.1 for 000 (Anonymous).
Ext.BLANK_IMAGE_URL = '/static/ext-3.3.1/resources/images/default/s.gif';
LANGUAGE_CHOICES = [ [ "en", "English" ], [ "de", "German" ], [ "fr", "French" ] ];
MEDIA_URL = "/media/";
GEN_TIMESTAMP = 1628147467.4154537;

// hack to add a toCamel function, inspired by
// http://jamesroberts.name/blog/2010/02/22/string-functions-for-javascript-trim-to-camel-case-to-dashed-and-to-underscore/
String.prototype.toCamel = function(){
  //~ return this.replace(/(\-[a-z])/g, function($1){return $1.toUpperCase().replace('-','');});
  //~ return this;
  return this.replace(/([A-Z])([A-Z]+)/g, function(match,p1,p2,offset,string){
      //~ console.log("20131005 got ",arguments);
      return p1 + p2.toLowerCase();});
};

if (!Array.prototype.last) {
    Array.prototype.last = function () {
        return this[this.length - 1];
    }
}


// 20151126 hack to modify Ext.EventObjectImpl.isSpecialKey() which
// returned false for Ctrl-S when called from a keyup handler (namely
// ComboBox.onLoad)

Ext.EventObjectImpl.prototype.isSpecialKey = function(){
    // same as original except for one line
    var k = this.normalizeKey(this.keyCode);
    // return (this.type == 'keypress' && this.ctrlKey) ||
    return (this.ctrlKey) ||
        this.isNavKeyPress() ||
        (k == this.BACKSPACE) ||
        (k >= 16 && k <= 20) ||
        (k >= 44 && k <= 46);
};





/* MonthPickerPlugin: thanks to keypoint @ sencha forum
   http://www.sencha.com/forum/showthread.php?74002-3.x-Ext.ux.MonthMenu&p=356860#post356860
*/
Ext.namespace('Ext.ux');

Ext.ux.MonthPickerPlugin = function() {
    var picker;
    var oldDateDefaults;

    this.init = function(pk) {
        picker = pk;
        picker.onTriggerClick = picker.onTriggerClick.createSequence(onClick);
        picker.getValue = picker.getValue.createInterceptor(setDefaultMonthDay).createSequence(restoreDefaultMonthDay);
        picker.beforeBlur = picker.beforeBlur.createInterceptor(setDefaultMonthDay).createSequence(restoreDefaultMonthDay);
    };

    function setDefaultMonthDay() {
        oldDateDefaults = Date.defaults.d;
        Date.defaults.d = 1;
        return true;
    }

    function restoreDefaultMonthDay(ret) {
        Date.defaults.d = oldDateDefaults;
        return ret;
    }

    function onClick(e, el, opt) {
        var p = picker.menu.picker;
        p.activeDate = p.activeDate.getFirstDateOfMonth();
        if (p.value) {
            p.value = p.value.getFirstDateOfMonth();
        }

        p.showMonthPicker();

        if (!p.disabled) {
            p.monthPicker.stopFx();
            p.monthPicker.show();

            p.mun(p.monthPicker, 'click', p.onMonthClick, p);
            p.mun(p.monthPicker, 'dblclick', p.onMonthDblClick, p);
            p.onMonthClick = p.onMonthClick.createSequence(pickerClick);
            p.onMonthDblClick = p.onMonthDblClick.createSequence(pickerDblclick);
            p.mon(p.monthPicker, 'click', p.onMonthClick, p);
            p.mon(p.monthPicker, 'dblclick', p.onMonthDblClick, p);
        }
    }

    function pickerClick(e, t) {
        var el = new Ext.Element(t);
        if (el.is('button.x-date-mp-cancel')) {
            picker.menu.hide();
        } else if(el.is('button.x-date-mp-ok')) {
            var p = picker.menu.picker;
            p.setValue(p.activeDate);
            p.fireEvent('select', p, p.value);
        }
    }

    function pickerDblclick(e, t) {
        var el = new Ext.Element(t);
        if (el.parent()
            && (el.parent().is('td.x-date-mp-month')
            || el.parent().is('td.x-date-mp-year'))) {

            var p = picker.menu.picker;
            p.setValue(p.activeDate);
            p.fireEvent('select', p, p.value);
        }
    }
};

Ext.preg('monthPickerPlugin', Ext.ux.MonthPickerPlugin);

// Override this function to put the listeners always on the keydown event regardless of the browser.See #2887
Ext.EventManager.getKeyEvent = function() {
  return 'keydown';
};

/**
JC Watsons solution (adapted to ExtJS 3.3.1 by LS) is elegant and simple:
`A "fix" for unchecked checkbox submission  behaviour
<http://www.sencha.com/forum/showthread.php?28449>`_

Added special handling for checkbox inputs.
ExtJS defines disabled checkboxes `readonly`, not `disabled` as for other inputs.

*/
Ext.lib.Ajax.serializeForm = function(form) {
    // console.log('20170731 linolib.js serializeForm', form);
    var fElements = form.elements || (document.forms[form] || Ext.getDom(form)).elements,
        hasSubmit = false,
        encoder = encodeURIComponent,
        name,
        data = '',
        type,
        hasValue;

    Ext.each(fElements, function(element){
        name = element.name;
        type = element.type;

        if (!element.disabled && name && !(type == 'checkbox' && element.readonly)) {
            if (/select-(one|multiple)/i.test(type)) {
                Ext.each(element.options, function(opt){
                    if (opt.selected) {
                        hasValue = opt.hasAttribute ? opt.hasAttribute('value') : opt.getAttributeNode('value').specified;
                        data += String.format("{0}={1}&", encoder(name), encoder(hasValue ? opt.value : opt.text));
                    }
                });
            } else if (!(/file|undefined|reset|button/i.test(type))) {
                //~ if (!(/radio|checkbox/i.test(type) && !element.checked) && !(type == 'submit' && hasSubmit)) {
                if (!(type == 'submit' && hasSubmit)) {
                    if (type == 'checkbox') {
                        //~ console.log('20111001',element,'data += ',encoder(name) + '=' + (element.checked ? 'on' : 'off') + '&');
                        data += encoder(name) + '=' + (element.checked ? 'on' : 'off') + '&';
                    } else {
                        //~ console.log('20111001',element,'data += ',encoder(name) + '=' + encoder(element.value) + '&');
                        data += encoder(name) + '=' + encoder(element.value) + '&';
                    }
                    hasSubmit = /submit/i.test(type);
                }
            }
        //~ } else {
            //~ console.log(name,type,element.readonly);
        }
    });
    return data.substr(0, data.length - 1);
};



/*
Set a long timeout of fifteen minutes.
See /blog/2012/0307
*/
Ext.Ajax.timeout = 15 * 60 * 1000;

/*
 * Thanks to
 * `huuze <http://stackoverflow.com/users/10040/huuuze>`_ for the question
 * and to
 * `chrisv <http://stackoverflow.com/users/683808/chrisv>`_
 * for the answer on
 * http://stackoverflow.com/questions/3764589/how-do-i-include-django-1-2s-csrf-token-in-a-javascript-generated-html-form/5485616#5485616
 *
 * */

Ext.Ajax.on('beforerequest', function (conn, options) {
   if (!(/^http:.*/.test(options.url) || /^https:.*/.test(options.url))) {
     if (typeof(options.headers) == "undefined") {
       options.headers = {'X-CSRFToken': Ext.util.Cookies.get('csrftoken')};
     } else {
       options.headers['X-CSRFToken'] = Ext.util.Cookies.get('csrftoken');
     }
   }
}, this);

// Ext.apply(Ext.EventManager, function(){
//     return{
//         getKeyEvent : function(){
//                //return useKeydown ? 'keydown' : 'keypress';
//            return 'keydown';
//            },
// }});

/* This probably worked, but was not used in real world.
My fix for the "Cannot set QuickTips dismissDelay to 0" bug,
see http://www.sencha.com/forum/showthread.php?183515

*/
// Ext.override(Ext.QuickTip,{
//   showAt : function(xy){
//         var t = this.activeTarget;
//         // console.log("20171024 QuickTip.showAt",this.title,this.dismissDelay,t.dismissDelay);
//         if(t){
//             if(!this.rendered){
//                 this.render(Ext.getBody());
//                 this.activeTarget = t;
//             }
//             if(t.width){
//                 this.setWidth(t.width);
//                 this.body.setWidth(this.adjustBodyWidth(t.width - this.getFrameWidth()));
//                 this.measureWidth = false;
//             } else{
//                 this.measureWidth = true;
//             }
//             this.setTitle(t.title || '');
//             this.body.update(t.text);
//             this.autoHide = t.autoHide;
//             // bugfix by Luc 20120226
//             if (t.dismissDelay != undefined) this.dismissDelay = t.dismissDelay;
//             //~ this.dismissDelay = t.dismissDelay || this.dismissDelay;
//             if(this.lastCls){
//                 this.el.removeClass(this.lastCls);
//                 delete this.lastCls;
//             }
//             if(t.cls){
//                 this.el.addClass(t.cls);
//                 this.lastCls = t.cls;
//             }
//             if(this.anchor){
//                 this.constrainPosition = false;
//             }else if(t.align){
//                 xy = this.el.getAlignToXY(t.el, t.align);
//                 this.constrainPosition = false;
//             }else{
//                 this.constrainPosition = true;
//             }
//         }
//         Ext.QuickTip.superclass.showAt.call(this, xy);
//     }
// });

/*
Another hack. See /docs/blog/2012/0228
*/
Ext.Element.addMethods(
    function() {
        var VISIBILITY      = "visibility",
            DISPLAY         = "display",
            HIDDEN          = "hidden",
            NONE            = "none",
            XMASKED         = "x-masked",
            XMASKEDRELATIVE = "x-masked-relative",
            data            = Ext.Element.data;

        return {

            mask : function(msg, msgCls) {
                var me  = this,
                    dom = me.dom,
                    dh  = Ext.DomHelper,
                    EXTELMASKMSG = "ext-el-mask-msg",
                    el,
                    mask;
                // removed the following lines. See /docs/blog/2012/0228
                //~ if (!(/^body/i.test(dom.tagName) && me.getStyle('position') == 'static')) {
                    //~ console.log(20120228,dom.tagName,me);
                    //~ me.addClass(XMASKEDRELATIVE);
                //~ }
                if (el = data(dom, 'maskMsg')) {
                    el.remove();
                }
                if (el = data(dom, 'mask')) {
                    el.remove();
                }

                mask = dh.append(dom, {cls : "ext-el-mask"}, true);
                data(dom, 'mask', mask);

                me.addClass(XMASKED);
                mask.setDisplayed(true);

                if (typeof msg == 'string') {
                    var mm = dh.append(dom, {cls : EXTELMASKMSG, cn:{tag:'div'}}, true);
                    data(dom, 'maskMsg', mm);
                    mm.dom.className = msgCls ? EXTELMASKMSG + " " + msgCls : EXTELMASKMSG;
                    mm.dom.firstChild.innerHTML = msg;
                    mm.setDisplayed(true);
                    mm.center(me);
                }


                if (Ext.isIE && !(Ext.isIE7 && Ext.isStrict) && me.getStyle('height') == 'auto') {
                    mask.setSize(undefined, me.getHeight());
                }

                return mask;
            }


        };
    }()
);



Ext.namespace('Lino');

Lino.insert_linoweb_version = function(p){
    p.lv = GEN_TIMESTAMP;
};


//~ Lino.subst_user_field = new Ext.form.ComboBox({});
//~ Lino.subst_user = null;
Lino.insert_subst_user = function(p){
    Lino.insert_linoweb_version(p);
    //~ console.log('20120714 insert_subst_user',Lino.subst_user,p);
    if (!p.ul)
      if (Lino.user_language)
        p.ul = Lino.user_language;

    if (p.su) return;
    if (Lino.subst_user) {
        //~ p.su = Lino.subst_user_field.getValue();
        p.su = Lino.subst_user;
    //~ } else {
        //~ delete p.su;
    }
    //~ console.log('20120714 insert_subst_user -->',Lino.subst_user,p);
}

// Lino.login_window = null;



Lino.set_subst_user = function(id, name) {
    //~ console.log(20130723,'Lino.set_subst_user',id,name,Lino.current_window,Lino.viewport);
    Lino.subst_user = id;
    if (Lino.current_window)
        Lino.current_window.main_item.set_base_param("su",id);
    if (Lino.viewport)
        Lino.permalink_handler(Lino.current_window)();
}

Lino.set_user_language = function(lang) {
    Lino.user_language = lang;
    if (Lino.current_window)
        Lino.current_window.main_item.set_base_param("ul", lang);
    if (Lino.viewport)
        Lino.permalink_handler(Lino.current_window)();
}

Lino.goto_record_id = function(pk) {

    if (Lino.current_window)
        Lino.current_window.main_item.goto_record_id(pk);
}


//~ Lino.select_subst_user = function(cmp,rec,value){
    //~ Lino.subst_user=value;
    //~ console.log(20120713,rec);
//~ }

Lino.current_window = null;
Lino.window_history = Array();

Lino.chars2width = function(cols) {  return cols * 9; }
Lino.rows2height = function(cols) {  return cols * 20; }
Lino.perc2width = function(perc) {
    // var w = Math.max(document.documentElement.clientWidth, window.innerWidth);
    // console.log("20151226", document, window, w);
    var w = Lino.viewport.getWidth();
    return w * perc / 100;
}



Lino.MainPanel = {
  is_home_page: false
  ,auto_apply_params: true
  ,setting_param_values : false
  ,config_containing_window : function(wincfg) { }
  ,init_containing_window : function(win) { }
  ,is_loading : function() {
      if (!this.rendered) return true;
      //~ return (Ext.select('.x-loading-msg').elements.length > 0);
      return true;
    }
  ,do_when_clean : function(auto_save,todo) { todo() }
  ,get_master_params : function() {
    var p = {}
    p['mt'] = this.content_type;
    rec = this.get_current_record()
    if (rec) {
      if (rec.phantom) {
          p['mk'] = undefined;
      }else{
          p['mk'] = rec.id;
      }
    } else {
      p['mk'] = undefined;
    }
    //~ console.log('get_master_params returns',p,'using record',rec);
    return p;
  }
  ,get_permalink : function() {
    var p = Ext.apply({}, this.get_base_params());
    delete p.fmt;
    delete p.lv;
    Ext.apply(p, this.get_permalink_params());

    if (this.toggle_params_panel_btn) {
        p.sp = this.toggle_params_panel_btn.pressed;
        //~ if (this.toggle_params_panel_btn.pressed == this.params_panel_hidden) {
          //~ p.sp = true;
        //~ }
    }

    //~ Lino.insert_subst_user(p);
     //~ p.fmt = 'html';
    //~ console.log('get_permalink',p,this.get_permalink_params());
    if (this.is_home_page)
        //~ var url = '';
        var url = '/';
    else
        var url = this.get_permalink_url();
    if (p.su == null)
        delete p.su;
    if (Ext.urlEncode(p)) url = url + "?" + Ext.urlEncode(p);
    return url;
  }
  ,get_record_url : function(record_id) {
      var url = '/api' + this.ls_url
      //~ var url = this.containing_window.config.url_data; // ls_url;
      url += '/' + (record_id === undefined ? this.default_record_id : String(record_id));
      //~ if (record_id !== undefined) url += '/' + String(record_id);
      //~ url += '/' + String(record_id);
      return url;
  }
  ,get_permalink_url : function() {
      return '/api' + this.ls_url;
  }
  ,get_permalink_params : function() {
      //~ return {an:'grid'};
      var p = {};
      if (this.action_name)
          p.an = this.action_name;
      this.add_param_values(p,false)
      return p;
  }
  /*

  Lino.MainPanel.set_status() : the status can have the following keys:

  - param_values : values of parameter fields
  - field_values : values of action parameter fields
  - base_params
  - record_id
  - active_tab
  - data_record
  - show_params_panel
  - current_page

   */
  ,set_status : function(status, requesting_panel) {}
  ,get_status : function() { return {}}
  ,refresh : function() {}
  ,get_base_params : function() {  // Lino.MainPanel
    var p = {};
    Lino.insert_subst_user(p);
    Lino.insert_linoweb_version(p);
    return p;
  }
  ,add_params_panel : function (tbar) {
      if (this.params_panel) {
        //~  20130923b
        //~ this.params_panel.autoHeight = true; // 20130924
        var t = this;
        var update = function() {
            var p = t.params_panel;
            //~ console.log("update", p.getSize().height,p.forceLayout,p.autoHeight);
            var w = t.get_containing_window();
            Lino.do_when_visible(w, function() {
                //~ p.doLayout(true); // doLayout(shallow, force)
                w.doLayout(true); // doLayout(shallow, force)
                //~ t.params_panel.on('afterlayout',update,t,{single:true});
            });
        };
        Lino.do_when_visible(this.params_panel, update);
        this.params_panel.on('show',update);
        this.params_panel.on('hide',update);
        //~ this.params_panel.on('bodyresize',update);
        this.params_panel.on('afterlayout',update);
        //~ this.params_panel.on('afterlayout',update,this,{single:true});
        //~ this.params_panel.on('bodyresize',update,this,{single:true});
        //~ this.params_panel.on('resize',update,this,{single:true});
        //~ this.params_panel.on('render',update,this,{single:true});

        // this.params_panel.on('render',
        //~ this.params_panel.on('afterlayout',update,this,{single:true,delay:200});
        //~ this.params_panel.on('bodyresize',update,this,{single:true,delay:200});
        this.toggle_params_panel_btn = new Ext.Button({ scope:this,
          //~ text: "$_("[parameters]")", // gear
          iconCls: 'x-tbar-database_gear',
          tooltip:"Show or hide the table parameters panel",
          enableToggle: true,
          //~ pressed: ! this.params_panel.hidden,
          pressed: ! this.params_panel_hidden,
          toggleHandler: function(btn,state) {
            //~ console.log("20120210 add_params_panel",state,this.params_panel);
            if (state) {
                this.params_panel.show();
            } else {
                this.params_panel.hide();
            }
            //~ this.params_panel.on('afterlayout',update,this,{single:true});
            //~ t.get_containing_window().doLayout();
            //~ this.params_panel.on('afterlayout',function() {
                //~ console.log("20130918 afterlayout");
                //~ t.get_containing_window().doLayout(); // doLayout(shallow, force)
            //~ },this,{single:true});
          }
        });
        tbar = tbar.concat([this.toggle_params_panel_btn]);

        if (this.auto_apply_params) {
            var refresh = function() {
                if (!t.setting_param_values) {
                    t._force_dirty = true;
                    t.refresh();
                }
            }
            Ext.each(this.params_panel.fields,function(f) {
              //~ f.on('valid',function() {t.refresh()});
              if (f instanceof Ext.form.Checkbox) {
                  f.on('check',refresh);
//              } else if (f instanceof Ext.DatePicker) {
//                  f.on('select',refresh);
//                  console.log('Ext.DatePicker');
              } else if (f instanceof Ext.form.DateField) {
                  f.on('change',refresh);
              } else if (f instanceof Ext.form.TriggerField) {
                  f.on('select',refresh);
                  //~ f.on('change',refresh);
                  //~ f.on('valid',refresh);
              } else {
                  if (! f.on)
                      console.log("20121010 no method 'on'",f);
                  else
                      f.on('change',refresh);
                }
              });
        }
      }
      return tbar;
  }
  ,add_param_values : function (p,force_dirty) {
    if (this.params_panel) {
      /*
      * 20120918 add param_values to the request string
      * *only if the params_form is dirty*.
      * Otherwise Actor.default_params() would never be used.
      *
      * 20121023 But IntegClients.params_default has non-empty default values.
      * Users must have the possibility to make them empty.
      *
      * 20130605 : added `force_dirty` parameter because Checkbox fields don't
      * mark their form as dirty when check is fired.
      *
      * 20130721 : `force_dirty` not as a parameter but as
      * `this._force_dirty` because
      *
      * 20130915 : both _force_dirty and force_dirty parameter are needed.
      *
      */
      if (force_dirty || this._force_dirty || this.params_panel.form.isDirty()) {
      //~ if (this._force_dirty || this.params_panel.form.isDirty()) {
        p.pv = this.get_param_values();
        //~ console.log("20130923 form is dirty (",force_dirty,this._force_dirty,this.params_panel.form.isDirty(),")");
        //~ console.log("20130923 form is dirty",p);
      }else{
        //~ console.log("20130923 form not dirty:",this.params_panel.form);
        if (this.status_param_values)
          p.pv = Lino.fields2array(
            this.params_panel.fields,this.status_param_values);
      }
      //~ if (!this.params_panel.form.isDirty()) return;
      //~ p.pv = this.get_param_values();
      //~ console.log("20120203 add_param_values added pv",p.pv,"to",p);
    }
    else if(this.use_detail_params_value){
      p.pv = Lino.fields2array(this.ownerCt.ownerCt.ownerCt.params_panel.fields);
      }
  },
  get_param_values : function() { // similar to get_field_values()
      return Lino.fields2array(this.params_panel.fields);
  },
  set_param_values : function(pv) {
    if (this.params_panel) {
      //~ console.log('20120203 MainPanel.set_param_values', pv);
      this.status_param_values = pv;
      //~ this.params_panel.form.suspendEvents(false);
      this.setting_param_values = true;
      if (pv) {
          this.params_panel.form.my_loadRecord(pv);
      } else {
        this.params_panel.form.reset();
      }
      this.setting_param_values = false;
      this._force_dirty = false;
      //~ this.params_panel.form.resumeEvents();
    }
  }
};




Lino.Viewport = Ext.extend(Ext.Viewport, Lino.MainPanel);
Lino.Viewport = Ext.extend(Lino.Viewport, {
  layout : "fit"
  ,is_home_page : true
  ,initComponent : function(){
    Lino.Viewport.superclass.initComponent.call(this);
    this.on('render',function(){
      this.loadMask = new Ext.LoadMask(this.el,{msg:"Please wait..."});
      //~ console.log("20121118 Lino.viewport.loadMask",this.loadMask);
    },this);
  }
  ,refresh : function() {
      var caller = this;
      // console.log("20140829 Lino.Viewport.refresh()");
      if (caller.loadMask) caller.loadMask.show();
      var success = function(response) {
        if (caller.loadMask) caller.loadMask.hide();
        if (response.responseText) {
          var result = Ext.decode(response.responseText);
          //~ console.log('Lino.do_action()',action.name,'result is',result);
          if (result.html) {
              var cmp = Ext.getCmp('dashboard');
              // cmp.removeAll(true);  // 20140829
              cmp.update(result.html, true);
          }

        if (result.message) {
            //~ if (result.alert && ! gridmode) {
            if (result.alert) { // 20120628b
                //~ Ext.MessageBox.alert('Alert',result.alert_msg);
                if (result.alert === true) result.alert = "Alert";
                Ext.MessageBox.alert(result.alert, result.message, function(){eval(result.alert_eval_js)});
            } else {
                Lino.notify(result.message);
            }
        }
          if (result.notify_msg) Lino.notify(result.notify_msg);
          if (result.js_code) {
            var jsr = result.js_code(caller);
            //~ console.log('Lino.do_action()',action,'returned from js_code in',result);
          };
        }
      };
      var p = {}
      Lino.insert_linoweb_version(p);
      var action = {
        url : '/api/main_html',
        waitMsg: "Please wait...",
        failure: Lino.ajax_error_handler(caller),
        success: success,
        method: 'GET',
        params: {}
      };
      Lino.insert_subst_user(action.params);
      Ext.Ajax.request(action);

  }
});




Lino.open_window = function(win, st, requesting_panel) {
  // console.log("20140831 Lino.open_window()", win, win.el.getBox());
  var cw = Lino.current_window;
  if (cw) {
    // console.log("20140829 Lino.open_window() save current status",
    //             cw.main_item.get_status());
    Lino.window_history.push({
      window:cw,
      status:cw.main_item.get_status()
    });
  }
  Lino.current_window = win;
  //~ if (st.su)
      //~ Lino.subst_user_field.setValue(st.su);
  win.main_item.set_status(st, requesting_panel);
  // win.toFront();
  win.show();
};

Lino.load_url = function(url) {
    //~ foo.bar.baz = 2;
    //~ console.log("20121120 Lino.load_url()");
    //~ Lino.body_loadMask.show();
    Lino.viewport.loadMask.show();
    //~ location.replace(url);
    document.location = url;
}

Lino.close_window = function(status_update, norestore) {
  // norestore is true when called by handle_action_result() who
  // will call set_status() itself later
  var cw = Lino.current_window;
  var ww = Lino.window_history.pop();
  var retval = cw.main_item.requesting_panel;
  // console.log(
  //     "20150514 Lino.close_window() going to close", cw.title,
  //     "previous is", ww,
  //     "norestore is", norestore,
  //     "retval is", retval);
  if (ww) {
    //~ if (status_update) Ext.apply(ww.status,status_update);
    if(!norestore) {
        if (status_update) status_update(ww);
        // 20180725 ww.window.main_item.set_status(ww.status , cw.id);
        ww.window.main_item.set_status(ww.status , retval);
    }
    Lino.current_window = ww.window;
  } else {
      Lino.current_window = null;
      // new since 20140829:
      if(!norestore) { Lino.viewport.refresh(); }
  }
  if (cw) cw.hide_really();
  return retval;
};

Lino.kill_current_window = function() {
  // console.log("20140418 Lino.kill_current_window()");
  var cw = Lino.current_window;
  Lino.current_window = null;
  if (cw) cw.hide_really();
};

Lino.reload = function() {
    // First close all windows to ensure all changes are saved
    Lino.close_all_windows();

    // Then reload current view
    var url =  "/"

    var p = {};
    Lino.insert_subst_user(p)
    if (Ext.urlEncode(p))
        url = url + "?" + Ext.urlEncode(p);

    Lino.load_url(url);
}

Lino.handle_home_button = function() {
  if (Lino.window_history.length == 0)
      Lino.reload();
  else
      Lino.close_all_windows();
}

Lino.close_all_windows = function() {
    while (Lino.window_history.length > 0) {
        Lino.close_window();
    }
}

Lino.calling_window = function() {
    if (Lino.window_history.length)
        return Lino.window_history[Lino.window_history.length-1];
}

//~ Lino.WindowAction = function(mainItemClass,windowConfig,mainConfig,ppf) {
Lino.WindowAction = function(windowConfig,main_item_fn) {
    //~ if(!mainConfig) mainConfig = {};
    //~ mainConfig.is_main_window = true;
    this.windowConfig = windowConfig;
    this.main_item_fn = main_item_fn;
    //~ if (ppf) mainConfig.params_panel.fields = ppf;
    //~ this.mainConfig = mainConfig;
    //~ this.mainItemClass = mainItemClass;
};

Lino.WindowAction = Ext.extend(Lino.WindowAction,{
    window : null,
    //~ mainItemClass: null,
    get_window : function() {
      //~ if(mainConfig) Ext.apply(this.mainConfig,mainConfig);
      // if (this.window == null || this.window.isDestroyed)  { // 20140829
      // if (this.window == null || this.window.getBox().width == 0)  { // 20140829
      if (this.window == null)  {
      // if (true)  {
          //~ this.windowConfig.main_item = new this.mainItemClass(this.mainConfig);
          this.windowConfig.main_item = this.main_item_fn();
          this.window = new Lino.Window(this.windowConfig);
      }
      return this.window;
    },
    run : function(requesting_panel, status) {
      // console.log('20140829 window_action.run()', this)
      Lino.open_window(this.get_window(), status, requesting_panel);
    }

});


Lino.PanelMixin = {
  get_containing_window : function (){
      if (this.containing_window) return this.containing_window;
      return this.containing_panel.get_containing_window();
  }
  ,set_window_title : function(title) {
    //~ this.setTitle(title);
    var cw = this.get_containing_window();

    //~ if (cw) {
    //~ if (cw && cw.closable) {
    if (cw && !cw.main_item.hide_window_title) {
      //~ console.log('20111202 set_window_title(',title,') for',this.containing_window);
      //~ if (! this.containing_window.rendered) console.log("WARNING: not rendered!");
      cw.setTitle(title);
    //~ } else {
      //~ document.title = title;
    }
    //~ else console.log('20111202 not set_window_title(',title,') for',this);
  }

};


// Lino.status_bar = new Ext.ux.StatusBar({defaultText:'Lino version 21.7.5.'});






/*
  Originally copied from Ext JS Library 3.3.1
  Modifications by Luc Saffre :
  - rendering of phantom records
  - fire afteredit event
  - react on dblclcik, not on single click

 */
Lino.CheckColumn = Ext.extend(Ext.grid.Column, {

    processEvent : function(name, e, grid, rowIndex, colIndex){
        //~ console.log('20110713 Lino.CheckColumn.processEvent',name)
        if (name == 'click') {
        //~ if (name == 'mousedown') {
        //~ if (name == 'dblclick') {
            return this.toggleValue(grid, rowIndex, colIndex);
        } else {
            return Ext.grid.ActionColumn.superclass.processEvent.apply(this, arguments);
        }
    },

    toggleValue : function (grid,rowIndex,colIndex) {
        var record = grid.store.getAt(rowIndex);
        var dataIndex = grid.colModel.getDataIndex(colIndex);
        // 20120514
        //~ if(record.data.disabled_fields && record.data.disabled_fields[dataIndex]) {
          //~ Lino.notify("This field is disabled");
          //~ return false;
        //~ }

        //~ if (dataIndex in record.data['disabled_fields']) {
            //~ Lino.notify("This field is disabled.");
            //~ return false;
        //~ }
        var startValue = record.data[dataIndex];
        var value = !startValue;
        //~ record.set(this.dataIndex, value);
        var e = {
            grid: grid,
            record: record,
            field: dataIndex,
            originalValue: startValue,
            value: value,
            row: rowIndex,
            column: colIndex,
            cancel: false
        };
        if(grid.fireEvent("beforeedit", e) !== false && !e.cancel){
        //~ if(grid.fireEvent("validateedit", e) !== false && !e.cancel){
            record.set(dataIndex, value);
            delete e.cancel;
            grid.fireEvent("afteredit", e);
        }
        return false; // Cancel event propagation
    },

    renderer : function(v, p, record){
        if (record.phantom) return '';
        p.css += ' x-grid3-check-col-td';
        return String.format('<div class="x-grid3-check-col{0}">&#160;</div>', v ? '-on' : '');
    }

    // Deprecate use as a plugin. Remove in 4.0
    // init: Ext.emptyFn
});

// register ptype. Deprecate. Remove in 4.0
// Ext.preg('checkcolumn', Lino.CheckColumn);

// backwards compat. Remove in 4.0
// Ext.grid.CheckColumn = Lino.CheckColumn;

// register Column xtype
Ext.grid.Column.types.checkcolumn = Lino.CheckColumn;


/* 20110725 :
Lino.on_tab_activate is necessary
in contacts.Person.2.dtl
(but don't ask me why...)
*/
Lino.on_tab_activate = function(item) {
  //~ console.log('activate',item);
  if (item.rendered && item.doLayout) item.doLayout();
  //~ if (item.rendered) item.doLayout();
}

Lino.TimeField = Ext.extend(Ext.form.TimeField,{
  format: 'H:i',
  altFormats: 'g:ia|g:iA|g:i a|g:i A|h:i|g:i|H:i|ga|ha|gA|h a|g a|g A|gi|hi|gia|hia|g|H|gi a|hi a|giA|hiA|gi A|hi A|Hi|g.ia|g.iA|g.i a|g.i A|h.i|g.i|H.i',
  increment: 15
  });
Lino.DateField = Ext.extend(Ext.form.DateField,{
  //~ boxMinWidth: Lino.chars2width(15), // 20131005 changed from 11 to 15
  format: 'd.m.Y',
  altFormats: 'd/m/Y|Y-m-d'
  });
Lino.DatePickerField = Ext.extend(Ext.DatePicker,{
  //~ boxMinWidth: Lino.chars2width(11),
  format: 'd.m.Y',
  //~ altFormats: 'd/m/Y|Y-m-d'
  formatDate : function(date){
      //~ console.log("20121203 formatDate",this.name,date);
      return Ext.isDate(date) ? date.dateFormat(this.format) : date;
  }
  });
Lino.DateTimeField = Ext.extend(Ext.ux.form.DateTime,{
  dateFormat: 'd.m.Y',
  timeFormat: 'H:i'
  //~ ,hiddenFormat: 'd.m.Y H:i'
  });
Lino.URLField = Ext.extend(Ext.form.TriggerField,{
  triggerClass : 'x-form-search-trigger',
  //~ triggerClass : 'x-form-world-trigger',
  vtype: 'url',
  onTriggerClick : function() {
    //~ console.log('Lino.URLField.onTriggerClick',this.value)
    //~ document.location = this.value;
    window.open(this.getValue(),'_blank');
  }
});
Lino.IncompleteDateField = Ext.extend(Ext.form.TextField,{
  //~ regex: /^-?\d+-[01]\d-[0123]\d$/,
  //~ regex: /^[0123]\d\.[01]\d\.-?\d+$/,
  maxLength: 10,
  boxMinWidth: Lino.chars2width(10),
  regex: /^[0123]?\d\.[01]?\d\.-?\d+$/,
  regexText: 'Enter a date in format YYYY-MM-DD (use zeroes for unknown parts).'
  });


//~ Lino.make_dropzone = function(cmp) {
    //~ cmp.on('render', function(ct, position){
      //~ ct.el.on({
        //~ dragenter:function(event){
          //~ event.browserEvent.dataTransfer.dropEffect = 'move';
          //~ return true;
        //~ }
        //~ ,dragover:function(event){
          //~ event.browserEvent.dataTransfer.dropEffect = 'move';
          //~ event.stopEvent();
          //~ return true;
        //~ }
        //~ ,drop:{
          //~ scope:this
          //~ ,fn:function(event){
            //~ event.stopEvent();
            //~ console.log(20110516);
            //~ var files = event.browserEvent.dataTransfer.files;
            //~ if(files === undefined){
              //~ return true;
            //~ }
            //~ var len = files.length;
            //~ while(--len >= 0){
              //~ console.log(files[len]);
              //~ // this.processDragAndDropFileUpload(files[len]);
            //~ }
          //~ }
        //~ }
      //~ });
    //~ });
//~ };

//~ Lino.FileUploadField = Ext.ux.form.FileUploadField;

Lino.FileUploadField = Ext.extend(Ext.ux.form.FileUploadField,{
    ctCls :"field-margin",
    unused_onRender : function(ct, position){
      Lino.FileUploadField.superclass.onRender.call(this, ct, position);
      this.el.on({
        dragenter:function(event){
          event.browserEvent.dataTransfer.dropEffect = 'move';
          return true;
        }
        ,dragover:function(event){
          event.browserEvent.dataTransfer.dropEffect = 'move';
          event.stopEvent();
          return true;
        }
        ,drop:{
          scope:this
          ,fn:function(event){
            event.stopEvent();
            //~ console.log(20110516);
            var files = event.browserEvent.dataTransfer.files;
            if(files === undefined){
              return true;
            }
            var len = files.length;
            while(--len >= 0){
              console.log(files[len]);
              //~ this.processDragAndDropFileUpload(files[len]);
            }
          }
        }
      });
    }
});

Lino.FileField = Ext.extend(Ext.form.TriggerField,{
  triggerClass : 'x-form-search-trigger',
  editable: false,
  onTriggerClick : function() {
    //~ console.log('Lino.URLField.onTriggerClick',this.value)
    //~ document.location = this.value;
    if (this.getValue()) window.open(MEDIA_URL + '/'+this.getValue(),'_blank');
  }
});

Lino.file_field_handler = function(panel,config) {
  if (panel.action_name == 'insert') {
      panel.has_file_upload = true;


      // config.value = '<br/><br/>';

      var f = new Lino.FileUploadField(config);
      //~ Lino.make_dropzone(f);
      return f;
      //~ return new Ext.ux.form.FileUploadField(config);
      //~ return new Lino.FileField(config);

  } else {
      //~ return new Lino.URLField(config);
      return new Lino.FileField(config);
  }
}

Lino.VBorderPanel = Ext.extend(Ext.Panel,{
    constructor : function(config) {
      config.layout = 'border';
      delete config.layoutConfig;
      Lino.VBorderPanel.superclass.constructor.call(this,config);
      for(var i=0; i < this.items.length;i++) {
        var item = this.items.get(i);
        if (this.isVertical(item) && item.collapsible) {
          item.on('collapse',this.onBodyResize,this);
          item.on('expand',this.onBodyResize,this);
        }
      }
    },
    isVertical : function(item) {
       return (item.region == 'north' || item.region == 'south' || item.region == 'center');
    },
    onBodyResize: function(w, h){
        //~ console.log('VBorderPanel.onBodyResize',this.title)
      if (this.isVisible()) { // to avoid "Uncaught TypeError: Cannot call method 'getHeight' of undefined."
        var sumflex = 0;
        var availableHeight = this.getInnerHeight();
        var me = this;
        this.items.each(function(item){
          if (me.isVertical(item)) {
              if (item.collapsed || item.flex == 0 || item.flex === undefined) {
                  if (item.rendered) availableHeight -= item.getHeight();
              } else {
                  sumflex += item.flex;
              }
          }

        });
        //~ for(var i=0; i < this.items.length;i++) {
          //~ var item = this.items.get(i);
          //~ // if (this.isVertical(item) && item.getResizeEl()) {
          //~ if (this.isVertical(item)) {
              //~ if (item.collapsed || item.flex == 0 || item.flex === undefined) {
                  //~ // item.syncSize()
                  //~ // item.doLayout()
                  //~ // if (item.region == "north") console.log('region north',item.getHeight(),item.id, item);
                  //~ // if (item.getHeight() == 0) console.log(20100921,'both flex and getHeight() are 0!');
                  //~ availableHeight -= item.getHeight();
              //~ } else {
                  //~ sumflex += item.flex;
                  //~ // console.log(item.flex);
              //~ }
          //~ }
          //~ // else console.log('non-vertical item in VBoderPanel:',item)
        //~ }
        var hunit = availableHeight / sumflex;
        //~ console.log('sumflex=',sumflex,'hunit=',hunit, 'availableHeight=',availableHeight);
        for(var i=0; i < this.items.length;i++) {
          var item = this.items.get(i);
          if (this.isVertical(item)) {
              if (item.flex != 0 && ! item.collapsed) {
                  item.setHeight(hunit * item.flex);
                  //~ console.log(item.region,' : height set to',item.getHeight());
              }
          }
          //~ else console.log('non-vertical item in VBoderPanel:',item)
        }
      }
      Lino.VBorderPanel.superclass.onBodyResize.call(this, w, h);
    }
});


/*
  modifications to the standard behaviour of a CellSelectionModel:

*/
Ext.override(Ext.grid.CellSelectionModel, {
//~ var dummy = {

    getRowFrompx : function(px){
        g = this.grid;
        rows = g.getView().getRows();
        total_height = 0,
        searched_row = 0;
        for (row in rows){
            if (total_height < px){
                searched_row += 1;
                total_height += rows[row].clientHeight;
                }
            else{
                return searched_row;
            }
        }

    },
    handleKeyDown : function(e){
        /* removed because F2 wouldn't pass
        if(!e.isNavKeyPress()){
            return;
        }
        */
        //~ console.log('handleKeyDown',e)
        var k = e.getKey(),
            g = this.grid,
            s = this.selection,
            sm = this,
            walk = function(row, col, step){
                return g.walkCells(
                    row,
                    col,
                    step,
                    g.isEditor && g.editing ? sm.acceptsNav : sm.isSelectable,
                    sm
                );
            },
            cell, newCell, r, c, ae;
            t = g.getTopToolbar();
            if (t != undefined){
                d = t.getPageData();
            }
            else{
                d = undefined;
            }

        switch(k){
            case e.ESC:
                break;
            default:
                // e.stopEvent(); // removed because Browser keys like Alt-Home, Ctrl-R wouldn't work
                break;
        }

        if(!s){
            cell = walk(0, 0, 1);
            if(cell){
                this.select(cell[0], cell[1]);
            }
            return;
        }

        cell = s.cell;
        r = cell[0];
        c = cell[1];

        switch(k){
            case e.TAB:
                if(e.shiftKey){
                    newCell = walk(r, c - 1, -1);
                    // prev + [-1 -1]
                }else{
                    newCell = walk(r, c + 1, 1);
                }
                e.stopEvent(); // Don't allow tab to cause grid to loose focus
                if(!newCell && d != undefined){
                    var self = this;
                    var new_page = e.shiftKey? Math.max(1, d.activePage -1) : Math.min(d.pages, d.activePage +1) ;
                    if (d.activePage !== new_page) {
                        t.on('change', function (tb, pageData) {
                            if (e.shiftKey) {
                                self.select(
                                    Math.min(r, g.store.getCount() - 1),
                                    g.getColumnModel().getColumnsBy(function (col) {return !col.hidden}).last().colIndex
                                );
                            }else {
                                self.select(0,0);
                            }
                            //~ console.log('change',r,c);
                        }, this, {single: true});

                        if (e.shiftKey) {
                            t.movePrevious();
                        } else {
                            t.moveNext();
                        }
                        return;}
                }
                break;
            case e.HOME:
                if (!(g.isEditor && g.editing)) {
                    if (!e.hasModifier()) {
                        newCell = [r, 0];
                        //~ console.log('home',newCell);
                        break;
                    } else {
                        var activePage = Math.ceil((t.cursor + t.pageSize) / t.pageSize);
                        if (e.ctrlKey && activePage > 1) {
                            e.stopEvent();
                            var self = this;
                            t.on('change', function (tb, pageData) {
                                self.select(0, c);
                                //~ console.log('change',r,c);
                            }, this, {single: true});

                            t.moveFirst();
                            return;
                        }
                        newCell = [0, c];
                        break;
                    }
                }
            case e.END:
                if (!(g.isEditor && g.editing)) {
                    if (!e.hasModifier()) {
                        newCell = [r, g.getColumnModel().getColumnsBy(function (col) {
                            return !col.hidden
                        }).last().colIndex];
                        //~ console.log('end',newCell);
                        break;
                    } else if (d != undefined){
                        if (e.ctrlKey && d.activePage < d.pages) {
                            e.stopEvent();
                            var self = this;
                            t.on('change', function (tb, pageData) {
                                var r = g.store.getCount() - 1;
                                self.select(r, c);
                                //~ console.log('change',r,c);
                            }, this, {single: true});
                            t.moveLast();
                            return;
                        } else {
                            newCell = [g.store.getCount() - 1, c];
                            //~ console.log('ctrl-end',newCell);
                            break;
                        }
                    }
                }
            case e.PAGE_UP:
            case e.PAGE_DOWN:
                e.stopEvent();
                var self = this;
                var scroller = g.getView().scroller;
                var box = scroller.getBox();
                //console.log('box',box);
                var viewSize = scroller.getSize(); // EXP {width: 547, height: 500}
//                console.log('viewSize',viewSize);
                var scrollPosition = scroller.getScroll(); // EXP {left: 0, top: 135}
//                console.log('scrollPosition',scrollPosition);
//                if (box.height < box.bottom){
                var direction  = e.PAGE_DOWN === k ? 'b' : 'u';
                scroller.scroll(direction, box.y,false);
//                }
                var new_scrollPosition = scroller.getScroll(); // EXP {left: 0, top: 135}
//                console.log('new_scrollPosition',new_scrollPosition);
                if (new_scrollPosition.top != scrollPosition.top){
                    newcellpx = e.PAGE_DOWN === k ? box.height : new_scrollPosition.top;
                    var newx = this.getRowFrompx(newcellpx);
//                    console.log('newx',newx);
                    newCell = walk(newx,c,1)
                    break;
                }
//                g.getView().scroller.scroll('b', 99999,true);
//                g.getView().scroller.isScrollable();
                if (d != undefined){
                    var new_page = e.PAGE_DOWN === k ? Math.min(d.pages, d.activePage +1) : Math.max(1, d.activePage -1);
                    if (d.activePage !== new_page) {
                        t.on('change', function (tb, pageData) {
                            self.select(Math.min(r, g.store.getCount() - 1), c);
                            //~ console.log('change',r,c);
                        }, this, {single: true});
                        if(k === e.PAGE_DOWN){
                            t.moveNext();
                        }else{
                            t.movePrevious();
    //                        Go to the bottom of the new page
                            var scroller = g.getView().scroller;
                            var newbox = scroller.getBox();
                            scroller.scroll('b', newbox.bottom,false);
                        }
                    }
                    return;
                }else{ // same page, goto top / bottom row, keep c same
                    r = e.PAGE_DOWN === k ? g.store.getCount() - 1 : 0;
                    newCell = [r, c]
                }
                break;
            case e.DOWN:
                newCell = walk(r + 1, c, 1);
                break;
            case e.UP:
                newCell = walk(r - 1, c, -1);
                break;
            case e.RIGHT:
                newCell = walk(r, c + 1, 1);
                break;
            case e.LEFT:
                newCell = walk(r, c - 1, -1);
                break;
            case e.F2:
                if (!e.hasModifier()) {
                    if (g.isEditor && !g.editing) {
                        g.startEditing(r, c);
                        e.stopEvent();
                        return;
                    }
                    break;
                }
            case e.INSERT:
                if (!e.hasModifier()) {
                    if (g.ls_insert_handler && !g.editing) {
                        e.stopEvent();
                        Lino.show_insert(g);
                        return;
                    }
                    break;
                }
            case e.DELETE:
                if (!e.hasModifier()) {
                    if (!g.editing) {
                        e.stopEvent();
                        // Lino.delete_selected(g);
                        Lino.row_action_handler('delete_selected','GET',null)(g);
                        return;
                    }
                    break;
                }

            case e.ENTER:
                e.stopEvent();
                g.onCellDblClick(g,r,c);
                break;

            default:
                g.handle_key_event(e);

        }


        if(newCell){
          e.stopEvent();
          r = newCell[0];
          c = newCell[1];
          this.select(r, c);
          if(g.isEditor && g.editing){
            ae = g.activeEditor;
            if(ae && ae.field.triggerBlur){
                ae.field.triggerBlur();
            }
            g.startEditing(r, c);
          }
        //~ } else if (g.isEditor && !g.editing && e.charCode) {
        //~ // } else if (!e.isSpecialKey() && g.isEditor && !g.editing) {
            //~ g.set_start_value(String.fromCharCode(e.charCode));
            //~ // g.set_start_value(String.fromCharCode(k));
            //~ // g.set_start_value(e.charCode);
            //~ g.startEditing(r, c);
            //~ // e.stopEvent();
            //~ return;
        // } else {
          // console.log('20120513',e,g);
        }

    }


//~ };
});



function PseudoConsole() {
    this.log = function() {};
};
if (typeof(console) == 'undefined') console = new PseudoConsole();

Lino.notify = function(msg) {
  if (msg == undefined) msg = ''; else console.log(msg);
  
    if (msg == undefined) return;
    // Lino.alert(msg);
  
};

Lino.alert = function(msg) {
  Ext.MessageBox.alert('Notify',msg);
};


//~ Lino.show_about = function() {
  //~ new Ext.Window({
    //~ width: 400, height: 400,
    //~ title: "About",
    //~ html: '<a href="http://www.extjs.com" target="_blank">ExtJS</a> version ' + Ext.version
  //~ }).show();
//~ };

function obj2str(o) {
  if (typeof o != 'object') return String(o);
  var s = '';
  for (var p in o) {
    s += p + ': ' + obj2str(o[p]) + '\n';
  }
  return s;
}

Lino.on_store_exception = function (store,type,action,options,response,arg) {
  //~ throw response;
  console.log("on_store_exception: store=",store,
    "type=",type,
    "action=",action,
    "options=",options,
    "response=",response,
    "arg=",arg);
    if (arg != undefined && arg) { console.log(arg.stack)};
    var msg = "There was a problem with the database connection.";
    if (response.responseText)
        msg += '<br/>' + response.responseText
    msg += '<br/>' + "If the error persists, try reloading the browser page ([SHIFT+CTRL+R] in Firefox)."
    Ext.Msg.alert("Database problem", msg );

};

//~ Lino.on_submit_success = function(form, action) {
   //~ Lino.notify(action.result.message);
   //~ this.close();
//~ };

Lino.on_submit_failure = function(form, action) {
    //~ Lino.notify();
  // action may be undefined
    switch (action.failureType) {
        case Ext.form.Action.CLIENT_INVALID:
            Ext.Msg.alert("Client-side failure", "Please check all fields of this form before submitting");
            break;
        case Ext.form.Action.CONNECT_FAILURE:
            Ext.Msg.alert("Connection failure", "Ajax communication failed");
            break;
        case Ext.form.Action.SERVER_INVALID:
            Ext.Msg.alert("Server-side failure", action.result.message);
   }
};



/*
Lino.save_wc_handler = function(ww) {
  return function(event,toolEl,panel,tc) {
    var pos = panel.getPosition();
    var size = panel.getSize();
    wc = ww.get_window_config();
    Ext.applyIf(wc,{
      x:pos[0],y:pos[1],height:size.height,width:size.width,
      maximized:panel.maximized});
    Lino.do_action(ww,{url:'/window_configs/'+ww.config.permalink_name,params:wc,method:'POST'});
  }
};

*/

Lino.show_in_own_window_button = function(handler) {
  return {
    qtip: "Show this panel in own window",
    id: "up",
    handler: function(event,toolEl,panel, tc) {
      //~ console.log('20111206 report_window_button',panel,handler);
      handler.run(null,{base_params:panel.containing_panel.get_master_params()});
    }
  }
}

Lino.action_handler = function (panel, on_success, on_confirm) {
  return function (response) {
      if (!panel) {
          if (Lino.current_window)
              panel = Lino.current_window.main_item;
          else panel = Lino.viewport;
      }

    if (panel.loadMask) panel.loadMask.hide(); // 20120211
    if (!response.responseText) return ;
    var result = Ext.decode(response.responseText);
    Lino.handle_action_result(panel, result, on_success, on_confirm);
  }
};

Lino.handle_action_result = function (panel, result, on_success, on_confirm) {

    // console.log('20150514 Lino.handle_action_result()', result);

    // if (panel instanceof Lino.GridPanel) {
    //     gridmode = true;
    // } else {
    //     gridmode = false;
    // }

    //~ if (result.goto_record) {
        //~ var js = "Lino." + result.goto_record[0] + '.detail.run';
        //~ var h = eval(js);
        //~ h(panel,{record_id:result.goto_record[1]});
    //~ }

    if (result.goto_url) {
        document.location = result.goto_url;
        if (result.close_window) Lino.close_window();
        return;
    }

    if (result.xcallback) {
        //~ var config = {title:"Confirmation"};
        var config = {cls:"l-confirmation", title:result.xcallback.title};
        //~ config.buttons = Ext.MessageBox.YESNOCANCEL;
        //~ config.buttons = Ext.MessageBox.YESNO;
        var p = {};
        Lino.insert_subst_user(p);
        config.buttons = {};
        result.xcallback.buttons.forEach((button) => config.buttons[button[0]] = button[1]);
        config.msg = result.message;
        config.fn = function(buttonId, text, opt) {
          eval(result.xcallback[buttonId + "_resendEvalJs"])
        }
        Ext.MessageBox.show(config);
        return;
    }

    // `record_id` and/or `data_record` both mean "display the detail
    // of this record".

    if(result.detail_handler_name) {
        // TODO: make sure that result.detail_handler_name is secure
        var detail_handler = eval("Lino." + result.detail_handler_name);
    }
    var ns = {};  // new status
    if (result.close_window) {

        // Subsequent processing expects that `panel` is "the current
        // panel". But if we close the window, `panel` must point
        // to the previous window. Note the case of an insert window
        // that has been invoked by double-clicking on the phantom row
        // of a slave table in a detail window. In that case we want
        // `panel` to become the grid panel of the slave table who
        // called the insert window, not the master's detail form
        // panel.  When the insert window has been called by an action
        // link (e.g. generated using ar.insert_button), then
        // Lino.close_window can return `undefined`.

        if(result.record_id || result.data_record) {
            var ww = Lino.calling_window();
            if (ww && ww.window.main_item instanceof Lino.FormPanel) {
                if (ww.window.main_item.ls_detail_handler == detail_handler) {
                    ns.record_id = result.record_id;
                    ns.data_record = result.data_record;
                    // console.log("20150514 use new status.");
                }
            }
        }

        panel = Lino.close_window(
            function(ww) { Ext.apply(ww.status, ns) });
        if (!panel)
            // console.log("20150514 close_window returned no panel.");
            if (Lino.current_window)
                panel = Lino.current_window.main_item;

    }

    if(result.record_id || result.data_record) {
        if (! (ns.record_id || ns.data_record)) {
          // no close_window, so we must update record data in current
          // panel (if it is the detail_handler for this record) or
          // open the detail handler.
          var st = {
              record_id: result.record_id,
              data_record: result.data_record
          };
          if (result.active_tab) st.active_tab = result.active_tab;
          if (panel instanceof Lino.FormPanel
              && panel.ls_detail_handler == detail_handler)
            {
              // console.log("20210106 use panel.set_status().");
              st.base_params = panel.get_base_params();
              panel.set_status(st);
          } else {
              // console.log("20210106 run detail_handler.");
              if (panel !== undefined && panel.ls_detail_handler == detail_handler){
                st.base_params = panel.get_base_params();}
              detail_handler.run(null, st);
          }

          // if (panel instanceof Lino.FormPanel
          //     && panel.ls_url == result.actor_url) {
          //     // console.log("20140506 case 2 it's a FormPanel:", panel);
          //     panel.set_status({
          //         record_id: result.record_id,
          //         data_record: result.data_record});
          // } else if (panel.ls_detail_handler
          //            && panel.ls_url == result.actor_url) {
          //     // console.log("20140506 case 4");
          //     panel.ls_detail_handler.run(null, {
          //         record_id: result.record_id,
          //         data_record: result.data_record,
          //         base_params: panel.get_base_params()});
          // } else {
          //     result.refresh_all = true;
          //     console.log("20140604 case 6", result.actor_url);
          // }
        }
    }

    // `eval_js` must get handled after `close_window` because it
    // might ask to open a new window (and we don't want to close that
    // new window).  It must execute *before* any MessageBox,
    // otherwise the box would get hidden by a window that opens
    // afterwards.

    if (result.eval_js) {
        //~ console.log(20120618,result.eval_js);
        eval(result.eval_js);
    }

    if (on_success && result.success) {
        // console.log("20140430 handle_action_result calls on_success",
        //             on_success);
        on_success(result);
    }

    if (result.info_message) {
        console.log(result.info_message);
    }

    if (result.warning_message) {
        if (!result.alert) result.alert = "Warning";
        Ext.MessageBox.alert(result.alert, result.warning_message);
    }

    if (result.message) {
        //~ if (result.alert && ! gridmode) {
        if (result.alert) { // 20120628b
            //~ Ext.MessageBox.alert('Alert',result.alert_msg);
            if (result.alert === true) result.alert = "Alert";
            Ext.MessageBox.alert(result.alert, result.message, function(){eval(result.alert_eval_js)});
        } else {
            Lino.notify(result.message);
        }
    }

    if(result.record_deleted && panel.ls_detail_handler == detail_handler) {
        panel.after_delete();
        return;  // added 20200717 to fix #3715
    }

    if (result.refresh_all) {
        var cw = Lino.current_window;
        // var cw = panel.get_containing_window();
        if (cw) {
            // console.log("20140917 refresh_all calls refresh on", cw.main_item);
            cw.main_item.refresh();
        } else { Lino.viewport.refresh(); }
        // else console.log("20140917 cannot refresh_all because ",
        //                  "there is no current_window");
    } else {
        if (result.refresh) {
            // console.log("20140917 Gonna call panel.refresh()", panel);
            panel.refresh();
            panel.focus();
        }
    }if (result.open_url) {
        //~ console.log(20111126,result.open_url);
        //~ if (!result.message)
            //~ Lino.notify('Open new window <a href="'+result.open_url+'" target="_blank">'+result.open_url+'</a>');
        window.open(result.open_url,'foo',"");
        //~ document.location = result.open_url;
    }
};

// obsolete but still used for deleting records.
Lino.do_action = function(caller,action) {
  action.success = function(response) {
    if (caller.loadMask) caller.loadMask.hide();
    //~ console.log('Lino.do_action()',action,'action success',response);
    if (action.after_success) {
        //~ console.log('Lino.do_action() calling after_success');
        action.after_success();
    }
    if (response.responseText) {
      var result = Ext.decode(response.responseText);
      //~ console.log('Lino.do_action()',action.name,'result is',result);
      if (result.message) {
          if (result.alert) {
              //~ Ext.MessageBox.alert('Alert',result.alert_msg);
              Ext.MessageBox.alert('Alert',result.message);
          } else {
              Lino.notify(result.message);
          }
      }

      //~ if (result.alert_msg) Ext.MessageBox.alert('Alert',result.alert_msg);
      //~ if (result.message) Lino.notify(result.message);
      if (result.notify_msg) Lino.notify(result.notify_msg);
      if (result.js_code) {
        //~ console.log('Lino.do_action()',action,'gonna call js_code in',result);
        var jsr = result.js_code(caller);
        //~ console.log('Lino.do_action()',action,'returned from js_code in',result);
        if (action.after_js_code) {
          //~ console.log('Lino.do_action()',action,'gonna call after_js_code');
          action.after_js_code(jsr);
          //~ console.log('Lino.do_action()',action,'returned from after_js_code');
        //~ } else {
          //~ console.log('Lino.do_action()',action,' : after_js_code is false');
        }
      };
    }
  };
  Ext.applyIf(action,{
    waitMsg: "Please wait...",
    failure: Lino.ajax_error_handler(caller),
    params: {}
  });
  //~ action.params.su = Lino.subst_user;
  Lino.insert_subst_user(action.params);

  Ext.Ajax.request(action);
};

//~ Lino.gup = function( name )
//~ {
  //~ // Thanks to http://www.netlobo.com/url_query_string_javascript.html
  //~ name = name.replace(/[\[]/,"\\\[").replace(/[\]]/,"\\\]");
  //~ var regexS = "[\\?&]"+name+"=([^&#]*)";
  //~ var regex = new RegExp( regexS );
  //~ var results = regex.exec( window.location.href );
  //~ if( results == null )
    //~ return "";
  //~ else
    //~ return results[1];
//~ };

//~ Lino.refresh_handler = function (ww) {
  //~ return function() {
      //~ console.log('refresh',ww);
      //~ ww.main_item.doLayout(false,true);
      //~ ww.main_item.syncSize();
  //~ }
//~ };

//~ Lino.tools_close_handler = function (ww) {
  //~ return function() {
      //~ ww.close();
  //~ }
//~ };
Lino.permalink_handler = function (ww) {
  return function() {
    //~ document.location = ww.main_item.get_permalink();
    //~ console.log('20130723 Lino.permalink_handler',ww);

    /* Uncaught TypeError: Cannot read property 'main_item' of null  */
    if (ww) {
        var url = ww.main_item.get_permalink();
    } else {
        var url = Lino.viewport.get_permalink();
    }
    Lino.load_url(url);
  }
};
//~ Lino.run_permalink = function() {
  //~ var plink = Lino.gup('permalink');
  //~ if(plink) { eval('Lino.'+plink); }
//~ }

Lino.close_and_save_handler =  function (ww){
    return function(){
    if (ww) {
        ww.main_item.do_when_clean(true,function() {
        Lino.close_window(); });
        }
    }
};

Lino.ajax_error_handler = function(panel) {
  return function(response,options) {
    console.log('Ajax failure:', response, options);
    if (panel.loadMask) panel.loadMask.hide();
    if (response.responseText) {
      var lines = response.responseText.split('\n');
      if (lines.length > 10) {
          line = lines.splice(5, lines.length-10, "(...)");
      }
      //~ console.log(20131005, response.statusText.toCamel());
      Ext.MessageBox.alert(
        response.statusText.toCamel(),
        lines.join('<br/>')
        //~ response.responseText.replace(/\n/g,'<br/>'))
      )
    } else {
      Ext.MessageBox.alert('Action failed',
        'Lino server did not respond to Ajax request');
    }
  }
}
// Ext.Ajax.on('requestexception',Lino.ajax_error_handler)



Ext.QuickTips.init();

/* setting QuickTips dismissDelay to 0 */
// Apply a set of config properties to the singleton
//~ Ext.apply(Ext.QuickTips.getQuickTip(), {
//~ Ext.apply(Ext.ToolTip, {
    //~ dismissDelay: 0
    //~ autoHide: false,
    //~ closable: true,
    //~ maxWidth: 200,
    //~ minWidth: 100,
    //~ showDelay: 50      // Show 50ms after entering target
    //~ ,trackMouse: true
//~ });


// Ext.apply(Ext.QuickTips.getQuickTip(), {
//     dismissDelay: 500,
//     showDelay: 20      // Show 10ms after entering target
// });

Lino.quicktip_renderer = function(title, body) {
  return function(c) {
    //~ if (c instanceof Ext.Panel) var t = c.bwrap; else // 20130129
      if (c instanceof Ext.Panel) {
          var t = c.header;
      } else if (c instanceof Ext.Button) {
          var t = c.btnEl;
      } else  {
          var t = c.getEl();
      }
    // console.log(20171024, c, t, body);
    //~ t.dismissDelay = 0;
    Ext.QuickTips.register({
      target: t,
      //~ cls: 'lino-quicktip-classical',
      dismissDelay: 10000,
      //~ autoHide: false,
      showDelay: 30,      // Show X ms after entering target
      //~ title: title,
      text: body
    });
  }
};



Lino.help_text_editor = function() {
  //~ var bp = {
      //~ mk:this.content_type,
      //~ mt:1
    //~ };
    //~ console.log(20120202,bp);
  //~ Lino.lino.ContentTypes.detail({},{base_params:bp});
  //~ Lino.lino.ContentTypes.detail.run(null,{record_id:this.content_type});
  Lino.lino.ContentTypes.detail.run(null,{record_id:this.content_type});
}

// Path to the blank image should point to a valid location on your server
//~ Ext.BLANK_IMAGE_URL = MEDIA_URL + '/extjs/resources/images/default/s.gif';


// used as Ext.grid.Column.renderer for id columns in order to hide the special id value -99999
Lino.id_renderer = function(value, metaData, record, rowIndex, colIndex, store) {
  //~ if (record.phantom) return '';
  return value;
}

Lino.raw_renderer = function(value, metaData, record, rowIndex, colIndex, store) {
  return value;
}

Lino.text_renderer = function(value, metaData, record, rowIndex, colIndex, store) {
  //~ return "not implemented";
  return value;
}

Lino.NullNumberColumn = Ext.extend(Ext.grid.Column, {
    align : 'right',
    format : '0,000.00/i',
    renderer : function(value, metaData, record, rowIndex, colIndex, store) {
        // if( colIndex == 3)
        //     console.log(20130128,"NullNumberColumn.renderer",value);
        if (value === null) return '';
        return Ext.util.Format.number(value, this.format);
    }
});


Lino.link_button = function(url) {
    // return '<a href="' + url + '"><img src="/media/lino/extjs/images/xsite/link.png" alt="link_button"></a>'
    return '<a href="' + url + '" style="text-decoration:none;">&#10138;</a>'
}

Lino.fk_renderer = function(fkname,handlername) {
  //~ console.log('Lino.fk_renderer handler=',handler);
  return function(value, metaData, record, rowIndex, colIndex, store) {
    //~ console.log('Lino.fk_renderer',fkname,rowIndex,colIndex,record,metaData,store);
    //~ if (record.phantom) return '';
    if (value) {
        return Lino.link_button('javascript:'+handlername + '.run(null,{record_id:\'' + String(record.data[fkname]) + '\'})")') + value;
        // until 20140822 (clickable foreign keys):
        // var s = '<a href="javascript:' ;
        // s += handlername + '.run(null,{record_id:\'' + String(record.data[fkname]) + '\'})">';
        // s += value + '</a>';
        // return s
    }
    return '';
  }
};

Lino.lfk_renderer = function(panel,fkname) {
  //~ console.log('Lino.fk_renderer handler=',handler);
  var handlername = 'console.log';
  return function(value, metaData, record, rowIndex, colIndex, store) {
    //~ console.log('Lino.fk_renderer',fkname,rowIndex,colIndex,record,metaData,store);
    if (record.phantom) return '';
    if (value) {
        var s = '<a href="javascript:' ;
        s += handlername + '({},{record_id:\'' + String(record.data[fkname]) + '\'})">';
        s += value + '</a>';
        //~ console.log('Lino.fk_renderer',value,'-->',s);
        return s
    }
    return '';
  }
};

//~ Lino.gfk_renderer = function() {
  //~ return function(value, metaData, record, rowIndex, colIndex, store) {
    //~ if (record.phantom) return '';
    //~ console.log('Lino.gfk_renderer',value,colIndex,record,metaData,store);
    //~ return value;
  //~ }
//~ };


Lino.build_buttons = function(panel,actions) {
  //~ console.log("20121006 Lino.build_buttons",actions);
  if (actions) {
    var buttons = Array(actions.length);
    var cmenu = Array(actions.length);
    var keyhandlers = [];
    for (var i=0; i < actions.length; i++) {
      var a = actions[i];
      if (a.menu) a.menu = Lino.build_buttons(panel,a.menu).bbar;
      buttons[i] = a;
      cmenu[i] = {
            text : a.menu_item_text,
            iconCls : a.iconCls,
            menu : a.menu,
            itemId : a.itemId
          };
      if (a.panel_btn_handler) {
          var h = a.panel_btn_handler.createCallback(panel);
          if (a.auto_save == true) {
              h = panel.do_when_clean.createDelegate(panel,[true,h]);
          } else if (a.auto_save == null) {
              h = panel.do_when_clean.createDelegate(panel,[false,h]);
          } else if (a.auto_save == false) {
              // h = h;
          } else {
              console.log("20120703 unhandled auto_save value",a)
          }
          buttons[i].handler = h;
          cmenu[i].handler = h;
          if (a.keycode) {
                keyhandlers.push({
                key : a.keycode,
                fn : h});
//              keyhandlers[a.keycode] = h;
          }
          //~ if (buttons[i].xtype == 'splitbutton') {
              //~ cmenu[i].menu = a.menu;
          //~ } else {
              //~ cmenu[i].handler = h;
          //~ }
      } else {
          console.log("action without panel_btn_handler",a)
          // cmenu[i].handler = a.handler;
      }
    }
//    if (keyhandlers.length > 0){
//        var keys = new Ext.KeyMap(panel,keyhandlers);
//    }
    return {
        bbar:buttons,
        cmenu:new Ext.menu.Menu(cmenu),
        keyhandlers: keyhandlers
    };
  }
}

Lino.do_when_visible = function(cmp,todo) {
  //~ if (cmp.el && cmp.el.dom)
  if (cmp.isVisible()) {
    // 'visible' means 'rendered and not hidden'
    //~ console.log(cmp.title,'-> cmp is visible now');
    todo();
  //~ } else {
      //~ cmp.on('resize',todo,cmp,{single:true});
  //~ }
  //~ if (false) { // 20120213
  } else {
    //~ console.log('Lino.do_when_visible() must defer because not isVisible()',todo,cmp);
    if (cmp.rendered) {
      //~ console.log(cmp,'-> cmp is rendered but not visible: and now?');
      //~ console.log(cmp.title,'-> cmp is rendered but not visible: try again in a moment...');
      //~ var fn = function() {Lino.do_when_visible(cmp,todo)};
      //~ fn.defer(100);

      Lino.do_when_visible.defer(50,this,[cmp,todo]);
      //~ Lino.do_when_visible.defer(100,this,[cmp,todo]);

    } else {
      //~ console.log(cmp.title,'-> after render');
      cmp.on('afterrender',todo,cmp,{single:true});
    }
  }

};

/*
*/
Lino.do_on_current_record = function(panel, fn, phantom_fn) {
  // console.log('20140930 do_on_current_record', arguments);
  var rec = panel.get_current_record();
  if (rec == undefined) {
    Lino.notify("There's no selected record.");
    return;
  }
  // 20120307 A VirtualTable with a Detail (lino.Models) has only "phantom" records.
  if (rec.phantom) {
    //~ if (!panel.editable) { console.log("20120312 not editable:",panel)}
    if (phantom_fn) {
      phantom_fn(panel);
    } else {
      Lino.notify("Action not available on phantom record.");
    }
    return;
  }
  return fn(rec);
};


Lino.call_ajax_action = function(
    panel, method, url, p, actionName, step, on_confirm, on_success) {
  p.an = actionName;
  if (!panel || !panel.isVisible()) {
  //~ if (true) { // 20131026 : workflow_actions of a newly created record detail executed but did't refresh the screen because their requesting panel was the insert (not the detail) formpanel.
      if (Lino.current_window)
          panel = Lino.current_window.main_item;
      else panel = Lino.viewport;
  }
  // console.log("20150130 a", p.pv);
  // Ext.apply(p, panel.get_base_params());
  // console.log("20150130 b", p.pv);

  if (panel.get_selected && p.sr === undefined) {
      var selected_recs = panel.get_selected();
      //~ console.log("20130831",selected_recs);
      var rs = Array(selected_recs.length);
      for(var i=0; i < selected_recs.length;i++) {
          rs[i] = selected_recs[i].data[panel.ls_id_property];
      };
      p.sr = rs;
  }

  // console.log("20170731 Lino.call_ajax_action", Ext.Ajax, p, actionName, step);

  if (panel.loadMask) panel.loadMask.show();
  Lino.insert_linoweb_version(p)
  // Ext.Ajax.params = {};
  Ext.Ajax.request({
    method: method
    ,url: url
    ,params: p
    ,success: Lino.action_handler(panel, on_success, on_confirm)
    ,failure: Lino.ajax_error_handler(panel)
  });
};




Lino.row_action_handler = function(actionName, hm, pp,rqData,xcallback ) {
  var fn = function(panel, btn, step) {
      var p = {};
      // console.log('20150514 row_action_handler');
      if (pp) { p = pp(panel); if (! p) return; }
      if (rqData) {
          Ext.apply(p, rqData);
      }
      if (xcallback){
          p["xcallback__"+xcallback.xcallback_id] =xcallback.choice;
      }

      if (!panel || panel.get_current_record == undefined) { // AFTER_20130725
        // console.log('20140930 row_action_handler 2', panel);
        panel = Ext.getCmp(panel);
        if (panel == undefined) {
          console.log("20160410 Invalid panel spec.", actionName, hm, pp);
          Lino.notify("Invalid panel spec.");
          return;
        }
      }

      Lino.do_on_current_record(panel, function(rec) {
          //~ console.log(panel);
          panel.add_param_values(p, true);
          Ext.apply(p, panel.get_base_params());
          Lino.call_ajax_action(
              panel, hm, panel.get_record_url(rec.id),
              p, actionName, step, fn);
      });
  };
  return fn;
};

Lino.list_action_handler = function(ls_url,actionName,hm,pp, rqData, xcallback) {
  var url = '/api' + ls_url
  var fn = function(panel,btn,step) {
      var p = {};
      //~ console.log("20121210 Lino.list_action_handler",arguments);
      if (pp) { p = pp(panel);  if (! p) return; }

      if (rqData) {
          Ext.apply(p, rqData);
      }
      if (xcallback){
          p["xcallback__"+xcallback.xcallback_id] =xcallback.choice;
      }

      if (panel) { // may be undefined when called e.g. from quicklink
          panel.add_param_values(p, true);
          Ext.apply(p, panel.get_base_params());
      }
      // Lino.call_ajax_action(panel, hm,url, p, actionName, step, fn);
      var runFn = function () { Lino.call_ajax_action(panel, hm,url, p, actionName, step, fn); };
      setTimeout(runFn, p.timeout ? p.timeout : 0);

  };
  return fn;
};

Lino.param_action_handler = function(window_action) { // 20121012
  var fn = function(panel,btn,step) {
    Lino.do_on_current_record(panel,function(rec) {
      window_action.run(panel.getId(),{});
    });
  };
  return fn;
};



Lino.run_row_action = function(
    requesting_panel, is_on_main_actor, url, meth, pk,
    actionName, params, preprocessor) {
  //~ var panel = action.get_window().main_item;
  // console.log("20140930 Lino.run_row_action", params);
  url = '/api' + url;
  if (Array.isArray(pk) && pk.length) { url += '/' + pk[0]}
  else if (!Array.isArray(pk)) {url += '/' + pk}
  var panel = Ext.getCmp(requesting_panel);
  // var params = {}
  // if (init_params) Ext.apply(params, init_params);
  if (!params) params = {};
  if (preprocessor) {
      var p = preprocessor();
      Ext.apply(params, p);
  }
  if (panel && is_on_main_actor) {
      Ext.apply(params, panel.get_base_params())
  }else {
     params.sr = pk
  }
  Lino.insert_subst_user(params);

  if (params.rqdata) {
      Ext.apply(params, params.rqdata);
      delete(params.rqdata)
  }
  if (params.xcallback){
      params["xcallback__"+params.xcallback.xcallback_id] =params.xcallback.choice;
      delete(params.xcallback)
  }

  var fn = function(panel, btn, step) {
    Lino.call_ajax_action(panel, meth, url, params, actionName, step, fn);
  }
  // fn(panel, null, null);

  var runFn = function () { fn(panel, null, null); };
  setTimeout(runFn, params.timeout ? params.timeout : 0);


}


Lino.wrapped_action_handler = function(func) {
    var fn = function(panel, btn, step) {
        func += "(panel, btn, step)"
        eval(func)
    }
    return fn;
}


Lino.show_detail = function(panel, btn) {
  Lino.do_on_current_record(panel,
    function(rec) {
      //~ panel.loadMask.show();
      Lino.run_detail_handler(panel, rec.id);
    },
    Lino.show_insert
  );
};

Lino.run_detail_handler = function(panel,pk) {
  var bp = panel.get_base_params();
  panel.add_param_values(bp); // 20120918
  var status = {
    record_id:pk,
    base_params:bp
  }
  //~ console.log("20120918 Lino.show_detail",status);
  panel.ls_detail_handler.run(null,status);
}

Lino.show_fk_detail = function(combo,detail_action,insert_action) {
    //~ console.log("Lino.show_fk_detail",combo,handler);
    pk = combo.getValue();
    if (pk) {
        detail_action.run(null,{record_id: pk})
      } else {
        insert_action.run(null);
        //~ Lino.notify("Cannot show detail for empty foreign key.");
      }
};

Lino.show_insert = function(panel,btn) {
  var bp = panel.get_base_params();
  // ~ console.log('20120125 Lino.show_insert',bp)
  //~ panel.ls_insert_handler.run(null,{record_id:-99999,base_params:bp});
  panel.ls_insert_handler.run(panel.getId(),{base_params:bp});
};



if (Ext.ux.grid !== undefined) {
    Lino.GridFilters = Ext.extend(Ext.ux.grid.GridFilters,{
      encode:true,
      local:false
    });
} else {
    Lino.GridFilters = function() {}; // dummy
    Ext.override(Lino.GridFilters,{
      init : function() {}
    });
};



Lino.FieldBoxMixin = {
  before_init : function(config,params) {
    if (params) Ext.apply(config,params);
    var actions = Lino.build_buttons(this, config.ls_bbar_actions);
    if (actions) config.bbar = actions.bbar;
  },
  //~ constructor : function(ww,config,params){
    //~ this.containing_window = ww;
    //~ if (params) Ext.apply(config,params);
    //~ var actions = Lino.build_buttons(this,config.ls_bbar_actions);
    //~ if (actions) config.bbar = actions.bbar;
    //~ Lino.FieldBoxMixin.superclass.constructor.call(this, config);
  //~ },
  do_when_clean : function(auto_save,todo) { todo() },
  //~ format_data : function(html) { return '<div class="htmlText">' + html + '</div>' },
  format_data : function(html) { return html },
  get_base_params : function() {
    // needed for insert action
    var p = Ext.apply({}, this.base_params);
    Lino.insert_subst_user(p);
    return p;
  },
  set_base_params : function(p) {
    this.base_params = Ext.apply({},p);
    //~ if (p.param_values) this.set_param_values(p.param_values);
  },
  clear_base_params : function() {
      this.base_params = {};
      Lino.insert_subst_user(this.base_params);
  },
  set_base_param : function(k,v) {
    this.base_params[k] = v;
  }
};

Ext.override(Ext.form.HtmlEditor, {
    fixKeys : function(){
        if(Ext.isIE){
            return function(e){
                var k = e.getKey(),
                    doc = this.getDoc(),
                        r;
                if(k == e.TAB){
                    e.stopEvent();
                    r = doc.selection.createRange();
                    if(r){
                        r.collapse(true);
                        r.pasteHTML('&nbsp;&nbsp;&nbsp;&nbsp;');
                        this.deferFocus();
                    }
                }else if(k == e.ENTER){
                    r = doc.selection.createRange();
                    if(r){
                        var target = r.parentElement();
                        if(!target || target.tagName.toLowerCase() != 'li'){
                            e.stopEvent();
                            r.pasteHTML('<br />');
                            r.collapse(false);
                            r.select();
                        }
                    }
                }
            };
        }else if(Ext.isOpera){
            return function(e){
                var k = e.getKey();
                if(k == e.TAB){
                    e.stopEvent();
                    this.win.focus();
                    this.execCmd('InsertHTML','&nbsp;&nbsp;&nbsp;&nbsp;');
                    this.deferFocus();
                }
            };
        }else if(Ext.isWebKit){
            // HKC : this is probably our most used case.
            return function(e){
                var k = e.getKey();
                if(k == e.TAB){
                    e.stopEvent();
                    this.execCmd('InsertText','\t');
                    this.deferFocus();
                }else if(k == e.ENTER){
                    e.stopEvent();
                    this.execCmd('InsertHtml','<br /><br />');
                    this.deferFocus();
                }
             //   HKC
               else if (k == e.S && e.ctrlKey){
                    e.stopEvent();
                    e.preventDefault();
                    //this.getWin.fireEvent('keyup');
                    // this.fireKey(e);
                    console.log('HTMLEditor is saving...');
                }
             };
        }
    }(),
    // bubbleEvents : ['keypress']
    // initComponent : function() {
    //     Ext.form.HtmlEditor.superclass.initComponent.call(this);
    //     this.addEvents('submit');
    // },
    // submit : function (event) {
    //     console.log("rrrrr");
    // },
    // initEditor : function() {
    //     Ext.form.HtmlEditor.superclass.initEditor.call(this);
    //     if (Ext.isGecko) {
    //         Ext.EventManager.on(this, 'keypress', this.fireSubmit, this);
    //     }
    //     if (Ext.isIE || Ext.isWebKit || Ext.isOpera) {
    //         Ext.EventManager.on(this, 'keydown', this.fireSubmit,
    //             this);
    //     }
    // },
    fireSubmit : function(e) {
        console.log("fireSubmit ...");
    }
});

Lino.HtmlBoxPanel = Ext.extend(Ext.Panel, Lino.PanelMixin);
Lino.HtmlBoxPanel = Ext.extend(Lino.HtmlBoxPanel, Lino.FieldBoxMixin);
Lino.HtmlBoxPanel = Ext.extend(Lino.HtmlBoxPanel, {
  disabled_in_insert_window : true,
  constructor : function(config,params) {
    this.before_init(config,params);
    Lino.HtmlBoxPanel.superclass.constructor.call(this, config);
  },
  //~ constructor : function(ww,config,params){
    //~ this.ww = ww;
    //~ if (params) Ext.apply(config,params);
    //~ var actions = Lino.build_buttons(this,config.ls_bbar_actions);
    //~ if (actions) config.bbar = actions.bbar;
    //~ Lino.FieldBoxMixin.constructor.call(this, ww,config,params);
  //~ },
  //~ constructor : function(ww,config,params){
    //~ this.ww = ww;
    //~ if (params) Ext.apply(config,params);
    //~ var actions = Lino.build_buttons(this,config.ls_bbar_actions);
    //~ if (actions) config.bbar = actions.bbar;
    //~ Lino.FieldBoxMixin.superclass.constructor.call(this, config);
  //~ },
  //~ disable : function() { var tb = this.getBottomToolbar(); if(tb) tb.disable()},
  //~ enable : function() { var tb = this.getBottomToolbar(); if(tb) tb.enable()},
  onRender : function(ct, position){
    Lino.HtmlBoxPanel.superclass.onRender.call(this, ct, position);
    Ext.getDoc().addKeyListener(Ext.EventObject.ESC, function(k,e) {
      // this.get_containing_window().close();
      this.get_containing_window().main_item.do_when_clean(false,function() {
        if (Lino.current_window ) {
          Lino.close_window();
        }
      });
    },this);
    //~ console.log(20111125,this.containing_window);
    if (this.containing_panel) {
      this.containing_panel.on('enable',this.enable,this);
      this.containing_panel.on('disable',this.disable,this);
    }
    this.el.on({
      dragenter:function(event){
        event.browserEvent.dataTransfer.dropEffect = 'move';
        return true;
      }
      ,dragover:function(event){
        event.browserEvent.dataTransfer.dropEffect = 'move';
        event.stopEvent();
        return true;
      }
      ,drop:{
        scope:this
        ,fn:function(event){
          event.stopEvent();
          //~ console.log(20110516);
          var files = event.browserEvent.dataTransfer.files;
          if(files === undefined){
            return true;
          }
          var len = files.length;
          while(--len >= 0){
            console.log(files[len]);
            //~ this.processDragAndDropFileUpload(files[len]);
          }
          Lino.show_insert(this);
        }
      }
    });
  },
  refresh : function(unused) {
      // this.containing_panel.refresh();
      this.refresh_with_after();
  },
  /* HtmlBoxPanel */
  refresh_with_after : function(after) {
      // var todo = this.containing_panel.refresh();
      var box = this.items.get(0);
      var todo = function() {
        if (this.disabled) { return; }
        this.set_base_params(this.containing_panel.get_master_params());

        var el = box.getEl();
        if (el) {
            var record = this.containing_panel.get_current_record();
            var newcontent = record ?
                this.format_data(record.data[this.name]) : '';
            // console.log('20140917 HtmlBox.refresh()',
            //             this.name, record.data.LinksByHuman);
            el.update(newcontent, true);
        // } else {
        //     console.log('20140502 cannot HtmlBox.refresh()',this.name);
        }
      };

      Lino.do_when_visible(box, todo.createDelegate(this));
  }
});
//~ Ext.override(Lino.HtmlBoxPanel,Lino.FieldBoxMixin);


Lino.ActionFormPanel = Ext.extend(Ext.form.FormPanel,Lino.MainPanel);
Lino.ActionFormPanel = Ext.extend(Lino.ActionFormPanel, Lino.PanelMixin);
Lino.ActionFormPanel = Ext.extend(Lino.ActionFormPanel, Lino.FieldBoxMixin);
Lino.ActionFormPanel = Ext.extend(Lino.ActionFormPanel, {
  //~ layout:'fit'
  //~ ,autoHeight: true
  //~ ,frame: true
  window_title : "Action Parameters",
  cls : "l-ActionFormPanel",
  constructor : function(config){
    config.buttons = [
        {text: 'OK', handler: this.on_ok, scope: this, cls:"l-ok"},
        {text: 'Cancel', handler: this.on_cancel, scope: this, cls:"l-cancel"}
    ];
    Lino.ActionFormPanel.superclass.constructor.call(this, config);
  }
  ,initComponent : function(){
      this.on('render',function(){
          this.loadMask = new Ext.LoadMask(
              this.bwrap,{msg:"Please wait..."});
      },this);
      Lino.ActionFormPanel.superclass.initComponent.call(this);
  }
  ,on_cancel : function() {
    this.get_containing_window().close();
  }
  ,on_ok : function() {
    var panel = this.requesting_panel;
    // var panel = this.get_containing_window().main_item;
    // console.log("20131004 on_ok",this,panel,arguments);
    var actionName = this.action_name;
    var pk = this.record_id || this.default_record_id;
    if (pk == undefined && this.base_params) { pk = this.base_params.mk; }
    if (pk == undefined && panel) {
        pk = panel.get_current_record().id;
    }
    if (pk == undefined) {
        // 20170101 VerifyUser action
        pk = '-99998';
        // Lino.alert("Sorry, dialog action without base_params.mk");
        // return;
    }
    var self = this;
    // self.loadMask.show();  // 20180727
    // function on_success() { self.get_containing_window().close(); };
    // see 20131004 and 20140430
    var url = '/api';

    // 20150119 : The OK button on AgentsByClient.create_visit went to
    // /api/pcsw/Clients/ instead of /api/pcsw/Coachings/
    // if (panel)
    //     url += panel.ls_url;
    // else
    //     url += this.ls_url;

    if (this.ls_url)
        url += this.ls_url;
    else
        url += panel.ls_url;
    url += '/' + pk;
    // wrap into function to prepare possible recursive call
    var fn = function(panel, btn, step) {
      var p = {};
      self.add_field_values(p);
      if (self.xcallback && self.rqdata ) {
          Ext.apply(p, self.rqdata);
          Ext.apply(p, self.xcallback);
      }
      if (panel) Ext.apply(p, panel.get_base_params());
      delete p.pv;
      // console.log("20150130", p.pv);
      Lino.call_ajax_action(
          self, self.http_method || "GET", url, p, actionName, step, fn); //  , on_success);
        // panel, 'GET', url, p, actionName, step, fn); //  , on_success);
        // 20180802 : passing self instead of panel fixes #2474
    }
    fn(panel, null, null);


  }
  /* ActionFormPanel*/
  ,set_status : function(status, rp){
    if (rp) this.requesting_panel = Ext.getCmp(rp);
    //~ console.log('20120918 ActionFormPanel.set_status()',status,rp,this.requesting_panel);
    this.clear_base_params();
    this.set_field_values();
    this.set_base_params({});
    this.record_id = undefined;
    // this.loadMask.hide();  // 20180727
    if (status == undefined) status = {};
    //~ if (status.param_values)
    // 20180725 : do not set field values and record id if status
    // doesn't have them.
    if (status.field_values) this.set_field_values(status.field_values);
    if (status.base_params) this.set_base_params(status.base_params);
    if (status.record_id) this.record_id = status.record_id;
    if (status.xcallback && status.rqdata) {
      this.xcallback = {["xcallback__"+status.xcallback.xcallback_id] : status.xcallback.choice};
      this.rqdata = status.rqdata;
      this.on_ok()
    } else {
        delete this.xcallback // insure no callback data if not in status
        delete this.rqdata
    }
  }

  ,before_row_edit : function(record) {}
  ,add_field_values : function (p) { // similar to add_param_values()
      /* LS 20160517 : Until now Lino tested whether the form is
       dirty, and if not, submitted only the values which had been set
       by set_status. But now status_field_values can be empty because
       Action.keep_user_values is True. In that case we must submit
       the current values even if the form is not dirty.  I don't
       remember why we had this feature of not submitting unmodified
       field values, so I remove this feature for now. */
      p.fv = this.get_field_values();
      // if (this.form.isDirty()) {
      //   p.fv = this.get_field_values();
      // }else{
      //   // console.log("20160517 add_param_values not dirty, status_field_values",
      //   //             this.status_field_values);
      //   if (this.status_field_values)
      //     p.fv = Lino.fields2array(
      //         this.fields, this.status_field_values);
      // }
      //~ console.log("20120203 add_param_values added pv",pv,"to",p);
  }
  ,get_field_values : function() {
      return Lino.fields2array(this.fields);
  }
  ,set_field_values : function(pv) {
      // console.log('20160516 MainPanel.set_param_values', pv);
      // if Action.keep_user_values, we receive an empty dict ({})
      this.status_field_values = pv;
      if (pv) {
          this.form.my_loadRecord(pv);
          var record = { data: pv };
          this.before_row_edit(record);
      } else {
          this.form.reset();
          this.before_row_edit();
      }
  }
  ,config_containing_window : function(wincfg) {
      wincfg.title = this.window_title;
      wincfg.keys = [
        { key: Ext.EventObject.ENTER, fn: this.on_ok, scope: this }
        ,{ key: 's', ctrl: true, fn: this.on_ok, scope: this, stopEvent: true  }
      ];

      if (!wincfg.defaultButton) this.getForm().items.each(function(f){
          if(f.isFormField){
              wincfg.defaultButton = f;
              return false;
          }
      });

  }
});


Lino.fields2array = function(fields, values) {
    // console.log('20160517 fields2array gonna loop on', fields, values);
    var pv = Array(fields.length);
    for(var i=0; i < fields.length;i++) {
        var f = fields[i]
        if (values)
          var v = values[f.name];
        else
          var v = f.getValue();
        if (f.formatDate) {
            pv[i] = f.formatDate(v);
        } else {
            pv[i] = v; // f.getValue();
        }
    }
    // console.log('20160517 fields2array returns', pv);
    return pv;
}


Lino.FormPanel = Ext.extend(Ext.form.FormPanel,Lino.MainPanel);
Lino.FormPanel = Ext.extend(Lino.FormPanel,Lino.PanelMixin);
Lino.FormPanel = Ext.extend(Lino.FormPanel,{
  params_panel_hidden : false,
  save_action_name : null,
  //~ base_params : {},
  //~ trackResetOnLoad : true,
  //~ query_params : {},
  //~ 20110119b quick_search_text : '',
  constructor : function(config,params){
    if (params) Ext.apply(config,params);
    this.base_params = {};
    //~ ww.config.base_params.query = ''; // 20111018
    //~ console.log(config);
    //~ console.log('FormPanel.constructor() 1',config)
    //~ Ext.applyIf(config,{base_params:{}});
    //~ console.log('FormPanel.constructor() 2',config)

    config.trackResetOnLoad = true;

    Lino.FormPanel.superclass.constructor.call(this, config);

    //~ this.set_base_param('$URL_PARAM_FILTER',null); // 20111018
    //~ this.set_base_param('$URL_PARAM_FILTER',''); // 20111018

  },
  initComponent : function(){

    this.containing_panel = this;

    //~ console.log("20111201 containing_window",this.containing_window,this);
    var actions = Lino.build_buttons(this, this.ls_bbar_actions);
    if (actions) {
        this.bbar = actions.bbar;
        // console.log("20160829 tooltip", actions.bbar);
    //~ } else {
        //~ this.bbar = [];
    }
    //~ Ext.apply(config,Lino.build_buttons(this,config.ls_bbar_actions));
    //~ config.bbar = Lino.build_buttons(this,config.ls_bbar_actions);
    //~ var config = this;

    //~ if (this.containing_window instanceof Lino.DetailWrapper) {

    //~ console.log('20120121 initComponent', this.action_name);
    //~ if (this.action_name == 'detail' | this.action_name == 'show') {
    //~ if (this.action_name != 'insert') {
    if (! this.hide_top_toolbar) {
      this.tbar = [];
      // 20111015
      if (! this.hide_navigator) {
        this.record_selector = new Lino.RemoteComboFieldElement({
          store: new Lino.ComplexRemoteComboStore({
            //~ baseParams: this.containing_window.config.base_params,
            baseParams: this.get_base_params(),
            //~ value: this.containing_window.config.base_params.query,
            proxy: new Ext.data.HttpProxy({
              url: '/choices' + this.ls_url,
              method:'GET'
            })
          }),
          pageSize:25,
          listeners: {
            scope:this,
            select:function(combo,record,index) {
                // console.log('20180719 select', combo);
                this.set_base_param('query',
                                    combo.lastQuery);
              this.goto_record_id(record.id);
            }
          },
          emptyText: "Go to record"
        })
        this.tbar = this.tbar.concat([this.record_selector]);

        this.tbar = this.tbar.concat([
          this.first = new Ext.Toolbar.Button({
              tooltip:"First",disabled:true,
              handler:this.moveFirst,scope:this,iconCls:'x-tbar-page-first'}),
          this.prev = new Ext.Toolbar.Button({
              tooltip:"Previous",disabled:true,
              handler:this.movePrev,scope:this,iconCls:'x-tbar-page-prev'}),
          this.next = new Ext.Toolbar.Button({
              tooltip:"Next",disabled:true,
              handler:this.moveNext,scope:this,iconCls:'x-tbar-page-next'}),
          this.last = new Ext.Toolbar.Button({
              tooltip:"Last",disabled:true,
              handler:this.moveLast,scope:this,iconCls:'x-tbar-page-last'})
        ]);
      }
      this.tbar = this.add_params_panel(this.tbar);

      this.tbar = this.tbar.concat([
        {
            handler:function(){ this.do_when_clean(
                false, this.refresh.createDelegate(this)) },
          iconCls: 'x-tbar-loading',
          tooltip:"Reload current record",
          scope:this}
      ]);

      if (this.bbar) { // since 20121016
        if (this.tbar) {
            this.tbar = this.tbar.concat(['-']) ;
        } else {
          this.tbar = [];
        }
        this.tbar = this.tbar.concat(this.bbar) ;
        this.bbar = undefined;
      }

      this.tbar = this.tbar.concat([
          '->',
          this.displayItem = new Ext.Toolbar.TextItem({})
      ]);

    }
    //~ if (this.content_type && this.action_name != 'insert') {
      //~ this.bbar = this.bbar.concat([
        //~ '->',
        //~ { text: "[$_('Help Text Editor')]",
          //~ handler: Lino.help_text_editor,
          //~ qtip: "$_('Edit help texts for fields on this model.')",
          //~ scope: this}
      //~ ])
    //~ }
    //~ this.before_row_edit = config.before_row_edit.createDelegate(this);

    //~ if (this.master_panel) {
        //~ this.set_base_params(this.master_panel.get_master_params());
    //~ }

    Lino.FormPanel.superclass.initComponent.call(this);

    // this.on('show',
    //         function(){ this.init_focus();},
    //         this);

    this.on('render',function(){
      this.loadMask = new Ext.LoadMask(this.bwrap,{msg:"Please wait..."});
    },this);


    if (this.action_name == 'insert') {
      this.cascade(function(cmp){
        if (cmp.disabled_in_insert_window) {
            // console.log('20110613 disabled_in_insert_window', cmp);
            //~ cmp.disable();
            cmp.hide();
        }
      });

    }

  },

  unused_init_focus : function(){
    // set focus to the first field
    console.log("20140205 Lino.FormPanel.init_focus");
    // Lino.FormPanel.superclass.focus.call(this);
    this.getForm().items.each(function(f){
        if(f.isFormField && f.rendered){
            f.focus();
            console.log("20140205 focus", f);
            return false;
        }
    });
  },

  /* FormPanel */
  get_status : function(){
      var st = {
        base_params: this.get_base_params(),
        // data_record : this.get_current_record()
      }
      var rec = this.get_current_record();
      if (rec) st.record_id = rec.id;
      // 20140917 : get_status must not store the whole data_record
      // because that would prevent the form to actually reload
      // when set_status is called after a child window closed.

      var tp = this.items.get(0);
      if (tp instanceof Ext.TabPanel) {
        st.active_tab = tp.getActiveTab();
      }
      st.param_values = this.status_param_values;
      return st;
  },

  /* FormPanel */
  set_status : function(status, rp){
    this.requesting_panel = Ext.getCmp(rp);
    // console.log('20140917 FormPanel.set_status()', status);
    this.clear_base_params();
    if (status == undefined) status = {};
    //~ if (status.param_values)
    this.set_param_values(status.param_values);
    if (status.base_params) this.set_base_params(status.base_params);
    var tp = this.items.get(0);
    if (tp instanceof Ext.TabPanel) {
      if (status.active_tab) {
        //~ console.log('20111201 active_tab',this.active_tab,this.items.get(0));
        //~ tp.activeTab = status.active_tab;
        tp.setActiveTab(status.active_tab);
        //~ this.main_item.items.get(0).activate(status.active_tab);
      } else {
        if (! status.data_record) {  // 20141206
            tp.setActiveTab(0);
        }
      }
    }

    if (status.data_record) {
      /* defer because set_window_title() didn't work otherwise */
      // 20140421 removed defer for bughunting to simplify side effects
      // this.set_current_record.createDelegate(
      //     this, [status.data_record]).defer(100);
      this.set_current_record(status.data_record);
      //~ return;
    } else {
        var record_id = status.record_id != undefined ? status.record_id : this.default_record_id;
        if (record_id != undefined) {
          /* possible values include 0 and null, 0 being a valid record id,
          null the equivalent of undefined
          */
          this.load_record_id(record_id);
        } else {
            this.set_current_record(undefined);
        }
    }
    // this.init_focus()
  }
  ,get_base_params : function() {  /* FormPanel */
    // needed for insert_action
    var p = Ext.apply({}, this.base_params);
    Lino.insert_subst_user(p);
    return p;
  }
  ,set_base_params : function(p) {
    //~ this.base_params = Ext.apply({},this.base_params); // make sure it is an instance variable
    delete p['query'] // 20120725
    Ext.apply(this.base_params,p);
    if (this.record_selector) {
        var store = this.record_selector.getStore();
        for (k in p) store.setBaseParam(k,p[k]);
        delete this.record_selector.lastQuery;
        //~ console.log("20120725 record_selector.setBaseParam",p)
    }
  }
  ,clear_base_params : function() {
      this.base_params = {};
      Lino.insert_subst_user(this.base_params);
  }
  ,set_base_param : function(k,v) {
    this.base_params[k] = v;
  }
  ,after_delete : function() {
    console.log("20200717", this.current_record.navinfo);
    if (this.current_record.navinfo.next)
      this.moveNext();
    else if (this.current_record.navinfo.prev)
      this.movePrev();
    else
      this.abandon();
  }
  ,moveFirst : function() {this.goto_record_id(
      this.current_record.navinfo.first)}
  ,movePrev : function() {this.goto_record_id(
      this.current_record.navinfo.prev)}
  ,moveNext : function() {this.goto_record_id(
      this.current_record.navinfo.next)}
  ,moveLast : function() {this.goto_record_id(
      this.current_record.navinfo.last)}

  ,refresh : function(unused) {
      this.refresh_with_after();
  }
  /* FormPanel */
  ,refresh_with_after : function(after) {
    // console.log('20140917 Lino.FormPanel.refresh_with_after()',this);
    if (this.current_record) {
        this.load_record_id(this.current_record.id, after);
    } else {
        this.set_current_record(undefined, after);
    }
  }

  ,do_when_clean : function(auto_save, todo) {
    var this_ = this;
    if (this.form.isDirty()) {
        // console.log('20140421 do_when_clean : form is dirty')
        if (auto_save) {
            this_.save(todo);
        } else {
          //~ console.log('20111217 do_when_clean() form is dirty',this.form);
          var config = {cls:"l-confirmation", title:"Confirmation"};
          config.buttons = Ext.MessageBox.YESNOCANCEL;
          config.msg = "Save changes to current record ?";
          config.fn = function(buttonId,text,opt) {
            //~ console.log('do_when_clean',buttonId)
            if (buttonId == "yes") {
                //~ Lino.submit_detail(this_,undefined,todo);
                //~ this_.containing_window.save(todo);
                this_.save(todo);
            } else if (buttonId == "no") {
              todo();
            }
          }
          Ext.MessageBox.show(config);
        }
    }else{
      // console.log('20140421 do_when_clean : now!')
      todo();
    }
  }

  ,goto_record_id : function(record_id) {
    // console.log('20140917 Lino.FormPanel.goto_record_id()',record_id);
    //~ var this_ = this;
    //~ this.do_when_clean(function() { this_.load_record_id(record_id) }
    this.do_when_clean(
        true, this.load_record_id.createDelegate(this, [record_id]));
  }

  ,load_record_id : function(record_id, after) {
    var this_ = this;
    var p = Ext.apply({}, this.get_base_params());
    if (this.action_name)
        p.an = this.action_name;
    p.rp = this.getId();
    p.fmt = 'json';
    this.add_param_values(p);
    Lino.insert_linoweb_version(p);
    if (this.loadMask) this.loadMask.show();
    Ext.Ajax.request({
      waitMsg: 'Loading record...',
      method: 'GET',
      params: p,
      scope: this,
      url: this.get_record_url(record_id),
      success: function(response) {
        // todo: convert to Lino.action_handler.... but result
        if (this.loadMask) this.loadMask.hide();
        if (response.responseText) {
          var rec = Ext.decode(response.responseText);
          // console.log('20150905 load_record_id success', rec);
          this.set_param_values(rec.param_values);
          this.set_current_record(rec, after);
          if (rec.message) {
            //~ if (rec.alert && ! gridmode) {
            if (rec.alert) { // 20120628b
                //~ Ext.MessageBox.alert('Alert',rec.alert_msg);
                if (rec.alert === true) rec.alert = "Alert";
                Ext.MessageBox.alert(rec.alert, rec.message, function(){eval(rec.alert_eval_js)});
            } else {
                Lino.notify(rec.message);
            }
          }
        }
      },
      failure: Lino.ajax_error_handler(this)
    });
  }

  ,abandon : function () {
    Ext.MessageBox.alert('Note',
      "No more records to display. Detail window has been closed.");
    Lino.close_window();
  }

  ,set_current_record : function(record, after) {
    // console.log('20160825 set_current_record', record);
    if (this.record_selector) {
        this.record_selector.clearValue();
        // e.g. InsertWrapper FormPanel doesn't have a record_selector
    }
    this.current_record = record;
    if (record && record.data) {
      this.enable();
      // After this method focus is moved to the panel.
      this.form.my_loadRecord(record.data);
      this.set_window_title(record.title);
      //~ this.getBottomToolbar().enable();
      var da = record.data.disabled_fields;
      if (da) {
          //~ console.log('20120528 disabled_fields =',da,this.getBottomToolbar());
          //~ 20121016 this.getBottomToolbar().items.each(function(item,index,length){
          if(this.hide_top_toolbar) {
              var tb = this.getBottomToolbar();
          } else {
              var tb = this.getTopToolbar();
          }
          if (tb) tb.items.each(function(item,index,length){
              //~ console.log('20120528 ',item.itemId,'-->',da[item.itemId]);
              // if (da[item.itemId]) item.disable(); else item.enable();
              if (da[item.itemId]) item.hide(); else item.show();
          });
      };
      if (this.disable_editing | record.data.disable_editing) {
          //~ console.log("20120202 disable_editing",record.title);
          this.form.items.each(function(cmp){
            if (!cmp.always_enabled) cmp.disable();
          },this);
      } else {
          this.form.items.each(function(cmp){
            //~ console.log("20120202",cmp);
            if (record.data.disabled_fields[cmp.name]) cmp.disable();
            else cmp.enable();
          },this);

          //~ if (record.data.disabled_fields) {
              //~ for (i = 0; i < record.data.disabled_fields.length; i++) {
                  //~ var flds = this.find('name',record.data.disabled_fields[i]);
                  //~ if (flds.length == 1) {
                    //~ flds[0].disable();
                  //~ }
              //~ }
          //~ }
      };
      if (this.first) {
        if (record.navinfo  && ! this.hide_navigator) {
          this.first.setDisabled(record.navinfo.first == null);
          this.prev.setDisabled(record.navinfo.prev == null);
          this.next.setDisabled(record.navinfo.next == null);
          this.last.setDisabled(record.navinfo.last == null);
          this.displayItem.setText(record.navinfo.message);
        } else {
          this.first.setDisabled(true);
          this.prev.setDisabled(true);
          this.next.setDisabled(true);
          this.last.setDisabled(true);
        }
      }
    } else {
      if (this.form.rendered)
        this.form.reset(); /* FileUploadField would fail when resetting a non-rendered form */
      //~ this.disable();
      //~ this.getBottomToolbar().disable();
      this.form.items.each(function(cmp){
        cmp.disable();
      },this);
      this.set_window_title(this.empty_title);
      //~ this.containing_window.window.setTitle(this.empty_title);
      if (!this.hide_navigator) {
        this.first.disable();
        this.prev.disable();
        this.next.disable();
        this.last.disable();
      }
    }
    // console.log('20140917 gonna call before_row_edit', record);
        var current_focus_fields = false;
        for (var i = 0; i < this.form.items.items.length;i++) {
            if (this.form.items.items[i].hasFocus) current_focus_fields = i;
        }
    this.before_row_edit(record);
        if (current_focus_fields != false){
            this.form.items.items[current_focus_fields].focus();
        }
    // console.log('20140917 gonna call after', after);
    this.containing_window.focus(); // ticket: 2509 regain focus on reload
    if (after) after();
  },

  /* FormPanel */
  before_row_edit : function(record) {},
  search_change : function(field,oldValue,newValue) {
    //~ console.log('search_change',field.getValue(),oldValue,newValue)
    this.set_base_param('query',field.getValue());
    this.refresh();
  },

//  get_selected : function() { return [ this.current_record ] },
  get_current_record : function() {
    //~ console.log(20100714,this.current_record);
    return this.current_record
  },

  get_permalink_url : function() {
      var rec = this.get_current_record();
      if (rec && ! rec.phantom && rec.id != -99998)
          return '/api'
              + this.ls_url + '/' + rec.id;
      return '/api' + this.ls_url;

  },
  add_param_tab : function(p) {
    var main = this.items.get(0);
    if (main.activeTab) {
      var tab = main.items.indexOf(main.activeTab);
      // console.log('20150130 main.activeTab', tab, main.activeTab);
      if (tab) p.tab = tab;
    // } else {
    //   console.log('20150130 no main.activeTab');
    }
  },
  get_permalink_params : function() {
    var p = {};
    //~ var p = {an:'detail'};
    if (this.action_name)
        p.an = this.action_name;
    this.add_param_tab(p)
    this.add_param_values(p)
    return p;
  }

  ,validate_form : function() {  // not used. see actions.ValidateForm
      // var ov = {};
      // this.form.items.each(function(f){
      //     ov[f.name] = f.originalValue
      // });

      // console.log('20140509 FormPanel.validate_form', ov);
      // var after = function() {
      //     this.form.items.each(function(f){
      //         f.originalValue = ov[f.name];
      //     });
      // }
      // this.save2(null, 'validate', after);
      this.save2(null, 'validate');
  }

  /* Lino.FormPanel */
  ,save : function(after) {
    var action_name = this.save_action_name;
    if (!action_name)
        action_name = this.action_name;
    // console.log('20140503 FormPanel.save', action_name);
    this.save2(after, action_name);
  }

  ,save2 : function(after, action_name) {
    var rec = this.get_current_record();
    var p = {};
    var panel = this;

    if (!rec) {
        Lino.notify("Sorry, no current record.");
        return;
    }
    if (this.has_file_upload) {
        p.csrfmiddlewaretoken = Ext.util.Cookies.get('csrftoken');
        document.domain = document.domain;
        p._document_domain = document.domain;
        this.form.fileUpload = true;
    }
    this.loadMask.show();
    Ext.apply(p, this.get_base_params());
    p.rp = this.getId();
    p.an = action_name;
    this.add_param_tab(p)
    // console.log('20150216 FormPanel.save()', rec, this.form);
    var submit_config = {
        params: p,
        scope: this,
        success: function(form, action) {
          this.loadMask.hide();
          Lino.notify(action.result.message);
          Lino.handle_action_result(this, action.result, after);
        },
        failure: function(form,action) {
          this.loadMask.hide();
          Lino.on_submit_failure(form, action);
        },
        clientValidation: true
    };
    if (rec.phantom) {  // it's a new record
      Ext.apply(submit_config, {
        url: '/api' + this.ls_url,
        method: 'POST'
      });
      // panel.refresh();
      // temporarily disabled. See 20151002
    } else {  // submit on existing row
      Ext.apply(submit_config, {
        url: '/api'
              + this.ls_url + '/' + rec.id,
        method: 'PUT'
      })
    }
    this.form.submit(submit_config);
  }

  ,on_cancel : function() {
    this.get_containing_window().close();
  }
  ,on_ok : function() {
      // console.log("20140424");
      // this.save(null, true, this.save_action_name);
      this.save();
  }
  ,run_action_hotkeys : function(k ,e){
    var result = this.actions_hotkeys.filter(obj => {
      return obj.key.toUpperCase() === String.fromCharCode(k).toUpperCase()
    })
    if (result != undefined){
      if (result.length != undefined){
        result = result[0];
      }
      // this.actions_hotkeys[i].ba
      var pk = this.current_record.id || this.default_record_id;
      if (pk == undefined && this.base_params) { pk = this.base_params.mk; }
//          if (pk == undefined && this.containing_panel) {
//             pk = this.containing_panel.get_current_record().id;
//          }
      if (pk == undefined) {
        // 20170101 VerifyUser action
        pk = '-99998';
        // Lino.alert("Sorry, dialog action without base_params.mk");
        // return;
        }
        eval(result.ba)(this.containing_panel,
                                              this.is_main_window,
                                              pk, {});
                                            }
      e.stopEvent();
      e.stopPropagation();

  }
  ,config_containing_window : function(wincfg) {

      // Note that defaultButton means: which component should receive
      // focus when Window is focussed.  If no defaultButton set,
      // specify the first form field.

      if (!wincfg.defaultButton) this.getForm().items.each(function(f){
          if(f.isFormField){
              wincfg.defaultButton = f;
              // console.log("20140205 defaultButton", f);
              return false;
          }
      });

      wincfg.keys = [];

      wincfg.keys.push({
          key: Ext.EventObject.ESCAPE,
          // this is not called sometimes.
          handler: this.on_cancel, scope:this });
      wincfg.keys.push({
          key: 's', ctrl: true,
             stopEvent: true, handler: this.on_ok, scope:this });
      if (this.actions_hotkeys) {
          for (var i = 0; i < this.actions_hotkeys.length;i++) {
            wincfg.keys.push({
              key: this.actions_hotkeys[i].key,
              ctrl: this.actions_hotkeys[i].ctrl,
              shift : this.actions_hotkeys[i].shift,
              stopEvent: true,
              handler:
                function(k, e){
                  this.run_action_hotkeys(k,e);
                },
              scope:this });
          }
      }
  }

});



Lino.getRowClass = function(record, rowIndex, rowParams, store) {
    //~ console.log(20130816,record);
    //~ return 'x-grid3-row-green';
    //~ return record.data.row_class + ' auto-height';
    return record.data.row_class;
  //~ if (true) {
      //~ return 'x-grid3-row-red';
  //~ }
  //~ if (record.phantom) {
    //~ console.log(20101009,record);
    //~ rowParams.bodyStyle = "color:red;background-color:blue";
    //~ return 'lino-phantom-row';
    //~ }
  //~ console.log('20101009 not a phantom:',record);
  //~ return '';
}

//~ FOO = 0;



Lino.GridStore = Ext.extend(Ext.data.ArrayStore,{
  autoLoad: false
  ,load: function(options) {
    //~ foo.bar = baz; // 20120213
    if (!options) options = {};
    if (!options.params) options.params = {};
    options.params.fmt = 'json';
    options.params.rp = this.grid_panel.getId();
    Lino.insert_subst_user(options.params); // since 20121016

    var start = this.grid_panel.start_at_bottom ? -1 : 0;
    if (this.grid_panel.hide_top_toolbar) {
        //~ console.log("20120206 GridStore.load() toolbar is hidden");
        options.params.start = start;
        if (this.grid_panel.preview_limit) {
          options.params.limit = this.grid_panel.preview_limit;
        }
    } else {
        var ps = this.grid_panel.calculatePageSize();
        if (!ps) {
          // console.log("GridStore.load() failed to calculate pagesize");
          return false;
        }
        options.params.limit = ps;

        this.grid_panel.getTopToolbar().pageSize =  ps;
        if (options.params.start == undefined)
            // if (start != -1)
            //     start = this.grid_panel.getTopToolbar().cursor
            options.params.start = start;

        // console.log("20141108 GridStore.load() ", options.params);
    }

    this.grid_panel.add_param_values(options.params);
    //~ Lino.insert_subst_user(options.params);
    //~ console.log("20120814 GridStore.load()",options.params,this.baseParams);
    return Lino.GridStore.superclass.load.call(this, options);
  }
  // ,insert : function(index, records) {
  //   return Ext.data.Store.prototype.insert.call(this, index, records)
    // return Lino.GridStore.superclass.insert.call(this, index, records);
  // }
});

Lino.get_current_grid_config = function(panel) {
    return panel.get_current_grid_config();
}


// Like the default value for GridView.cellTpl but adds a class "lino-auto-height"
Lino.auto_height_cell_template = new Ext.Template(
'<td class="x-grid3-col x-grid3-cell x-grid3-td-{id} {css}" style="{style}" tabIndex="0" {cellAttr}>',
    '<div class="lino-auto-height x-grid3-cell-inner x-grid3-col-{id}" unselectable="on" {attr}>{value}</div>',
'</td>'
);

Lino.GridPanel = Ext.extend(Ext.grid.EditorGridPanel, Lino.MainPanel);
Lino.GridPanel = Ext.extend(Lino.GridPanel, Lino.PanelMixin);
Lino.GridPanel = Ext.extend(Lino.GridPanel, {
  quick_search_text : '',
  start_at_bottom : false,
  is_searching : false,
  disabled_in_insert_window : true,
  clicksToEdit:2,
  enableColLock: false,
  autoHeight: false,
  params_panel_hidden : false,
  preview_limit : undefined,
  // fake_row_content: '<br>',
  row_height: 1,
  //~ loadMask: true,
  //~ viewConfig: {
          //~ getRowClass: Lino.getRowClass,
          //~ emptyText:"$_('No data to display.')"
        //~ },


  loadMask: {msg:"Please wait..."},

  constructor : function(config){

    config.plugins = [new Lino.GridFilters()];


    Lino.GridPanel.superclass.constructor.call(this,config);

    //~ if (this.containing_window) {
        //~ console.log("20111206 install refresh");
        //~ this.containing_window.on('show',this.refresh,this);
    //~ }

  },

  // private
  initEvents : function(){
    Ext.grid.GridPanel.superclass.initEvents.call(this);

    // modifed from Ext.grid.GridPanel
    // Override the function to replace the element to be covered by the mask to the body.
    if(this.loadMask){
        this.loadMask = new Ext.LoadMask(this.body,
                Ext.apply({store:this.store}, this.loadMask));
    }

    // unmodified from Ext.grid.EditorGridPanel
    this.getGridEl().on('mousewheel', this.stopEditing.createDelegate(this, [true]), this);
    this.on('columnresize', this.stopEditing, this, [true]);

    if(this.clicksToEdit == 1){
        this.on("cellclick", this.onCellDblClick, this);
    }else {
        var view = this.getView();
        if(this.clicksToEdit == 'auto' && view.mainBody){
            view.mainBody.on('mousedown', this.onAutoEditClick, this);
        }
        this.on('celldblclick', this.onCellDblClick, this);
    }
},

  init_containing_window : function(win) {
    //~ console.log("20111206 install refresh");
    //~ win.on('show',this.refresh,this);
  }

  ,handle_key_event : function(e) {
    // console.log("20140514 handle_key_event", e, this.keyhandlers);
    if (this.keyhandlers){
        var h = this.keyhandlers[e.keyCode];
        }
    else if (this.keys !== undefined){
        var h = this.keys[e.keyCode];
        }
    if (h) {
        h(this);
        e.stopEvent();
    }
  }

  ,initComponent : function(){

    /*
    Problem 20111206:
    When a GridPanel is the main item of the window, then it doesn't
    have it's own header but uses the window's header bar.
    We must do this in initComponent because e.g. in beforerender
    it's already to late: a header element has been created because
    there was a title.
    But Lino.Window adds itself as `this.containing_window`
    only after the GridPanel has been initialized.
    Workaround is to generate a line "params.containing_window = true;"
    in the handler function.
    */
    if (this.is_main_window) {
        //~ console.log(20111206, 'delete title',this.title,'from',this);
        this.tools = undefined;
        this.title = undefined;  /* simply deleting it
          isn't enough because that would only
          unhide the title defined in some base class. */
    }
    //~ else console.log(20111206, 'dont delete title',this.title,'from',this);

    /* e.g. when slave gridwindow called from a permalink */
    //~ if (this.base_params) Ext.apply(bp,this.base_params);

    var proxy = new Ext.data.HttpProxy({
      // 20120814
      url: '/api' + this.ls_url
      ,method: "GET"
      //~ ,url: ADMIN_URL + '/restful' + this.ls_url
      //~ ,restful: true
      ,listeners: {load: function (proxy, req, optps) {
            var result = req.reader.arrayData;
            // Used for lino version validation
            if (result.message) { //
                if (result.alert) { // 20120628b
                    if (result.alert === true) result.alert = "Alert";
                    Ext.MessageBox.alert(result.alert, result.message, function(){eval(result.alert_eval_js)});
                } else {
                    Lino.notify(result.message);
                }
            }
            } }
      //~ ,listeners: {write:on_proxy_write}
    });
    //~ config.store = new Ext.data.JsonStore({
    //~ this.store = new Ext.data.ArrayStore({
    this.store = new Lino.GridStore({
      grid_panel: this
      ,listeners: { exception: Lino.on_store_exception }
      ,remoteSort: true
      ,totalProperty: "count"
      ,root: "rows"
      //~ ,id: "id"
      ,proxy: proxy
      //~ autoLoad: this.containing_window ? true : false
      ,idIndex: this.pk_index
      //~ ,baseParams: bp
      ,fields: this.ls_store_fields
      ,idProperty: this.ls_id_property
      // 20120814
      //~ ,writer : new Ext.data.JsonWriter({
        //~ writeAllFields: false
        //~ ,listful: true
      //~ })
      //~ ,restful : true
    });

    //~ console.log('config.pk_index',config.pk_index,config.store),
    delete this.ls_store_fields;

    var this_ = this;
    //~ var grid = this;
    this.store.on('load', function() {
        //~ console.log('20120814 GridStore.on(load)',this_.store);
        this_.set_param_values(this_.store.reader.arrayData.param_values);
        //~ this_.set_status(this_.store.reader.arrayData.status);
        //~ 20120918
        this.getView().getRowClass = Lino.getRowClass;

        if (this_.store.reader.arrayData.no_data_text) {
            //~ this.viewConfig.emptyText = this_.store.reader.arrayData.no_data_text;
            this.getView().emptyText = this_.store.reader.arrayData.no_data_text;
            this.getView().refresh();
        }
        if (this_.containing_window)
            this_.set_window_title(this_.store.reader.arrayData.title);
            //~ this_.containing_window.setTitle(this_.store.reader.arrayData.title);
        // 20190704 add open_in_own_window button after title of slave panel
        // else if (! (this_ instanceof Ext.TabPanel)) this_.setTitle(this_.store.reader.arrayData.title);

        if (!this.is_searching) { // disabled 20121025: quick_search_field may not lose focus
          this.is_searching = false;
          if (this_.selModel.getSelectedCell){
              if (this_.getStore().getCount()) // there may be no data
                  this_.selModel.select(0,0);
          } else {
              this_.selModel.selectFirstRow();
              this_.getView().focusEl.focus();
          }
        }
        //~ else console.log("is_searching -> no focussing");
        //~ var t = this.getTopToolbar();
        //~ var activePage = Math.ceil((t.cursor + t.pageSize) / t.pageSize);
        //~ this.quick_search_field.focus(); // 20121024
      }, this
    );
    var actions = Lino.build_buttons(this, this.ls_bbar_actions);
    //~ Ext.apply(config,Lino.build_buttons(this,config.ls_bbar_actions));
    //~ config.bbar, this.cmenu = Lino.build_buttons(this,config.ls_bbar_actions);
    //~ this.cmenu = new Ext.menu.Menu({items: config.bbar});
    delete this.ls_bbar_actions
    if (actions) {
        this.cmenu = actions.cmenu;
//        this.keyhandlers = actions.keyhandlers;
        this.keys = new Ext.KeyMap(this.elements,actions.keyhandlers);
    }

    // TODO: hide_top_toolbar currently also acts as if hide_navigator was true,
    // IOW In ExtJS you cannot have the toolbar on the bottom without also
    // disabling navigation.

    if (!this.hide_top_toolbar) {
      var tbar = [
        this.quick_search_field = new Ext.form.TextField({
            //~ fieldLabel: "Search"
          emptyText: "Quick search",
          listeners: {
            scope:this_
            //~ ,change:this_.search_change
            
            ,render: Lino.quicktip_renderer("Quick Search","Enter a text to use as quick search filter")
            
            //~ ,keypress: this.search_keypress
            ,blur: function() { this.is_searching = false}
            ,afterrender: function(field) {
                if (this.focus_on_quick_search){
                    field.focus(false, 1000);
                    }
              }
          }
          ,validator:function(value) { return this_.search_validate(value) }
          //~ ,tooltip: "Enter a quick search text, then press TAB"
          //~ value: text
          //~ scope:this,
          //~ ,enableKeyEvents: true
          //~ listeners: { keypress: this.search_keypress },
          //~ id: "seachString"
      })];
      tbar = this.add_params_panel(tbar);
      // var menu = [];
      // var set_gc = function(index) {
      //   return function() {
      //     //~ console.log('set_gc() 20100812');
      //     this.getColumnModel().setConfig(this.ls_columns);
      //   }
      // }
      // for (var i = 0; i < this.ls_grid_configs.length;i++) {
      //   var gc = this.ls_grid_configs[i];
      //   menu.push({text:gc.label,handler:set_gc(i),scope:this})
      // }
      // if(menu.length > 1) {
      //   tbar = tbar.concat([
      //     { text:"View",
      //       menu: menu,
      //       tooltip:"Select another view of this report"
      //     }
      //   ]);
      // }

      if (actions) {
        tbar = tbar.concat(actions.bbar);
          //~ this.bbar = actions.bbar;
      }

      this.tbar = new Ext.PagingToolbar({
        store: this.store,
        prependButtons: true,
        //~ pageSize: this.page_length,
        pageSize: 1,
        displayInfo: true,
        beforePageText: "Page",
        afterPageText: "of {0}",
        displayMsg: "Displaying {0} - {1} of {2}",
        firstText: "First page",
        lastText: "Last page",
        prevText: "Previous page",
        nextText: "Next page",
        items: tbar
      });
    }

    if (this.cell_edit) {
      this.selModel = new Ext.grid.CellSelectionModel()
      this.get_selected = function() {
        //~ console.log(this.getSelectionModel().selection);
        if (this.selModel.selection)
            return [ this.selModel.selection.record ];
        return [this.store.getAt(0)];
      };
      this.get_current_record = function() {
        if (this.getSelectionModel().selection)
          return this.selModel.selection.record;
        return this.store.getAt(0);
      };
    } else {
      this.selModel = new Ext.grid.RowSelectionModel()
      this.get_selected = function() {
        var sels = this.selModel.getSelections();
        if (sels.length == 0) sels = [this.store.getAt(0)];
        return sels
      };
      this.get_current_record = function() {
        var rec = this.selModel.getSelected();
        if (rec == undefined) rec = this.store.getAt(0);
        return rec
      };
    };
    this.columns  = this.ls_columns;

    Lino.GridPanel.superclass.initComponent.call(this);

    this.on('resize', function(){
      //~ console.log("20120213 resize",arguments)
      this.refresh();
      },this);
    this.on('viewready', function(){
      //~ console.log("20120213 resize",arguments);
      this.view_is_ready = true;
      this.refresh(); // removed 20130911
      },this);
    this.on('afteredit', this.on_afteredit); // 20120814
    this.on('beforeedit', this.on_beforeedit);
    this.on('beforeedit',function(e) { this.before_row_edit(e.record)},this);
    if (this.cell_edit) {
        this.on('cellcontextmenu', Lino.cell_context_menu, this);
    } else {
        this.on('rowcontextmenu', Lino.row_context_menu, this);
    }
    //~ this.on('contextmenu', Lino.grid_context_menu, this);

    delete this.cell_edit;

  },

  //~ onResize : function(){
      //~ console.log("20120206 GridPanel.onResize",arguments);
      //~ Lino.GridPanel.superclass.onResize.apply(this, arguments);
      //~ this.refresh();
  //~ },


  get_status : function(){
    var st = { base_params : this.get_base_params()};
    if (!this.hide_top_toolbar) {
        // #866
        if (this.getStore().lastOptions != undefined && this.getStore().lastOptions.params != undefined){
            st.current_page = Math.round(this.getStore().lastOptions.params.start / this.getStore().lastOptions.params.limit ) + 1 ;
        }
    }
    st.param_values = this.status_param_values;
    //~ console.log("20120213 GridPanel.get_status",st);
    return st;
  },

  /*
  Lino.GridPanel.set_status()
  */
  set_status : function(status, rp){
    this.requesting_panel = Ext.getCmp(rp);
    // console.log("20140527 GridPanel.set_status", status);
    this.clear_base_params();
    if (status == undefined) status = {base_params:{}};
    this.set_param_values(status.param_values);
    if (status.base_params) {
      this.set_base_params(status.base_params);
    }
    if (status.show_params_panel != undefined) {
        if (this.toggle_params_panel_btn) {
            //~ this.toggle_params_panel_btn.toggle(status.show_params_panel=='true');
            this.toggle_params_panel_btn.toggle(status.show_params_panel);
        }
    }
    if (!this.hide_top_toolbar) {
      //~ console.log("20120213 GridPanel.getTopToolbar().changePage",
          //~ status.current_page || 1);
      this.getTopToolbar().changePage(status.current_page || 1);
    }
    //~ this.fireEvent('resize');
    //~ this.refresh.defer(100,this);
    //~ this.onResize.defer(100,this);
    //~ this.refresh();
    //~ this.doLayout();
    //~ this.onResize();
    //~ this.store.load();
  },

  refresh : function(unused) {
    this.refresh_with_after();
  },
  /* GridPanel */
  refresh_with_after : function(after) {
    // console.log('20140504 Lino.GridPanel.refresh '+ this.store.proxy.url);
    //~ var bp = { fmt:'json' }
    if (! this.view_is_ready) return;

    if (this.containing_panel) {
        //~ Ext.apply(p,this.master_panel.get_master_params());
        //~ Ext.apply(options.params,this.containing_panel.get_master_params());
        this.set_base_params(this.containing_panel.get_master_params());
        // 20130911
        if (this.store.baseParams.mk === undefined ) {
            return;
        }
    }

    //~ console.log('20130911 Lino.GridPanel.refresh_with_after',this.containing_panel.get_master_params());

    var options = {};
    if (after) {
        options.callback = function(r,options,success) {if(success) after()}
    }

    //~ if (!this.rendered) {
        //~ console.log("20120206 GridPanel.refresh() must wait until rendered",options);
        //~ this.grid_panel.on('render',this.load.createDelegate(this,options))
        //~ return;
    //~ }
    // Ticket 802
    if (this.store.lastOptions != undefined){
        var params = {};
        params.limit = this.store.lastOptions.params.limit;
        params.start = this.store.lastOptions.params.start;
        options.params = params;
    }
    this.store.load(options);
  },

  /* pageSize depends on grid height (Trying to remove scrollbar)
  Thanks to
  - Christophe Badoit on http://www.sencha.com/forum/showthread.php?82647
  - http://www.sencha.com/forum/archive/index.php/t-37231.html
  */
  calculatePageSize : function(second_attempt) {
    //~ if (!this.rendered) {
    if (!this.view_is_ready) {
      //~ console.log('Cannot calculatePageSize() : not rendered');
      return false; }
    //~ if (!this.isVisible()) {
      //~ console.log('calculatePageSize : not visible');
      //~ return false; }

    //~ console.log('getFrameHeight() is',this.getFrameHeight());
    //~ console.log('getView().scroller.getHeight() is',this.getView().scroller.getHeight());
    //~ console.log('mainBody.getHeight() is',this.getView().mainBody.getHeight());
    //~ console.log('getInnerHeight() is',this.getInnerHeight());
    //~ console.log('getHeight() is',this.getHeight());
    //~ console.log('el.getHeight() is',this.getEl().getHeight());
    //~ console.log('getGridEl().getHeight() is',this.getGridEl().getHeight());
    //~ console.log('getOuterSize().height is',this.getOuterSize().height);
    //~ console.log('getBox().height is',this.getBox().height);
    //~ console.log('getResizeEl.getHeight() is',this.getResizeEl().getHeight());
    //~ console.log('getLayoutTarget().getHeight() is',this.getLayoutTarget().getHeight());

    // var rowHeight = this.row_height * 11; experimental value 11
    // same as in ext_renderer.py that's not enough because it is the
    // height of one text line. But here we need the outer height of a
    // grid row containing that many text lines.

    var row_content = '&nbsp;'
    for (var i = 0; i < this.row_height;i++) {
        row_content += '<br>';
    }

    var Element = Ext.Element;
    var gv = this.view;
    var fakeBody = new Element(Element.fly(gv.scroller).child('div.x-grid3-body'));
    var rowTemplate = gv.templates.row;
    var cellTemplate = gv.templates.cell;
    var tstyle  = 'width:' + gv.getGridInnerWidth() + 'px;';
    // console.log("20160615", this.fake_row_content);
    var cells = cellTemplate.apply({value:row_content});
    var markup = rowTemplate.apply({
            tstyle: tstyle,
            cols  : 1,
            cells : cells,
            alt   : ''
        });
    fakeBody.dom.innerHTML = gv.templates.body.apply({rows: markup});
    var row = fakeBody.dom.childNodes[0];
    var rowHeight = Ext.get(row).getHeight();

    //~ console.log('rowHeight is ',rowHeight,this,caller);
    //~ this.getView().syncScroll();
    //~ this.getView().initTemplates();
    var height = this.getView().scroller.getHeight();

    //~ console.log('getView().scroller.getHeight() is',this.getView().scroller.getHeight());
    //~ console.log('getInnerHeight() - getFrameHeight() is',
      //~ this.getInnerHeight(), '-',
      //~ this.getFrameHeight(), '=',
      //~ this.getInnerHeight() - this.getFrameHeight());
    //~ var height = this.getView().mainBody.getHeight();
    //~ var height = this.getView().mainWrap.getHeight();
    //~ var height = this.getView().resizeMarker.getHeight();
    //~ this.syncSize();
    //~ var height = this.getInnerHeight() - this.getFrameHeight();
    //~ var height = this.getHeight() - this.getFrameHeight();
    height -= Ext.getScrollBarWidth(); // leave room for a possible horizontal scrollbar...
    //~ height -= this.getView().scrollOffset;
    var ps = Math.floor(height / rowHeight);
    //~ console.log('20130816 calculatePageSize():',height,'/',rowHeight,'->',ps);
    ps -= 1; // leave room for a possible phantom row
    //~ return (ps > 1 ? ps : false);
    if (ps > 1) return ps;
    //~ console.log('calculatePageSize() found less than 1 row:',height,'/',rowHeight,'->',ps);
    //~ foo.bar = baz; // 20120213
    return 5; // preview_limit
    //~ if (second_attempt) {
        //~ console.log('calculatePageSize() abandons after second attempt:',
          //~ height,'/',rowHeight,'->',ps);
      //~ return 5;
    //~ }
    //~ return this.calculatePageSize.defer(500,this,[true]);
  },

  onCellDblClick : function(grid, row, col){
      //~ console.log("20120307 onCellDblClick",this,grid, row, col);
      if (this.ls_detail_handler) {
          //~ Lino.notify('show detail');
          Lino.show_detail(this);
          return false;
      }else{
        //~ console.log('startEditing');
        this.startEditing(row,col);
      }
  },
  get_base_params : function() {  /* Lino.GridPanel */
    var p = Ext.apply({}, this.store.baseParams);
    Lino.insert_subst_user(p);
    // if (this.quick_search_field)
    //     if (this.quick_search_field.getValue())
    //         p.query = this.quick_search_field.getValue();
    return p;
  },
  set_base_params : function(p) {
    // console.log('20130911 GridPanel.set_base_params',p)
    for (k in p) this.store.setBaseParam(k,p[k]);
    //~ this.store.baseParams = p;
    if (this.quick_search_field)
      this.quick_search_field.setValue(p.query || "");
    //~ if (p.param_values)
        //~ this.set_param_values(p.param_values);
  },
  clear_base_params : function() {
      this.store.baseParams = {};
      Lino.insert_subst_user(this.store.baseParams);
  },
  set_base_param : function(k,v) {
    this.store.setBaseParam(k,v);
  },

  //~ get_permalink_params : function() {
    //~ var p = {};
    //~ return p;
  //~ },

  before_row_edit : function(record) {},

  //~ search_keypress : function(){
    //~ console.log("2012124 search_keypress",arguments);
  //~ },
  search_validate : function(value) {
      if (value == this.quick_search_text) return true;

      /**
      *  Cancel the previous request when do a new load request.
      *  Prevents Ajax race conditions. Ticket #2136
      **/
      var c = this.store.proxy.getConnection();
      c.abort(c.transId);


    this.is_searching = true;
    //~ console.log('search_validate',value)
    this.quick_search_text = value;
    this.set_base_param('query',value);
    //~ this.getTopToolbar().changePage(1);
    this.getTopToolbar().moveFirst();
    //~ this.refresh();
    return true;
  },

  search_change : function(field,oldValue,newValue) {
    //~ console.log('search_change',field.getValue(),oldValue,newValue)
    this.set_base_param('query',field.getValue());
    this.getTopToolbar().moveFirst();
    //~ this.refresh();
  },

  get_current_grid_config : function () {
    var cm = this.getColumnModel();
    var widths = Array(cm.config.length);
    var hiddens = Array(cm.config.length);
    //~ var hiddens = Array(cm.config.length);
    var columns = Array(cm.config.length);
    //~ var columns = Array(cm.config.length);
    //~ var hidden_cols = [];
    //~ var filters = this.filters.getFilterValues();
    var p = this.filters.buildQuery(this.filters.getFilterData())
    for (var i = 0; i < cm.config.length; i++) {
      var col = cm.config[i];
      columns[i] = col.dataIndex;
      //~ hiddens[i] = col.hidden;
      widths[i] = col.width;
      hiddens[i] = col.hidden;
      //~ if (col.hidden) hidden_cols.push(col.dataIndex);
    }
    //~ p['hidden_cols'] = hidden_cols;
    p.cw = widths;
    p.ch = hiddens;
    p.ci = columns;
    //~ p['widths'] = widths;
    //~ p['hiddens'] = hiddens;
    //~ p['columns'] = columns;
    // p['name'] = this.gc_name;
    //~ var gc = this.ls_grid_configs[this.gc_name];
    //~ if (gc !== undefined)
        //~ p['label'] = gc.label
    //~ console.log('20100810 save_grid_config',p);
    return p;
  },

  on_beforeedit : function(e) {
    //~ console.log('20130128 GridPanel.on_beforeedit()',e,e.record.data.disable_editing);
    if(this.disable_editing | e.record.data.disable_editing) {
      e.cancel = true;
      Lino.notify("This record is disabled");
      return;
    }
    if(e.record.data.disabled_fields && e.record.data.disabled_fields[e.field]) {
      e.cancel = true;
      Lino.notify("This field is disabled");
      return;
    }
    //~ if (e.record.data.disabled_fields) {
      //~ for (i in e.record.data.disabled_fields) {
        //~ if(e.record.data.disabled_fields[i] == e.field) {
          //~ e.cancel = true;
          //~ Lino.notify(String.format('Field "{0}" is disabled for this record',e.field));
          //~ return
        //~ }
      //~ }
    //~ }
  },
  save_grid_data : function() {
      //~ console.log("20120814 save_grid_data");
      this.getStore().commitChanges();
  },
  on_afteredit : function(e) {
    /*
    e.grid - The grid that fired the event
    e.record - The record being edited
    e.field - The field name being edited
    e.value - The value being set
    e.originalValue - The original value for the field, before the edit.
    e.row - The grid row index
    e.column - The grid column index
    */
    var p = {};
    // console.log('20140403 afteredit: ',e.record);
    //~ console.log('20101130 value: ',e.value);
    //~ var p = e.record.getChanges();
    //~ console.log('20101130 getChanges: ',e.record.getChanges());
    //~ this.before_row_edit(e.record);

    for(k in e.record.getChanges()) {
        var v = e.record.get(k);
    //~ for(k in e.record.modified) {
        //~ console.log('20101130',k,'=',v);
        //~ var cm = e.grid.getColumnModel();
        //~ var di = cm.getDataIndex(k);
        var f = e.record.fields.get(k);
        //~ console.log('20101130 f = ',f);
        //~ var v = e.record.get(di);
        if (f.type.type == 'date') {
            p[k] = Ext.util.Format.date(v, f.dateFormat);
        }else{
            p[k] = v;
            var v = e.record.get(k+'Hidden');
            if (v !== undefined) {
              p[k+'Hidden'] = v;
            }
        }
    }
    // add value used by ForeignKeyStoreField CHOICES_HIDDEN_SUFFIX
    // not sure whether this is still needed:
    p[e.field+'Hidden'] = e.value;
    //~ p.su = Lino.subst_user;
    Lino.insert_subst_user(p);
    // this one is needed so that this field can serve as choice context:
    e.record.data[e.field+'Hidden'] = e.value;
    // p[pk] = e.record.data[pk];
    // console.log("grid_afteredit:",e.field,'=',e.value);
    Ext.apply(p, this.get_base_params()); // needed for POST, ignored for PUT
    //~ Ext.apply(p,this.containing_window.config.base_params);
    //~ 20121109 p['$constants.URL_PARAM_ACTION_NAME'] = 'grid';
    var self = this;
    var req = {
        params: p,
        waitMsg: 'Saving your data...',
        success: Lino.action_handler(this, function (result) {
            // console.log("20140728 afteredit.success got ", result);
            //~ if (result.data_record) {
            if (result.refresh_all) {
                var cw = self.get_containing_window();
                if (cw) {
                    cw.main_item.refresh();
                }
                else console.log("20120123 cannot refresh_all", self);
            } else if (result.rows) {
                //~ self.getStore().loadData(result,true);
                var r = self.getStore().reader.readRecords(result);
                var cell = e.grid.getSelectionModel().selection.cell; // post insert cord for edit / selection
                if (e.record.phantom) {
                    var was_editing = false;
                    // console.log("20140728 gonna call Store.insert()", self.getStore(), e.row, r.records);
                    if (e.grid.editing && e.grid.activeEditor) {
                        cell = [e.grid.activeEditor.row, e.grid.activeEditor.col];
                        console.log("was editing", cell);
                        e.grid.activeEditor.cancelEdit();
                        was_editing = true;
                    }

                    self.getStore().insert(e.row, r.records);
                    if (was_editing) {
                        e.grid.startEditing(cell[0], cell[1]);
                    }

                } else {
                    // console.log("20140728 afteredit.success doUpdate", r.records[0]);
                    self.getStore().doUpdate(r.records[0]);
                }
                self.getStore().rejectChanges();
                /*
            get rid of the red triangles without saving the record again
            */
                e.grid.getSelectionModel().select(cell[0], cell[1]);

                //~ self.getStore().commitChanges(); // get rid of the red triangles
            } else {
                self.getStore().commitChanges(); // get rid of the red triangles
                self.getStore().reload();        // reload our datastore.
            }
        }),
        scope: this,
        failure: Lino.ajax_error_handler(this)
    };
    if (e.record.phantom) {
      req.params.an = 'grid_post'; // CreateRow.action_name
      Ext.apply(req,{
        method: 'POST',
        url: '/api' + this.ls_url
      });
    } else {
      req.params.an = 'grid_put'; // SaveRow.action_name
      Ext.apply(req,{
        method: 'PUT',
        url: '/api' + this.ls_url + '/' + e.record.id
      });
    }
    //~ console.log('20110406 on_afteredit',req);
    this.loadMask.show(); // 20120211
    Ext.Ajax.request(req);
  },

  afterRender : function() {
    Lino.GridPanel.superclass.afterRender.call(this);
    // this.getView().mainBody.focus();
    // console.log(20100114,this.getView().getRows());
    // if (this.getView().getRows().length > 0) {
    //  this.getView().focusRow(1);
    // }
    //~ this.my_load_mask = new Ext.LoadMask(this.getEl(), {
        //~ msg:'$_("Please wait...")',
        //~ store:this.store});

    var tbar = this.getTopToolbar();
    // tbar.on('change',function() {this.getView().focusRow(1);},this);
    // tbar.on('change',function() {this.getSelectionModel().selectFirstRow();this.getView().mainBody.focus();},this);
    // tbar.on('change',function() {this.getView().mainBody.focus();},this);
    // tbar.on('change',function() {this.getView().focusRow(1);},this);
    this.nav = new Ext.KeyNav(this.getEl(),{
      pageUp: function() {tbar.movePrevious(); },
      pageDown: function() {tbar.moveNext(); },
      home: function() {tbar.moveFirst(); },
      end: function() {tbar.moveLast(); },
      scope: this
    });

  },
  after_delete : function() {
    //~ console.log('Lino.GridPanel.after_delete');
    this.refresh();
  },
  add_row_listener : function(fn,scope) {
    this.getSelectionModel().addListener('rowselect',fn,scope);
  },
  postEditValue : function(value, originalValue, r, field){
    value = Lino.GridPanel.superclass.postEditValue.call(this,value,originalValue,r,field);
    //~ console.log('GridPanel.postEdit()',value, originalValue, r, field);
    return value;
  },

  set_start_value : function(v) {
      this.start_value = v;
  },
  preEditValue : function(r, field){
      if (this.start_value) {
        var v = this.start_value;
        delete this.start_value;
        this.activeEditor.selectOnFocus = false;
        return v;
      }
      var value = r.data[field];
      return this.autoEncode && Ext.isString(value) ? Ext.util.Format.htmlDecode(value) : value;
  },

  on_master_changed : function() {
    //~ if (! this.enabled) return;
    //~ cmp = this;
    //~ console.log('20130911 Lino.GridPanel.on_master_changed()',this.title,this.rendered);
    if (! this.rendered) return; // 20120213
    var todo = function() {
      if (this.disabled) return;
      //~ if (this.disabled) return;
      //~ if (this.enabled) {
          //~ var src = caller.config.url_data + "/" + record.id + ".jpg"
          //~ console.log(20111125, this.containing_window);
          //~ for (k in p) this.getStore().setBaseParam(k,p[k]);
          //~ console.log('Lino.GridPanel.on_master_changed()',this.title,p);
          this.refresh();
          //~ this.set_base_params(this.master_panel.get_master_params());
          //~ this.getStore().load();
      //~ }
    };
    Lino.do_when_visible(this,todo.createDelegate(this));
  },
  load_record_id : function(record_id,after) {
      Lino.run_detail_handler(this,record_id)
  }

});


//~ Lino.MainPanelMixin = {
  //~ tbar_items : function() {
      //~ return ;
  //~ }
//~ };

//~ Ext.override(Lino.GridPanel,Lino.MainPanelMixin);
//~ Ext.override(Lino.FormPanel,Lino.MainPanelMixin);

//~ Lino.grid_context_menu = function(e) {
  //~ console.log('contextmenu',arguments);
//~ }

Lino.row_context_menu = function(grid,row,col,e) {
  console.log('20130927 rowcontextmenu',grid,row,col,e,grid.store.reader.arrayData.rows[row]);
}

Lino.cell_context_menu = function(grid,row,col,e) {
  //~ console.log('20120531 cellcontextmenu',grid,row,col,e,grid.store.reader.arrayData.rows[row]);
  e.stopEvent();
  //~ grid.getView().focusCell(row,col);
  grid.getSelectionModel().select(row,col);
  //~ console.log(grid.store.getAt(row));
  //~ grid.getView().focusRow(row);
  //~ return;
  if(!grid.cmenu.el){grid.cmenu.render(); }
  //~ if(e.record.data.disabled_fields) {

  if (grid.disabled_fields_index) {
      var da = grid.store.reader.arrayData.rows[row][grid.disabled_fields_index];
      if (da) {
          this.cmenu.cascade(function(item){
            //~ console.log(20120531, item.itemId, da[item.itemId]);
            if (da[item.itemId]) item.disable(); else item.enable();
          });
      }
  };

  var xy = e.getXY();
  xy[1] -= grid.cmenu.el.getHeight();
  grid.cmenu.showAt(xy);
}


Lino.chooser_handler = function(combo,name) {
  return function(cmp, newValue, oldValue) {
    //~ console.log('Lino.chooser_handler()',cmp,oldValue,newValue);
    combo.setContextValue(name, newValue);
  }
};



Lino.ComboBox = Ext.extend(Ext.form.ComboBox,{
  forceSelection: "yes but select on tab",
  // forceSelection: true,
  triggerAction: 'all',
  minListWidth:280, // 20131022
  autoSelect: true,
//  lazyRender:true,
//  lazyInit:false,
//  validationDelay :0,
//  typeAhead : true,
//  typeAheadDelay :false,
  selectOnFocus: true, // select any existing text in the field immediately on focus.
  submitValue: true,
  queryDelay:0,
  minChars: 0,
  displayField: 'text', // 'text',
  valueField: 'value', // 'value',

  //~ initComponent : Ext.form.ComboBox.prototype.initComponent.createSequence(function() {
  initComponent : function(){
      this.contextParams = {};
      this.on('expand',function(){
        // console.log("expand",this.store.getRange());
        if (this.store.getRange().length > 1){
            // Auto selection the first choices in the dropdown list.
            this.select(this.store.getRange()[0].id);
        }
      },this);
      //~ Ext.form.ComboBox.initComponent(this);
      Lino.ComboBox.superclass.initComponent.call(this);
      this.queryDelay = 0;
  },
  //Override this to accept DELETE key as not a specialkey and show choices.
  onKeyUp : function(e){
    var k = e.getKey();
    if(this.editable !== false && this.readOnly !== true && (k == e.BACKSPACE || k == e.DELETE || !e.isSpecialKey())){

        this.lastKey = k;
        this.dqTask.delay(this.queryDelay);
    }
    Ext.form.ComboBox.superclass.onKeyUp.call(this, e);
    },
  setValue : function(v, record_data){
      /*
      Based on feature request developed in http://extjs.net/forum/showthread.php?t=75751
      */
      /* `record_data` is used to get the text corresponding to this value */
      //~ if(this.name == 'city')
      //~ console.log('20120203', this.name,'.setValue(', v ,') this=', this,'record_data=',record_data);
      var text = v;
      if(this.valueField){
        if(v == null || v == '') {
            //~ if (this.name == 'birth_country')
                //~ console.log(this.name,'.setValue',v,'no lookup needed, value is empty');
            //~ v = undefined;
            v = '';
            //~ text = '';
        } else if (Ext.isDefined(record_data)) {
          text = record_data[this.name];
          //~ if (this.name == 'birth_country')
          this.original_record_data = record_data;
            //~ console.log(this.name,'.setValue',v,'got text ',text,' from record ',record);
        } else if (Ext.isDefined(this.original_record_data) && this.original_record_data[this.hiddenName] === v) {
            // Fix for ticket #2628
            text = this.original_record_data[this.name];
        } else {
          // if(this.mode == 'remote' && !Ext.isDefined(this.store.totalLength)){
          if(this.mode == 'remote' && ( this.lastQuery === null || (!Ext.isDefined(this.store.totalLength)))){
              //~ if (this.name == 'birth_country') console.log(this.name,'.setValue',v,'store not yet loaded');
              this.store.on('load', this.setValue.createDelegate(this, arguments), null, {single: true});
              if(this.store.lastOptions === null || this.lastQuery === null){
                  var params;
                  if(this.valueParam){
                      params = {};
                      params[this.valueParam] = v;
                  }else{
                      var q = this.allQuery;
                      this.lastQuery = q;
                      this.store.setBaseParam(this.queryParam, q);
                      params = this.getParams(q);
                  }
                  //~ if (this.name == 'birth_country')
                    //~ console.log(this.name,'.setValue',v,' : call load() with params ',params);
                  this.store.load({params: params});
              //~ }else{
                  //~ if (this.name == 'birth_country')
                    //~ console.log(this.name,'.setValue',v,' : but store is loading',this.store.lastOptions);
              }
              return;
          //~ }else{
              //~ if (this.name == 'birth_country')
                //~ console.log(this.name,'.setValue',v,' : store is loaded, lastQuery is "',this.lastQuery,'"');
          }
          var r = this.findRecord(this.valueField, v);
          if(r){
              text = r.data[this.displayField];
          }else if(this.valueNotFoundText !== undefined){
              text = this.valueNotFoundText;
          }
        }
      }
      this.lastSelectionText = text;
      //~ this.lastSelectionText = v;
      if(this.hiddenField){
          //~ this.hiddenField.originalValue = v;
          this.hiddenField.value = v;
      }
      Ext.form.ComboBox.superclass.setValue.call(this, text);
      this.value = v; // needed for grid.afteredit
  },

  getParams : function(q){
    // p = Ext.form.ComboBox.superclass.getParams.call(this, q);
    // causes "Ext.form.ComboBox.superclass.getParams is undefined"
    var p = {};
    if(this.pageSize){
        p['start'] = 0;
        p['limit'] = this.pageSize;
    }
    // now my code:
    if(this.contextParams) Ext.apply(p, this.contextParams);
    return p;
  },
  setContextValue : function(name,value) {
    //~ console.log('setContextValue',this,this.name,':',name,'=',value);
    //~ if (this.contextValues === undefined) {
        //~ this.contextValues = Array(); // this.contextParams.length);
    //~ }
    if ((this.contextParams[name] != value) || (this.contextParams[name] == undefined)) {
      //~ console.log('setContextValue 1',this.contextParams);
      this.contextParams[name] = value;
      this.lastQuery = null;
      //~ console.log('setContextValue 2',this.contextParams);
    }
  }
});

Lino.ChoicesFieldElement = Ext.extend(Lino.ComboBox,{
  mode: 'local'
});


Lino.SimpleRemoteComboStore = Ext.extend(Ext.data.JsonStore,{
  // forceSelection: true,  20140206 why was this here?
  constructor: function(config){
      Lino.SimpleRemoteComboStore.superclass.constructor.call(this, Ext.apply(config, {
          totalProperty: 'count',
          root: 'rows',
          id: 'value', // 'value'
          fields: ['value' ],
          listeners: { exception: Lino.on_store_exception }
      }));
  }
});

Lino.ComplexRemoteComboStore = Ext.extend(Ext.data.JsonStore,{
  constructor: function(config){
      Lino.ComplexRemoteComboStore.superclass.constructor.call(this, Ext.apply(config, {
          totalProperty: 'count',
          root: 'rows',
          id: 'value', // constants.CHOICES_VALUE_FIELD
          fields: ['value','text'], // constants.CHOICES_VALUE_FIELD, // constants.CHOICES_TEXT_FIELD
          listeners: { exception: Lino.on_store_exception }
      }));
  }
});

Lino.RemoteComboFieldElement = Ext.extend(Lino.ComboBox,{
  mode: 'remote',
  //~ forceSelection:false,
  minChars: 0, // default 4 is too much
//  queryDelay: 300, // default 500 is maybe slow
  queryParam: 'query',
  //~ typeAhead: true,
  //~ selectOnFocus: true, // select any existing text in the field immediately on focus.
  resizable: true
  ,initList : function() {
      Lino.RemoteComboFieldElement.superclass.initList.call(this);
      if (this.pageTb) {

          var me = this;
          this.pageTb.on("beforechange", function(toolbar, o){
              if(me.contextParams)
                  Ext.apply(o, me.contextParams);
          });

          //~
          //~ var btn = ls_buttons
          //~ this.pageTb.items = this.pageTb.items.concat([btn]);
          //~ console.log("20131022 pageTb.items is", this.pageTb.items)
      }
  }
});

/*
Thanks to Animal for posting the basic idea:
http://www.sencha.com/forum/showthread.php?15842-2.0-SOLVED-Combobox-twintrigger-clear&p=76130&viewfull=1#post76130

*/
Lino.TwinCombo = Ext.extend(Lino.RemoteComboFieldElement,{
    trigger2Class : 'x-form-search-trigger',
    //~ trigger2Class : 'x-tbar-detail',
    initComponent : function() {
        //~ Lino.TwinCombo.superclass.initComponent.call(this);
        Lino.ComboBox.prototype.initComponent.call(this);
        Ext.form.TwinTriggerField.prototype.initComponent.call(this);
    },
    onTrigger2Click : function() {
        //~ console.log('onTrigger2Click',this,arguments);
    }
  });
//~ Lino.TwinCombo.prototype.initComponent = Ext.form.TwinTriggerField.prototype.initComponent;
Lino.TwinCombo.prototype.getTrigger = Ext.form.TwinTriggerField.prototype.getTrigger;
Lino.TwinCombo.prototype.getOuterSize = Ext.form.TwinTriggerField.prototype.getOuterSize;
Lino.TwinCombo.prototype.initTrigger = Ext.form.TwinTriggerField.prototype.initTrigger;
Lino.TwinCombo.prototype.onTrigger1Click = Ext.form.ComboBox.prototype.onTriggerClick;
//~ Lino.TwinCombo.prototype.onTrigger2Click = function() {
    //~ console.log('onTrigger2Click',arguments);
//~ };



Lino.SimpleRemoteComboFieldElement = Ext.extend(Lino.RemoteComboFieldElement,{
  displayField: 'value',
  valueField: null,
  forceSelection: false
});




Lino.Window = Ext.extend(Ext.Window,{
  //~ layout: "fit",
  closeAction : 'hide',
  renderTo: 'main_area',
  constrain: true,
  maximized: true,
  draggable: false,
  width: 700,
  height: 500,
  maximizable: false,
  constructor : function (config) {
    if (config.main_item.params_panel) {
        config.layout = 'border';
        config.main_item.region = 'center';
        // 20210501 config.main_item.params_panel.region = 'north';
        //~ config.main_item.params_panel.autoHeight = false; // 20130924
        config.main_item.params_panel.hidden = config.main_item.params_panel_hidden;
        config.items = [config.main_item.params_panel, config.main_item];
        //~ 20130923b
    } else {
        config.layout = 'fit';
        config.items = config.main_item;
    }
    this.main_item = config.main_item;

    if (typeof config.width == "string" && config.width.slice(-1) == "%") {
        config.width = Lino.perc2width(parseInt(config.width.slice(0, -1)));
    }

    delete config.main_item;
    //~ delete config.params_item;

    //~ this.main_item = config.items.get(0);
    this.main_item.containing_window = this;

    //~ console.log('20120110 Lino.Window.constructor() 1');
    //~ if (Lino.current_window) { // all windows except the top are closable
    if (this.main_item.hide_window_title) {
      config.closable = false;
      config.frame = false;
      config.shadow = false;
      //~ config.border = true;
      //~ config.title = undefined;
      //~ config.tools = null;
      delete config.title;
      delete config.tools;
    } else {
      config.title = this.main_item.empty_title;
      config.closable = true;
      config.tools = [
        { qtip: 'permalink',
         handler: Lino.permalink_handler(this),
          id: "pin" },
        { qtip: "Save and close the window."
        , handler: Lino.close_and_save_handler(this),
         id: "save" }
      ];
      if (this.main_item.content_type && this.main_item.action_name != 'insert') {
        config.tools = [ {
          handler: Lino.help_text_editor,
          qtip: "Edit help texts for fields on this model.",
          scope: this.main_item,
          id: "gear"
        }].concat(config.tools);
      }

    //~ { qtip: '', handler: Lino.save_wc_handler(this), id: "save" },
    //~ { qtip: this.config.qtip, handler: Lino.save_wc_handler(this), id: "save" },
    //~ { qtip: 'Call doLayout() on main Container.', handler: Lino.refresh_handler(this), id: "refresh" },
    //~ if (this.main_item.params_panel) {
        //~ config.tools = config.tools.concat([
          //~ { qtip: 'Show/hide parameter panel', handler: this.toggle_params_panel, id: "gear", scope:this }
        //~ ]);
    //~ }
    //~ if (config.closable !== false) {
      // if undefined, will take default behaviour
      //~ config.tools = config.tools.concat([
        //~ { qtip: 'close', handler: this.hide, id: "close", scope:this }
      //~ ]);
    }

    this.main_item.config_containing_window(config);

    // console.log('20150514 Lino.Window.constructor() 2');
    Lino.Window.superclass.constructor.call(this, config);

    //~ console.log('20120110 Lino.Window.constructor() 3');

  },
  initComponent : function() {
    this.main_item.init_containing_window(this);
    Lino.Window.superclass.initComponent.call(this);

  },
  hide : function() {
      this.main_item.do_when_clean(false,function() {
        if (Lino.current_window){
          Lino.close_window();
        }
        });

  },
  hide_really : function() {
    Lino.Window.superclass.hide.call(this);
  },
  onRender : function(ct, position){
    // console.log('20140829 Lino.Window.onRender() 1');
    Lino.Window.superclass.onRender.call(this, ct, position);
    var main_area = Ext.getCmp('main_area')
    //~ console.log('20120110 Lino.Window.onRender() 2');

    this.on('show', function(win) {
        // console.log('20140829 Lino.Window.on(show) : add resize handler');
        main_area.on('resize', win.onWindowResize, win);
    });
    this.on('hide', function(win) {
        // console.log('20140829 Lino.Window.on(hide) : remove resize handler');
        main_area.un('resize', win.onWindowResize, win);
    });
    // console.log('20140829 Lino.Window.onRender() 3');
  }
});


Ext.override(Ext.form.BasicForm,{
    my_loadRecord : function(record_data){
    //~ loadRecord : function(record){
        /* Same as ExtJS's loadRecord() (setValues()), except that we
        forward also the record_data to field.setValue(). This second
        parameter is used by Lino.Combobox.
        */
        // console.log('20181102 my_loadRecord', record_data)
        if(Ext.isArray(record_data)){
            for(var i = 0, len = record_data.length; i < len; i++){
                var v = record_data[i];
                var f = this.findField(v.id);
                if(f){
                    f.setValue(v.value, record_data);
                    if(this.trackResetOnLoad){
                        f.originalValue = f.getValue();
                    }
                }
            }
        }else{
            var field, id;
            for(id in record_data){
                if(!Ext.isFunction(record_data[id]) && (field = this.findField(id))){
                    // console.log('20181102 setValue', field, record_data[id]);
                    field.setValue(record_data[id], record_data);
                    if(this.trackResetOnLoad){
                        field.originalValue = field.getValue();
                        //~ if (field.hiddenField) {
                          //~ field.hiddenField.originalValue = field.hiddenField.value;
                        //~ }
                    }
                } // else console.log('20181102 not for ', id);
            }
        }
        return this;
    }
});




function initializeFooBarDropZone(cmp) {
    //~ console.log('initializeFooBarDropZone',cmp);
    cmp.dropTarget = new Ext.dd.DropTarget(cmp.bwrap, {
      //~ ddGroup     : 'gridDDGroup',
      notifyEnter : function(ddSource, e, data) {
        console.log('notifyEnter',ddSource,e,data);
        //Add some flare to invite drop.
        cmp.body.stopFx();
        cmp.body.highlight();
      },
      notifyDrop  : function(ddSource, e, data){
        console.log('notifyDrop',ddSource,e,data);
        // Reference the record (single selection) for readability
        //~ var selectedRecord = ddSource.dragData.selections[0];


        // Load the record into the form
        //~ formPanel.getForm().my_loadRecord(selectedRecord);


        // Delete record from the grid.  not really required.
        //~ ddSource.grid.store.remove(selectedRecord);

        return(true);
      }
    })
}



Lino.show_mti_child = function(fieldname,detail_handler) {
  //~ console.log('show_mti_child',this);
  //~ console.log('show_mti_child',panel.find("main_area"));
  rec = Lino.current_window.main_item.get_current_record();
  //~ rec = panel.get_current_record();
  if (rec) {
    //~ console.log('show_mti_child',Lino.current_window,rec);
    if (rec.phantom) {
      Lino.notify('Not allowed on phantom record.');
    }else if (rec.data[fieldname]) {
      //~ console.log('show_mti_child',rec.id);
      //~ detail_handler(Lino.current_window.main_item,{},{record_id:rec.id});
      detail_handler.run(null,{record_id:rec.id});
      //~ window.open(urlroot + '/' + rec.id);
      //~ document.location = urlroot + '/' + rec.id;
      //~ window.open(urlroot + '/' + rec.id,'_blank');
    } else {
      Lino.alert("Cannot show MTI child if checkbox is off.");
    }
  } else {
    Lino.notify('No current record.');
  }
};


/*
captureEvents utility by Aaron Conran
<http://www.sencha.com/learn/grid-faq/>

Ext.onReady(function(){
    var grid = new Ext.grid.GridPanel({
        ...
    });
    captureEvents(grid);
});
*/
function captureEvents(observable) {
    Ext.util.Observable.capture(
        observable,
        function(eventName) {
            console.info(eventName);
        },
        this
    );
}

// settings.SITE.get_plugin_snippets()



// from lino_xl.lib.sepa:iban/uppercasetextfield.js

Lino.UppercaseTextField = Ext.extend(Ext.form.TextField,{
  style: 'text-transform:uppercase;',
  listeners:{
    change: function(field, newValue, oldValue){
      // console.log("20140403 UppercaseTextField",newValue, newValue.toUpperCase());
      field.setRawValue(newValue.toUpperCase());
    }
  }
});


Lino.iban_renderer = function(
    value, metaData, record, rowIndex, colIndex, store) 
{
    var reg = new RegExp(".{4}", "g");
    if(value) {
        return value.replace(reg, function (a) { return a + ' '; });
    }
    return value;
}




// from lino.modlib.tinymce (media_name=tinymce-3.5.11):tinymce/tinymce.js

/* Copyright 2009-2018 Rumma & Ko Ltd */


Lino.edit_tinymce_text = function(panel, tinymce_options) {
  // edit the text in own window.
  // `panel` is the RichTextPanel
  // console.log(20150520, panel);
  //~ var rec = panel.get_current_record();
  var rec = panel.containing_panel.get_current_record();
  var value = rec ? rec.data[panel.editor.name] : '';
  var saving = false;
  var todo_after_save = false;
  var discard_changes = false;
  
  
  function save() {
    if (saving) {alert('tried to save again'); return; }
    var url = panel.containing_panel.get_record_url(rec.id);
    var params = Ext.apply({}, panel.containing_panel.get_base_params());
    params[panel.editor.name] = editor.getValue();
    //~ params.su = Lino.subst_user;
    //~ Lino.insert_subst_user(params);

    // 20150325 http://trac.lino-framework.org/ticket/131
    var action_name = panel.containing_panel.save_action_name;
    if (!action_name) 
        action_name = panel.containing_panel.action_name;
    params.an = action_name;

    var a = { 
      params: params, 
      method: 'PUT',
      url: url,
      failure: function() {
          //~ if (editor.ed.getContainer()) 
          editor.ed.setProgressState(0);
          todo_after_save = false;
          saving = false;
          console.log('tinymce.save() failed. sorry.',arguments);
        },
      success: function() {
        saving = false;
        //~ if (editor.ed.getContainer()) 
        editor.ed.setProgressState(0);
        rec.data[panel.editor.name] = editor.getValue();
        if(todo_after_save) {
            var fn = todo_after_save;
            todo_after_save = false;
            fn();
        }
        //~ panel.containing_window.set_current_record(rec);
        panel.refresh();
      }
    };
    //~ if (editor.ed.getContainer()) 
    editor.ed.setProgressState(1); // Show progress
    saving = true;
    //~ console.log(a);
    Ext.Ajax.request(a);
  };
  function save_callback() {
      save();
      //~ save(function(){editor.ed.setDirty(false);})
      /* return true have the save button disabled.  
      That's not perfect because the PUT is asynchronous 
      and the response is not yet known.
      */
      return true;
  }
  //~ var actions = [
    //~ {text:"Save",handler:save}
  //~ ]; 
  //~ console.log(20110610,panel.editor.disabled);
  var settings = {};
  Ext.apply(settings,{
        readonly: panel.editor.disabled,
        //~ language: "de",
        plugins : "save,emotions,spellchecker,advhr,insertdatetime,preview,table,searchreplace,template", 
        // Theme options - button# indicated the row# only
        theme_advanced_buttons1 : "save,cancel,|,bold,italic,underline,|,justifyleft,justifycenter,justifyright,fontselect,fontsizeselect,formatselect,|,search,replace",
        theme_advanced_buttons2 : "cut,copy,paste,template,|,bullist,numlist,|,outdent,indent,|,undo,redo,|,link,unlink,anchor,image,|,code,preview,|,forecolor,backcolor",
        theme_advanced_buttons3 : "insertdate,inserttime,|,spellchecker,advhr,,removeformat,|,sub,sup,|,charmap,emotions,|,tablecontrols",
        theme_advanced_resizing : false,
        convert_urls : false,
        save_onsavecallback : save_callback,
        save_enablewhendirty : true
        //~ save_oncancelcallback: on_cancel
  });
  Ext.apply(settings, tinymce_options);
  var editor = new Ext.ux.TinyMCE({
      value : value,
      tinymceSettings: settings
    });
  var win = new Ext.Window({
    title: rec.title, 
    //~ bbar: actions,
    layout: 'fit',
    items: editor,
    width: 500, 
    height: 400,
    minWidth: 100,
    minHeight: 100,
    modal: true,
    resizable: true,
    maximizable: true,
    //~ maximized: true,
    //~ closeAction: "close"
    closeAction: "hide"
    //~ hideMode: "offsets",
    //~ constrainHeader: true,
    //~ bodyStyle: 'padding: 10px'
  });

  //~ win.on('beforeclose',function() {
  win.on('beforehide',function() {
    if (todo_after_save) return false;
    if (discard_changes) return true;
    if (editor.isDirty()) {
        //~ var ok = false;
        //~ var allowClose = true;
        var config = {title:"Confirmation"};
        config.buttons = Ext.MessageBox.YESNOCANCEL;
        config.msg = "Save changes to text ?";
        config.modal = true;
        config.fn = function(buttonId,text,opt) {
          //~ console.log('do_when_clean',buttonId)
          if (buttonId == "yes") {
              /* we cancel this close, but save()'s onSuccess will call again.*/
              //~ allowClose = false;
              todo_after_save = function(){win.hide();}
              editor.ed.execCommand('mceSave');
              //~ editor.ed.save(function(){win.close();});
          } else if (buttonId == "no") { 
              discard_changes = true;
              win.hide()
          //~ } else if (buttonId == "cancel") { 
            //~ ok = true;
              //~ allowClose = false;
          //~ } else { 
            //~ console.log('unknwon buttonId:',buttonId);
          }
        }
        Ext.MessageBox.show(config);
        return false;
        //~ return allowClose;
    }
  });
  win.show();
}


Lino.RichTextPanel = Ext.extend(Ext.Panel,Lino.PanelMixin);
Lino.RichTextPanel = Ext.extend(Lino.RichTextPanel,Lino.FieldBoxMixin);
Lino.RichTextPanel = Ext.extend(Lino.RichTextPanel,{
    
  //~ initComponent : function(){
    //~ Lino.RichTextPanel.superclass.initComponent.call(this);
  //~ },
  constructor : function(config, params) {
      // console.log('20150520a Lino.RichTextPanel.initComponent', this);
    //~ var url = TEMPLATES_URL + config.ls_url + "/" + String(rec.id) + "/" + config.name;
    //~ var url = TEMPLATES_URL + config.ls_url + "/" + config.name;
    var t = this;
    var tinymce_options = {
        theme : "advanced",
        content_css: '/static/extjs/lino.css,/static/tinymce_content.css',

        theme_advanced_font_sizes : "12px,13px,14px,16px,18px,20px,24px",
        font_size_style_values : "12px,13px,14px,16px,18px,20px,24px",
        language: 'en',
        //~ template_external_list_url : url,
        theme_advanced_toolbar_location : "top",
        theme_advanced_toolbar_align : "left",
        theme_advanced_statusbar_location : "bottom",
        template_popup_width : 500,
        template_popup_height : 400,
        template_replace_values : { 
            data_field : function(element){ 
                //~ console.log(20110722,fieldName,t.containing_window.get_current_record()); 
                var fieldName = element.innerHTML;
                element.innerHTML = t.containing_panel.get_current_record().data[fieldName];
            } 
        }
      };
      
    var editorConfig = {
      tinymceSettings: {
        plugins : "noneditable,template", 
        // Theme options - button# indicated the row# only
        theme_advanced_buttons1 : "bold,italic,underline,|,justifyleft,justifycenter,justifyright,|,bullist,numlist,|,outdent,indent,|,undo,redo,|,removeformat,template",
        theme_advanced_buttons2 : "",
        theme_advanced_buttons3 : "", // ,|,sub,sup,|,charmap",      
        theme_advanced_resizing : false
        //~ save_onsavecallback : save_callback,
        //~ save_enablewhendirty : true
        //~ save_oncancelcallback: on_cancel
        
    }};
    Ext.apply(editorConfig.tinymceSettings, tinymce_options);
    //~ editorConfig.name = config.action_name;
    editorConfig.name = config.name;
    delete config.name;
    //~ config.title = config.label;
    //~ delete config.label;
    this.before_init(config,params);
    
    // console.log('20150520b Lino.RichTextPanel.initComponent', this);

    this.editor = new Ext.ux.TinyMCE(editorConfig);
    var t = this;
    function save_cmd() { 
        // console.log("20150902 save_cmd()", arguments);            
        var cw = t.get_containing_window();
        if (cw) {
            cw.main_item.save();
        }
    }
    this.editor.withEd(function(){
        if (!t.editor.ed.addShortcut(
            'ctrl+s', 'Save the content', save_cmd)) {
            console.log("20150902 addShortcut() failed");            
        };
        // t.editor.ed.onKeyDown.add(function(ed, e) {
        //     if (e.keyCode == 13 && e.ctrlKey) {
        //         save_cmd(); 
        //         return tinymce.dom.Event.cancel(e); 
        //         // e.preventDefault();
        //         // http://stackoverflow.com/questions/18971284/event-preventdefault-vs-return-false-no-jquery
        //     }
        // });
    });
    config.tools = [{
                      qtip: "Edit text in own window", 
                      id: "up",
                      handler: function(){
                        if(t.editor.isDirty()) {
                            var record = t.containing_panel.get_current_record();
                            record.data[t.editor.name] = t.editor.getValue();
                        }
                        Lino.edit_tinymce_text(t, tinymce_options)
                      }
                    }];
    
    config.items = this.editor;
    config.layout = "fit";
    // console.log('20150520c Lino.RichTextPanel.initComponent', this);
    Lino.RichTextPanel.superclass.constructor.call(this, config);
    // console.log('20150520d Lino.RichTextPanel.initComponent', this);
  },
  getValue : function(v) {
      return this.editor.getValue(v);
  },
  refresh : function(unused) { 
      this.refresh_with_after();
  },
  /* RichTextPanel */
  refresh_with_after : function(after) {
    // when called from the dashboard:    
    if (!this.containing_panel.get_current_record) { return; }
    var record = this.containing_panel.get_current_record();
    // console.log('20140504 RichTextPanel.refresh()',
    //             this.title,record.title, record);
    var todo = function() {
      if (record) {
        var url = '/tinymce/templates' 
              + this.containing_panel.ls_url + "/" 
              + String(record.id) + "/" + this.editor.name;
        // console.log('20150415 RichTextPanel.refresh()',url);
        if (this.editor.ed)
            this.editor.ed.settings.template_external_list_url = url;
            // else {console.log("20150415 no editor")}
        this.set_base_params(this.containing_panel.get_master_params());
        //~ var v = record ? this.format_data(record.data[this.editor.name]) : ''
        var v = this.format_data(record.data[this.editor.name])
        this.editor.setValue(v);
      } else {
        this.editor.setValue('(no data)');
      }
    };
    Lino.do_when_visible(this,todo.createDelegate(this));
  }
});
//~ Ext.override(Lino.RichTextPanel,Lino.FieldBoxMixin);


// from lino.modlib.comments:comments/comments.js

function toggle_visibility(id) {
   var e = document.getElementById(id);
   if(e.style.display == 'block'|| (e.style.display != 'block' && e.style.display != 'none'))
      e.style.display = 'none';
   else
      e.style.display = 'block';
}
Lino.main_menu = [ { "menu": { "items": [ { "handler": function() {Lino.about.About.show.run(null,{ "record_id": -99998 })}, "listeners": { "render": Lino.quicktip_renderer("Foo","A dialog window which displays some information about the site.") }, "text": "About" } ] }, "text": "Site" }, { "handler": function() {Lino.handle_home_button()}, "text": "Home" }, { "handler": function() {Lino.set_user_language("en")}, "text": "en" }, { "handler": function() {Lino.set_user_language("de")}, "text": "de" }, { "handler": function() {Lino.set_user_language("fr")}, "text": "fr" } ];
Ext.namespace('Lino.system.SiteConfigs')
Ext.namespace('Lino.countries.Countries')
Ext.namespace('Lino.countries.Places')
Ext.namespace('Lino.contacts.UploadVCardFiles')
Ext.namespace('Lino.contacts.Partners')
Ext.namespace('Lino.contacts.Persons')
Ext.namespace('Lino.contacts.CompanyTypes')
Ext.namespace('Lino.contacts.Companies')
Ext.namespace('Lino.contacts.RoleTypes')
Ext.namespace('Lino.contacts.Roles')
Ext.namespace('Lino.gfks.ContentTypes')
Ext.namespace('Lino.gfks.HelpTexts')
Ext.namespace('Lino.checkdata.Problems')
Ext.namespace('Lino.checkdata.AllProblems')
Ext.namespace('Lino.checkdata.MyProblems')
Ext.namespace('Lino.cal.RemoteCalendars')
Ext.namespace('Lino.cal.Rooms')
Ext.namespace('Lino.cal.AllRooms')
Ext.namespace('Lino.cal.Calendars')
Ext.namespace('Lino.cal.Subscriptions')
Ext.namespace('Lino.cal.Tasks')
Ext.namespace('Lino.cal.MyTasks')
Ext.namespace('Lino.cal.GuestRoles')
Ext.namespace('Lino.cal.Guests')
Ext.namespace('Lino.cal.AllGuests')
Ext.namespace('Lino.cal.MyPresences')
Ext.namespace('Lino.cal.MyPendingPresences')
Ext.namespace('Lino.cal.MyGuests')
Ext.namespace('Lino.cal.EventTypes')
Ext.namespace('Lino.cal.RecurrentEvents')
Ext.namespace('Lino.cal.Events')
Ext.namespace('Lino.cal.AllEntries')
Ext.namespace('Lino.cal.PublicEntries')
Ext.namespace('Lino.cal.EntriesByDay')
Ext.namespace('Lino.cal.OneEvent')
Ext.namespace('Lino.cal.MyEntries')
Ext.namespace('Lino.cal.MyEntriesToday')
Ext.namespace('Lino.cal.MyAssignedEvents')
Ext.namespace('Lino.cal.OverdueAppointments')
Ext.namespace('Lino.cal.MyOverdueAppointments')
Ext.namespace('Lino.cal.MyUnconfirmedAppointments')
Ext.namespace('Lino.cal.EventPolicies')
Ext.namespace('Lino.calview.DailyPlannerRows')
Ext.namespace('Lino.uploads.Volumes')
Ext.namespace('Lino.uploads.UploadTypes')
Ext.namespace('Lino.uploads.Uploads')
Ext.namespace('Lino.uploads.AllUploads')
Ext.namespace('Lino.uploads.MyUploads')
Ext.namespace('Lino.uploads.AreaUploads')
Ext.namespace('Lino.ledger.Accounts')
Ext.namespace('Lino.ledger.Journals')
Ext.namespace('Lino.ledger.JournalsOverview')
Ext.namespace('Lino.ledger.AccountingPeriods')
Ext.namespace('Lino.ledger.PaymentTerms')
Ext.namespace('Lino.ledger.PaymentMethods')
Ext.namespace('Lino.ledger.AllVouchers')
Ext.namespace('Lino.ledger.MatchRules')
Ext.namespace('Lino.ledger.PartnerVouchers')
Ext.namespace('Lino.ledger.GeneralAccountBalances')
Ext.namespace('Lino.ledger.PartnerBalancesByTradeType')
Ext.namespace('Lino.ledger.Movements')
Ext.namespace('Lino.ledger.AllMovements')
Ext.namespace('Lino.ledger.MyMovements')
Ext.namespace('Lino.ledger.FiscalYears')
Ext.namespace('Lino.sepa.Accounts')
Ext.namespace('Lino.addresses.Addresses')
Ext.namespace('Lino.phones.ContactDetails')
Ext.namespace('Lino.households.Types')
Ext.namespace('Lino.households.Households')
Ext.namespace('Lino.households.Members')
Ext.namespace('Lino.humanlinks.Links')
Ext.namespace('Lino.topics.Topics')
Ext.namespace('Lino.topics.AllTopics')
Ext.namespace('Lino.topics.Interests')
Ext.namespace('Lino.topics.AllInterests')
Ext.namespace('Lino.lists.ListTypes')
Ext.namespace('Lino.lists.Lists')
Ext.namespace('Lino.lists.Members')
Ext.namespace('Lino.lists.AllMembers')
Ext.namespace('Lino.blogs.EntryTypes')
Ext.namespace('Lino.blogs.Entries')
Ext.namespace('Lino.blogs.MyEntries')
Ext.namespace('Lino.blogs.AllEntries')
Ext.namespace('Lino.blogs.LatestEntries')
Ext.namespace('Lino.excerpts.ExcerptTypes')
Ext.namespace('Lino.excerpts.Excerpts')
Ext.namespace('Lino.excerpts.AllExcerpts')
Ext.namespace('Lino.excerpts.MyExcerpts')
Ext.namespace('Lino.tinymce.TextFieldTemplates')
Ext.namespace('Lino.tinymce.MyTextFieldTemplates')
Ext.namespace('Lino.comments.CommentTypes')
Ext.namespace('Lino.comments.Comments')
Ext.namespace('Lino.comments.MyComments')
Ext.namespace('Lino.comments.AllComments')
Ext.namespace('Lino.comments.CommentsByX')
Ext.namespace('Lino.comments.RecentComments')
Ext.namespace('Lino.comments.Mentions')
Ext.namespace('Lino.comments.Reactions')
Ext.namespace('Lino.dashboard.Widgets')
Ext.namespace('Lino.dashboard.AllWidgets')
Ext.namespace('Lino.users.AllUsers')
Ext.namespace('Lino.users.UsersOverview')
Ext.namespace('Lino.users.Me')
Ext.namespace('Lino.users.Authorities')
Ext.namespace('Lino.users.Sessions')
Ext.namespace('Lino.courses.Slots')
Ext.namespace('Lino.courses.Topics')
Ext.namespace('Lino.courses.Lines')
Ext.namespace('Lino.courses.Activities')
Ext.namespace('Lino.courses.ActivitiesByLayout')
Ext.namespace('Lino.courses.AllActivities')
Ext.namespace('Lino.courses.MyActivities')
Ext.namespace('Lino.courses.MyCoursesGiven')
Ext.namespace('Lino.courses.DraftActivities')
Ext.namespace('Lino.courses.ActiveActivities')
Ext.namespace('Lino.courses.InactiveActivities')
Ext.namespace('Lino.courses.ClosedActivities')
Ext.namespace('Lino.courses.Enrolments')
Ext.namespace('Lino.courses.AllEnrolments')
Ext.namespace('Lino.courses.PendingRequestedEnrolments')
Ext.namespace('Lino.courses.PendingConfirmedEnrolments')
Ext.namespace('Lino.ledger.LedgerInfoTable')
Ext.namespace('Lino.countries.PlacesByPlace')
Ext.namespace('Lino.countries.PlacesByCountry')
Ext.namespace('Lino.contacts.PartnersByCity')
Ext.namespace('Lino.contacts.PartnersByCountry')
Ext.namespace('Lino.contacts.RolesByCompany')
Ext.namespace('Lino.contacts.RolesByPerson')
Ext.namespace('Lino.contacts.CompaniesByCompany')
Ext.namespace('Lino.checkdata.ProblemsByChecker')
Ext.namespace('Lino.cal.SubscriptionsByUser')
Ext.namespace('Lino.cal.SubscriptionsByCalendar')
Ext.namespace('Lino.cal.TasksByUser')
Ext.namespace('Lino.cal.GuestsByEvent')
Ext.namespace('Lino.cal.GuestsByRole')
Ext.namespace('Lino.cal.GuestsByPartner')
Ext.namespace('Lino.cal.EntriesByType')
Ext.namespace('Lino.cal.ConflictingEvents')
Ext.namespace('Lino.cal.EntriesByRoom')
Ext.namespace('Lino.cal.EntriesByGuest')
Ext.namespace('Lino.calview.DailyPlanner')
Ext.namespace('Lino.calview.DailySlave')
Ext.namespace('Lino.calview.WeeklySlave')
Ext.namespace('Lino.uploads.UploadsByType')
Ext.namespace('Lino.ledger.MatchRulesByAccount')
Ext.namespace('Lino.ledger.MatchRulesByJournal')
Ext.namespace('Lino.ledger.MovementsByVoucher')
Ext.namespace('Lino.ledger.MovementsByPartner')
Ext.namespace('Lino.ledger.MovementsByAccount')
Ext.namespace('Lino.ledger.MovementsByMatch')
Ext.namespace('Lino.sepa.AccountsByPartner')
Ext.namespace('Lino.addresses.AddressesByPartner')
Ext.namespace('Lino.addresses.AddressesByCity')
Ext.namespace('Lino.phones.ContactDetailsByPartner')
Ext.namespace('Lino.households.HouseholdsByType')
Ext.namespace('Lino.households.MembersByHousehold')
Ext.namespace('Lino.households.SiblingsByPerson')
Ext.namespace('Lino.households.MembersByPerson')
Ext.namespace('Lino.humanlinks.LinksByHuman')
Ext.namespace('Lino.topics.InterestsByPartner')
Ext.namespace('Lino.topics.InterestsByTopic')
Ext.namespace('Lino.lists.MembersByList')
Ext.namespace('Lino.lists.MembersByPartner')
Ext.namespace('Lino.blogs.EntriesByType')
Ext.namespace('Lino.excerpts.ExcerptsByType')
Ext.namespace('Lino.comments.CommentsByType')
Ext.namespace('Lino.comments.CommentsByMentioned')
Ext.namespace('Lino.comments.RepliesByComment')
Ext.namespace('Lino.dashboard.WidgetsByUser')
Ext.namespace('Lino.users.AuthoritiesGiven')
Ext.namespace('Lino.users.AuthoritiesTaken')
Ext.namespace('Lino.courses.LinesByTopic')
Ext.namespace('Lino.courses.EntriesByTeacher')
Ext.namespace('Lino.courses.ActivitiesByTeacher')
Ext.namespace('Lino.courses.ActivitiesByLine')
Ext.namespace('Lino.courses.ActivitiesByTopic')
Ext.namespace('Lino.courses.ActivitiesBySlot')
Ext.namespace('Lino.courses.EnrolmentsByPupil')
Ext.namespace('Lino.courses.EnrolmentsByCourse')
Ext.namespace('Lino.gfks.HelpTextsByModel')
Ext.namespace('Lino.checkdata.ProblemsByOwner')
Ext.namespace('Lino.cal.TasksByController')
Ext.namespace('Lino.cal.EntriesByController')
Ext.namespace('Lino.uploads.UploadsByController')
Ext.namespace('Lino.topics.InterestsByController')
Ext.namespace('Lino.blogs.EntriesByController')
Ext.namespace('Lino.excerpts.ExcerptsByOwner')
Ext.namespace('Lino.comments.CommentsByRFC')
Ext.namespace('Lino.comments.MentionsByOwner')
Ext.namespace('Lino.about.SiteSearch')
Ext.namespace('Lino.gfks.BrokenGFKs')
Ext.namespace('Lino.gfks.BrokenGFKsByModel')
Ext.namespace('Lino.calview.MonthlySlave')
Ext.namespace('Lino.calview.DailyView')
Ext.namespace('Lino.calview.WeeklyView')
Ext.namespace('Lino.calview.MonthlyView')
Ext.namespace('Lino.ledger.ExpectedMovements')
Ext.namespace('Lino.ledger.DebtsByAccount')
Ext.namespace('Lino.ledger.DebtsByPartner')
Ext.namespace('Lino.ledger.Debtors')
Ext.namespace('Lino.ledger.Creditors')
Ext.namespace('Lino.users.UserRoles')
Ext.namespace('Lino.about.About')
Ext.namespace('Lino.system.Dashboard')
Ext.namespace('Lino.courses.StatusReport')
Ext.namespace('Lino.system.YesNo')
Ext.namespace('Lino.system.Genders')
Ext.namespace('Lino.system.PeriodEvents')
Ext.namespace('Lino.system.DashboardLayouts')
Ext.namespace('Lino.checkdata.Checkers')
Ext.namespace('Lino.printing.BuildMethods')
Ext.namespace('Lino.users.UserTypes')
Ext.namespace('Lino.about.TimeZones')
Ext.namespace('Lino.about.DateFormats')
Ext.namespace('Lino.xl.Priorities')
Ext.namespace('Lino.countries.PlaceTypes')
Ext.namespace('Lino.uploads.Shortcuts')
Ext.namespace('Lino.uploads.UploadAreas')
Ext.namespace('Lino.phones.ContactDetailTypes')
Ext.namespace('Lino.contacts.PartnerEvents')
Ext.namespace('Lino.contacts.CivilStates')
Ext.namespace('Lino.cal.DisplayColors')
Ext.namespace('Lino.cal.Weekdays')
Ext.namespace('Lino.cal.YearMonths')
Ext.namespace('Lino.cal.DurationUnits')
Ext.namespace('Lino.cal.Recurrencies')
Ext.namespace('Lino.cal.AccessClasses')
Ext.namespace('Lino.cal.PlannerColumns')
Ext.namespace('Lino.cal.TaskStates')
Ext.namespace('Lino.cal.GuestStates')
Ext.namespace('Lino.cal.EventEvents')
Ext.namespace('Lino.cal.EntryStates')
Ext.namespace('Lino.cal.ReservationStates')
Ext.namespace('Lino.calview.Planners')
Ext.namespace('Lino.ledger.DC')
Ext.namespace('Lino.ledger.JournalGroups')
Ext.namespace('Lino.ledger.PeriodStates')
Ext.namespace('Lino.ledger.CommonAccounts')
Ext.namespace('Lino.ledger.VoucherTypes')
Ext.namespace('Lino.ledger.TradeTypes')
Ext.namespace('Lino.ledger.VoucherStates')
Ext.namespace('Lino.addresses.AddressTypes')
Ext.namespace('Lino.addresses.DataSources')
Ext.namespace('Lino.households.MemberDependencies')
Ext.namespace('Lino.households.MemberRoles')
Ext.namespace('Lino.humanlinks.LinkTypes')
Ext.namespace('Lino.courses.CourseStates')
Ext.namespace('Lino.courses.EnrolmentStates')
Ext.namespace('Lino.courses.ActivityLayouts')
Ext.namespace('Lino.excerpts.Shortcuts')
Ext.namespace('Lino.comments.Emotions')
Ext.namespace('Lino.comments.CommentEvents')

// ChoiceLists: 
Lino.system.YesNo = [ [ "y", "Yes" ], [ "n", "No" ] ];
Lino.system.Genders = [ [ "M", "Male" ], [ "F", "Female" ] ];
Lino.system.PeriodEvents = [ [ "10", "Starts" ], [ "20", "Is active" ], [ "30", "Ends" ] ];
Lino.system.DashboardLayouts = [  ];
Lino.checkdata.Checkers = [ [ "addresses.AddressOwnerChecker", "Check for missing or non-primary address records" ], [ "cal.ConflictingEventsChecker", "Check for conflicting calendar entries" ], [ "cal.EventGuestChecker", "Entries without participants" ], [ "cal.LongEntryChecker", "Too long-lasting calendar entries" ], [ "cal.ObsoleteEventTypeChecker", "Obsolete generated calendar entries" ], [ "countries.PlaceChecker", "Check data of geographical places." ], [ "ledger.VoucherChecker", "Check integrity of ledger vouchers" ], [ "memo.PreviewableChecker", "Check for previewables needing update" ], [ "phones.ContactDetailsOwnerChecker", "Check for mismatches between contact details and owner" ], [ "printing.CachedPrintableChecker", "Check for missing target files" ], [ "system.BleachChecker", "Find unbleached html content" ], [ "uploads.UploadChecker", "Check metadata of upload files" ], [ "uploads.UploadsFolderChecker", "Find orphaned files in uploads folder" ] ];
Lino.printing.BuildMethods = [ [ "appydoc", "AppyDocBuildMethod" ], [ "appyodt", "AppyOdtBuildMethod" ], [ "appypdf", "AppyPdfBuildMethod" ], [ "appyrtf", "AppyRtfBuildMethod" ], [ "latex", "LatexBuildMethod" ], [ "rtf", "RtfBuildMethod" ], [ "weasy2html", "WeasyHtmlBuildMethod" ], [ "weasy2pdf", "WeasyPdfBuildMethod" ], [ "xml", "XmlBuildMethod" ] ];
Lino.users.UserTypes = [ [ "000", "000 (000 (Anonymous))" ], [ "100", "100 (100 (User))" ], [ "200", "200 (200 (Collector))" ], [ "300", "300 (300 (Project manager))" ], [ "800", "800 (800 (Staff))" ], [ "900", "900 (900 (Administrator))" ] ];
Lino.about.TimeZones = [ [ "01", "UTC" ] ];
Lino.about.DateFormats = [ [ "010", "dd.mm.y" ], [ "020", "dd.mm.yy" ], [ "030", "dd/mm/y" ], [ "040", "dd/mm/yy" ] ];
Lino.xl.Priorities = [ [ "10", "Critical" ], [ "20", "High" ], [ "30", "Normal" ], [ "40", "Low" ], [ "50", "Very Low" ] ];
Lino.countries.PlaceTypes = [ [ "10", "Member State" ], [ "11", "Division" ], [ "12", "Region" ], [ "13", "Community" ], [ "14", "Territory" ], [ "20", "County" ], [ "21", "Province" ], [ "22", "Shire" ], [ "23", "Subregion" ], [ "24", "Department" ], [ "25", "Arrondissement" ], [ "26", "Prefecture" ], [ "27", "District" ], [ "28", "Sector" ], [ "50", "City" ], [ "51", "Town" ], [ "52", "Municipality" ], [ "54", "Parish" ], [ "55", "Township" ], [ "56", "Quarter" ], [ "61", "Borough" ], [ "62", "Small borough" ], [ "70", "Village" ] ];
Lino.uploads.Shortcuts = [  ];
Lino.uploads.UploadAreas = [ [ "90", "Uploads" ] ];
Lino.phones.ContactDetailTypes = [ [ "010", "E-Mail" ], [ "020", "Mobile" ], [ "030", "Phone" ], [ "040", "Website" ], [ "050", "Fax" ], [ "090", "Other" ] ];
Lino.contacts.PartnerEvents = [ [ "has_open_movements", "Has open movements" ] ];
Lino.contacts.CivilStates = [ [ "10", "Single" ], [ "20", "Married" ], [ "30", "Widowed" ], [ "40", "Divorced" ], [ "50", "Separated" ], [ "51", "De facto separated" ], [ "60", "Cohabitating" ] ];
Lino.cal.DisplayColors = [ [ "White", "White" ], [ "Silver", "Silver" ], [ "Gray", "Gray" ], [ "Black", "Black" ], [ "Red", "Red" ], [ "Maroon", "Maroon" ], [ "Yellow", "Yellow" ], [ "Olive", "Olive" ], [ "Lime", "Lime" ], [ "Green", "Green" ], [ "Aqua", "Aqua" ], [ "Teal", "Teal" ], [ "Blue", "Blue" ], [ "Navy", "Navy" ], [ "Fuchsia", "Fuchsia" ], [ "Purple", "Purple" ] ];
Lino.cal.Weekdays = [ [ "1", "Monday" ], [ "2", "Tuesday" ], [ "3", "Wednesday" ], [ "4", "Thursday" ], [ "5", "Friday" ], [ "6", "Saturday" ], [ "7", "Sunday" ] ];
Lino.cal.YearMonths = [ [ "1", "January" ], [ "2", "February" ], [ "3", "March" ], [ "4", "April" ], [ "5", "May" ], [ "6", "June" ], [ "7", "July" ], [ "8", "August" ], [ "9", "September" ], [ "10", "October" ], [ "11", "November" ], [ "12", "December" ] ];
Lino.cal.DurationUnits = [ [ "s", "seconds" ], [ "m", "minutes" ], [ "h", "hours" ], [ "D", "days" ], [ "W", "weeks" ], [ "M", "months" ], [ "Y", "years" ] ];
Lino.cal.Recurrencies = [ [ "O", "once" ], [ "D", "daily" ], [ "W", "weekly" ], [ "M", "monthly" ], [ "Y", "yearly" ], [ "P", "per weekday" ], [ "E", "Relative to Easter" ] ];
Lino.cal.AccessClasses = [ [ "10", "Private" ], [ "20", "Show busy" ], [ "30", "Public" ] ];
Lino.cal.PlannerColumns = [ [ "10", "External" ], [ "20", "Internal" ] ];
Lino.cal.TaskStates = [ [ "10", "To do" ], [ "15", "Important" ], [ "20", "Started" ], [ "30", "Done" ], [ "50", "Cancelled" ] ];
Lino.cal.GuestStates = [ [ "10", "Invited" ], [ "40", "Present" ], [ "50", "Missing" ], [ "60", "Excused" ] ];
Lino.cal.EventEvents = [ [ "10", "Stable" ], [ "20", "Unstable" ] ];
Lino.cal.EntryStates = [ [ "10", "Suggested" ], [ "20", "Draft" ], [ "50", "Took place" ], [ "70", "Cancelled" ] ];
Lino.cal.ReservationStates = [  ];
Lino.calview.Planners = [ [ "default", "Calendar" ] ];
Lino.ledger.DC = [ [ "D", "Debit" ], [ "C", "Credit" ] ];
Lino.ledger.JournalGroups = [ [ "10", "Sales" ], [ "20", "Purchases" ], [ "30", "Wages" ], [ "40", "Financial" ], [ "50", "VAT" ], [ "60", "Miscellaneous transactions" ] ];
Lino.ledger.PeriodStates = [ [ "10", "Open" ], [ "20", "Closed" ] ];
Lino.ledger.CommonAccounts = [ [ "1000", "Net income (loss)" ], [ "4000", "Customers" ], [ "4100", "Suppliers" ], [ "4200", "Employees" ], [ "4300", "Pending Payment Orders" ], [ "4500", "Tax Offices" ], [ "4510", "VAT due" ], [ "4513", "VAT declared" ], [ "4520", "VAT deductible" ], [ "4530", "VAT returnable" ], [ "4800", "Internal clearings" ], [ "4900", "Waiting account" ], [ "5500", "BestBank" ], [ "5700", "Cash" ], [ "6010", "Purchase of services" ], [ "6020", "Purchase of investments" ], [ "6040", "Purchase of goods" ], [ "6300", "Wages" ], [ "6900", "Net income" ], [ "7000", "Sales" ], [ "7900", "Net loss" ] ];
Lino.ledger.VoucherTypes = [  ];
Lino.ledger.TradeTypes = [ [ "S", "Sales" ], [ "P", "Purchases" ], [ "W", "Wages" ], [ "T", "Taxes" ], [ "C", "Clearings" ], [ "B", "Bank payment orders" ] ];
Lino.ledger.VoucherStates = [ [ "10", "Draft" ], [ "20", "Registered" ], [ "30", "Signed" ], [ "40", "Cancelled" ] ];
Lino.addresses.AddressTypes = [ [ "01", "Official address" ], [ "02", "Unverified address" ], [ "03", "Declared address" ], [ "04", "Reference address" ], [ "98", "Obsolete" ], [ "99", "Other" ] ];
Lino.addresses.DataSources = [ [ "01", "Manually entered" ], [ "02", "Read from eID" ] ];
Lino.households.MemberDependencies = [ [ "01", "At full charge" ], [ "02", "Not at charge" ], [ "03", "At shared charge" ] ];
Lino.households.MemberRoles = [ [ "01", "Head of household" ], [ "02", "Spouse" ], [ "03", "Partner" ], [ "04", "Cohabitant" ], [ "05", "Child" ], [ "06", "Relative" ], [ "07", "Adopted child" ], [ "08", "Foster-child" ], [ "10", "Other" ] ];
Lino.humanlinks.LinkTypes = [ [ "01", "Father (Mother)" ], [ "02", "Adoptive father (Adoptive mother)" ], [ "03", "Grandfather (Grandmother)" ], [ "05", "Husband (Wife)" ], [ "06", "Friend (Friend)" ], [ "07", "Partner (Partner)" ], [ "08", "Stepfather (Stepmother)" ], [ "09", "Foster father (Foster mother)" ], [ "10", "Brother (Sister)" ], [ "11", "Cousin (Cousin)" ], [ "12", "Uncle (Aunt)" ], [ "80", "Relative (Relative)" ], [ "90", "Other (Other)" ] ];
Lino.courses.CourseStates = [ [ "10", "Draft" ], [ "20", "Started" ], [ "30", "Inactive" ], [ "40", "Closed" ] ];
Lino.courses.EnrolmentStates = [ [ "10", "Requested" ], [ "11", "Trying" ], [ "20", "Confirmed" ], [ "30", "Cancelled" ] ];
Lino.courses.ActivityLayouts = [ [ "C", "Activities" ] ];
Lino.excerpts.Shortcuts = [  ];
Lino.comments.Emotions = [ [ "ok", "Okay" ], [ "agree", "Agree" ], [ "disagree", "Disagree" ] ];
Lino.comments.CommentEvents = [ [ "10", "Created" ], [ "20", "Modified" ] ];

Lino.comments.Comments.ParamsPanel = Ext.extend(Ext.form.FormPanel, {
  hideCheckBoxLabels: true,
  autoHeight: true,
  layoutConfig: { "align": "stretchmax" },
  labelAlign: "top",
  autoScroll: false,
  labelWidth: 0,
  frame: true,
  bodyBorder: false,
  border: false,
  layout: 'hbox',
  autoHeight: true,
  region: 'north',
  initComponent : function() {
    var start_date1 = new Lino.DateField({ "allowBlank": true, "anchor": "-20", "autoHeight": true, "fieldLabel": "<span style=\"border-bottom: 1px dotted #000000;\">Period from</span>", "listeners": { "render": Lino.quicktip_renderer("Period from","(comments.Comments.start_date) Start date of observed period") }, "name": "start_date", "selectOnFocus": true, "value": null });
    var end_date2 = new Lino.DateField({ "allowBlank": true, "anchor": "-20", "autoHeight": true, "fieldLabel": "<span style=\"border-bottom: 1px dotted #000000;\">until</span>", "listeners": { "render": Lino.quicktip_renderer("until","(comments.Comments.end_date) End date of observed period") }, "name": "end_date", "selectOnFocus": true, "value": null });
    var observed_event3 = new Lino.ChoicesFieldElement({ "allowBlank": true, "anchor": "-20", "autoHeight": true, "fieldLabel": "<span style=\"border-bottom: 1px dotted #000000;\">Observed event</span>", "forceSelection": true, "hiddenName": "observed_eventHidden", "listeners": { "render": Lino.quicktip_renderer("Observed event","(comments.Comments.observed_event) ") }, "name": "observed_event", "selectOnFocus": true, "store": [['','<br>']].concat(Lino.comments.CommentEvents) });
    var user4 = new Lino.RemoteComboFieldElement({ "allowBlank": true, "anchor": "-20", "autoHeight": true, "detail_action": "Lino.users.AllUsers.detail", "emptyText": "Select a User...", "fieldLabel": "<span style=\"border-bottom: 1px dotted #000000;\">Author</span>", "hiddenName": "userHidden", "insert_action": "Lino.users.AllUsers.insert", "listeners": { "render": Lino.quicktip_renderer("Author","(comments.Comments.user) The author of the comment.") }, "name": "user", "pageSize": 20, "preferred_width": 15, "related_actor_id": "users.AllUsers", "selectOnFocus": true, "store": new Lino.ComplexRemoteComboStore({ "proxy": new Ext.data.HttpProxy({ "method": "GET", "url": "/choices/comments/Comments/user" }) }), "value": null });
    var reply_to5 = new Lino.RemoteComboFieldElement({ "allowBlank": true, "anchor": "-20", "autoHeight": true, "detail_action": "Lino.comments.Comments.detail", "emptyText": "Select a Comment...", "fieldLabel": "Reply to", "hiddenName": "reply_toHidden", "insert_action": "Lino.comments.Comments.insert", "listeners": { "render": Lino.quicktip_renderer("Reply to","(comments.Comments.reply_to) ") }, "name": "reply_to", "pageSize": 20, "related_actor_id": "comments.Comments", "selectOnFocus": true, "store": new Lino.ComplexRemoteComboStore({ "proxy": new Ext.data.HttpProxy({ "method": "GET", "url": "/choices/comments/Comments/reply_to" }) }), "value": null });
    this.items = [ { "autoHeight": true, "flex": 16, "items": start_date1, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 16, "items": end_date2, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 14, "items": observed_event3, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 25, "items": user4, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 25, "items": reply_to5, "labelAlign": "top", "layout": "form", "xtype": "panel" } ];
    this.fields = [ start_date1, end_date2, observed_event3, user4, reply_to5 ];
    Lino.comments.Comments.ParamsPanel.superclass.initComponent.call(this);
  }
});


Lino.calview.DailySlave.ParamsPanel = Ext.extend(Ext.form.FormPanel, {
  hideCheckBoxLabels: true,
  autoHeight: true,
  layoutConfig: { "align": "stretchmax" },
  labelAlign: "top",
  autoScroll: false,
  labelWidth: 0,
  frame: true,
  bodyBorder: false,
  border: false,
  layout: 'hbox',
  autoHeight: true,
  region: 'north',
  initComponent : function() {
    var user12 = new Lino.RemoteComboFieldElement({ "allowBlank": true, "anchor": "-20", "autoHeight": true, "detail_action": "Lino.users.AllUsers.detail", "emptyText": "Select a User...", "fieldLabel": "<span style=\"border-bottom: 1px dotted #000000;\">Responsible user</span>", "hiddenName": "userHidden", "insert_action": "Lino.users.AllUsers.insert", "listeners": { "render": Lino.quicktip_renderer("Responsible user","(calview.DailySlave.user) The responsible user.") }, "name": "user", "pageSize": 20, "preferred_width": 15, "related_actor_id": "users.AllUsers", "selectOnFocus": true, "store": new Lino.ComplexRemoteComboStore({ "proxy": new Ext.data.HttpProxy({ "method": "GET", "url": "/choices/calview/DailySlave/user" }) }), "value": null });
    var assigned_to13 = new Lino.RemoteComboFieldElement({ "allowBlank": true, "anchor": "-20", "autoHeight": true, "detail_action": "Lino.users.AllUsers.detail", "emptyText": "Select a User...", "fieldLabel": "<span style=\"border-bottom: 1px dotted #000000;\">Assigned to</span>", "hiddenName": "assigned_toHidden", "insert_action": "Lino.users.AllUsers.insert", "listeners": { "render": Lino.quicktip_renderer("Assigned to","(calview.DailySlave.assigned_to) Another user who is expected to take responsibility for this\nentry.") }, "name": "assigned_to", "pageSize": 20, "preferred_width": 15, "related_actor_id": "users.AllUsers", "selectOnFocus": true, "store": new Lino.ComplexRemoteComboStore({ "proxy": new Ext.data.HttpProxy({ "method": "GET", "url": "/choices/calview/DailySlave/assigned_to" }) }), "value": null });
    var event_type14 = new Lino.RemoteComboFieldElement({ "allowBlank": true, "anchor": "-20", "autoHeight": true, "detail_action": "Lino.cal.EventTypes.detail", "emptyText": "Select a Calendar entry type...", "fieldLabel": "<span style=\"border-bottom: 1px dotted #000000;\">Calendar entry type</span>", "hiddenName": "event_typeHidden", "insert_action": "Lino.cal.EventTypes.insert", "listeners": { "render": Lino.quicktip_renderer("Calendar entry type","(calview.DailySlave.event_type) The type of this calendar entry.") }, "name": "event_type", "pageSize": 20, "related_actor_id": "cal.EventTypes", "selectOnFocus": true, "store": new Lino.ComplexRemoteComboStore({ "proxy": new Ext.data.HttpProxy({ "method": "GET", "url": "/choices/calview/DailySlave/event_type" }) }), "value": null });
    var room15 = new Lino.RemoteComboFieldElement({ "allowBlank": true, "anchor": "-20", "autoHeight": true, "detail_action": "Lino.cal.Rooms.detail", "emptyText": "Select a Room...", "fieldLabel": "Room", "hiddenName": "roomHidden", "insert_action": "Lino.cal.Rooms.insert", "listeners": { "render": Lino.quicktip_renderer("Room","(calview.DailySlave.room) ") }, "name": "room", "pageSize": 20, "related_actor_id": "cal.Rooms", "selectOnFocus": true, "store": new Lino.ComplexRemoteComboStore({ "proxy": new Ext.data.HttpProxy({ "method": "GET", "url": "/choices/calview/DailySlave/room" }) }), "value": null });
    var state16 = new Lino.ChoicesFieldElement({ "allowBlank": true, "anchor": "-20", "autoHeight": true, "fieldLabel": "<span style=\"border-bottom: 1px dotted #000000;\">State</span>", "forceSelection": true, "hiddenName": "stateHidden", "listeners": { "render": Lino.quicktip_renderer("State","(calview.DailySlave.state) The state of this entry. The state can change according to\nrules defined by the workflow.") }, "name": "state", "selectOnFocus": true, "store": [['','<br>']].concat(Lino.cal.EntryStates), "value": null });
    var show_appointments17 = new Lino.ChoicesFieldElement({ "allowBlank": true, "anchor": "-20", "autoHeight": true, "fieldLabel": "Appointments", "forceSelection": true, "hiddenName": "show_appointmentsHidden", "listeners": { "render": Lino.quicktip_renderer("Appointments","(calview.DailySlave.show_appointments) ") }, "name": "show_appointments", "selectOnFocus": true, "store": [['','<br>']].concat(Lino.system.YesNo) });
    this.items = [ { "autoHeight": true, "flex": 18, "items": user12, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 18, "items": assigned_to13, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 18, "items": event_type14, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 18, "items": room15, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 12, "items": state16, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 13, "items": show_appointments17, "labelAlign": "top", "layout": "form", "xtype": "panel" } ];
    this.fields = [ user12, assigned_to13, event_type14, room15, state16, show_appointments17 ];
    Lino.calview.DailySlave.ParamsPanel.superclass.initComponent.call(this);
  }
});


Lino.cal.Subscriptions.ParamsPanel = Ext.extend(Ext.form.FormPanel, {
  hideCheckBoxLabels: true,
  labelAlign: "top",
  autoScroll: false,
  labelWidth: 0,
  frame: true,
  bodyBorder: false,
  border: false,
  layout: 'form',
  autoHeight: true,
  region: 'north',
  initComponent : function() {
    var user25 = new Lino.RemoteComboFieldElement({ "allowBlank": true, "anchor": "-20", "autoHeight": true, "detail_action": "Lino.users.AllUsers.detail", "emptyText": "Select a User...", "fieldLabel": "<span style=\"border-bottom: 1px dotted #000000;\">Author</span>", "hiddenName": "userHidden", "insert_action": "Lino.users.AllUsers.insert", "listeners": { "render": Lino.quicktip_renderer("Author","(cal.Subscriptions.user) The author of this object.\nA pointer to lino.modlib.users.models.User.") }, "name": "user", "pageSize": 20, "preferred_width": 15, "related_actor_id": "users.AllUsers", "selectOnFocus": true, "store": new Lino.ComplexRemoteComboStore({ "proxy": new Ext.data.HttpProxy({ "method": "GET", "url": "/choices/cal/Subscriptions/user" }) }), "value": null });
    this.items = [ { "autoHeight": true, "items": user25, "labelAlign": "top", "layout": "form", "xtype": "panel" } ];
    this.fields = [ user25 ];
    Lino.cal.Subscriptions.ParamsPanel.superclass.initComponent.call(this);
  }
});


Lino.cal.AllEntries.ParamsPanel = Ext.extend(Ext.form.FormPanel, {
  hideCheckBoxLabels: true,
  autoHeight: true,
  labelAlign: "top",
  autoScroll: false,
  frame: true,
  bodyBorder: false,
  border: false,
  layout: 'form',
  autoHeight: true,
  region: 'north',
  initComponent : function() {
    var start_date28 = new Lino.DateField({ "allowBlank": true, "anchor": "-20", "autoHeight": true, "fieldLabel": "<span style=\"border-bottom: 1px dotted #000000;\">Period from</span>", "listeners": { "render": Lino.quicktip_renderer("Period from","(cal.AllEntries.start_date) Start date of observed period") }, "name": "start_date", "selectOnFocus": true, "value": null });
    var end_date29 = new Lino.DateField({ "allowBlank": true, "anchor": "-20", "autoHeight": true, "fieldLabel": "<span style=\"border-bottom: 1px dotted #000000;\">until</span>", "listeners": { "render": Lino.quicktip_renderer("until","(cal.AllEntries.end_date) End date of observed period") }, "name": "end_date", "selectOnFocus": true, "value": null });
    var observed_event30 = new Lino.ChoicesFieldElement({ "allowBlank": true, "anchor": "-20", "autoHeight": true, "fieldLabel": "Observed event", "forceSelection": true, "hiddenName": "observed_eventHidden", "listeners": { "render": Lino.quicktip_renderer("Observed event","(cal.AllEntries.observed_event) ") }, "name": "observed_event", "selectOnFocus": true, "store": [['','<br>']].concat(Lino.cal.EventEvents) });
    var state31 = new Lino.ChoicesFieldElement({ "allowBlank": true, "anchor": "-20", "autoHeight": true, "fieldLabel": "<span style=\"border-bottom: 1px dotted #000000;\">State</span>", "forceSelection": true, "hiddenName": "stateHidden", "listeners": { "render": Lino.quicktip_renderer("State","(cal.AllEntries.state) The state of this entry. The state can change according to\nrules defined by the workflow.") }, "name": "state", "selectOnFocus": true, "store": [['','<br>']].concat(Lino.cal.EntryStates), "value": null });
    var main_1_panel32 = new Ext.Panel({ "anchor": "-20", "autoHeight": true, "autoScroll": false, "border": false, "frame": false, "hideCheckBoxLabels": true, "items": [ { "autoHeight": true, "flex": 26, "items": start_date28, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 26, "items": end_date29, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 22, "items": observed_event30, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 26, "items": state31, "labelAlign": "top", "layout": "form", "xtype": "panel" } ], "labelAlign": "top", "labelWidth": 0, "layout": "hbox", "layoutConfig": { "align": "stretchmax" } });
    var user37 = new Lino.RemoteComboFieldElement({ "allowBlank": true, "anchor": "-20", "autoHeight": true, "detail_action": "Lino.users.AllUsers.detail", "emptyText": "Select a User...", "fieldLabel": "<span style=\"border-bottom: 1px dotted #000000;\">Responsible user</span>", "hiddenName": "userHidden", "insert_action": "Lino.users.AllUsers.insert", "listeners": { "render": Lino.quicktip_renderer("Responsible user","(cal.AllEntries.user) The responsible user.") }, "name": "user", "pageSize": 20, "preferred_width": 15, "related_actor_id": "users.AllUsers", "selectOnFocus": true, "store": new Lino.ComplexRemoteComboStore({ "proxy": new Ext.data.HttpProxy({ "method": "GET", "url": "/choices/cal/AllEntries/user" }) }), "value": null });
    var assigned_to38 = new Lino.RemoteComboFieldElement({ "allowBlank": true, "anchor": "-20", "autoHeight": true, "detail_action": "Lino.users.AllUsers.detail", "emptyText": "Select a User...", "fieldLabel": "<span style=\"border-bottom: 1px dotted #000000;\">Assigned to</span>", "hiddenName": "assigned_toHidden", "insert_action": "Lino.users.AllUsers.insert", "listeners": { "render": Lino.quicktip_renderer("Assigned to","(cal.AllEntries.assigned_to) Another user who is expected to take responsibility for this\nentry.") }, "name": "assigned_to", "pageSize": 20, "preferred_width": 15, "related_actor_id": "users.AllUsers", "selectOnFocus": true, "store": new Lino.ComplexRemoteComboStore({ "proxy": new Ext.data.HttpProxy({ "method": "GET", "url": "/choices/cal/AllEntries/assigned_to" }) }), "value": null });
    var event_type39 = new Lino.RemoteComboFieldElement({ "allowBlank": true, "anchor": "-20", "autoHeight": true, "detail_action": "Lino.cal.EventTypes.detail", "emptyText": "Select a Calendar entry type...", "fieldLabel": "<span style=\"border-bottom: 1px dotted #000000;\">Calendar entry type</span>", "hiddenName": "event_typeHidden", "insert_action": "Lino.cal.EventTypes.insert", "listeners": { "render": Lino.quicktip_renderer("Calendar entry type","(cal.AllEntries.event_type) The type of this calendar entry.") }, "name": "event_type", "pageSize": 20, "related_actor_id": "cal.EventTypes", "selectOnFocus": true, "store": new Lino.ComplexRemoteComboStore({ "proxy": new Ext.data.HttpProxy({ "method": "GET", "url": "/choices/cal/AllEntries/event_type" }) }), "value": null });
    var room40 = new Lino.RemoteComboFieldElement({ "allowBlank": true, "anchor": "-20", "autoHeight": true, "detail_action": "Lino.cal.Rooms.detail", "emptyText": "Select a Room...", "fieldLabel": "Room", "hiddenName": "roomHidden", "insert_action": "Lino.cal.Rooms.insert", "listeners": { "render": Lino.quicktip_renderer("Room","(cal.AllEntries.room) ") }, "name": "room", "pageSize": 20, "related_actor_id": "cal.Rooms", "selectOnFocus": true, "store": new Lino.ComplexRemoteComboStore({ "proxy": new Ext.data.HttpProxy({ "method": "GET", "url": "/choices/cal/AllEntries/room" }) }), "value": null });
    var show_appointments41 = new Lino.ChoicesFieldElement({ "allowBlank": true, "anchor": "-20", "autoHeight": true, "fieldLabel": "<span style=\"border-bottom: 1px dotted #000000;\">Appointments</span>", "forceSelection": true, "hiddenName": "show_appointmentsHidden", "listeners": { "render": Lino.quicktip_renderer("Appointments","(cal.AllEntries.show_appointments) ") }, "name": "show_appointments", "selectOnFocus": true, "store": [['','<br>']].concat(Lino.system.YesNo) });
    var main_2_panel42 = new Ext.Panel({ "anchor": "-20", "autoHeight": true, "autoScroll": false, "border": false, "frame": false, "hideCheckBoxLabels": true, "items": [ { "autoHeight": true, "flex": 21, "items": user37, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 21, "items": assigned_to38, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 21, "items": event_type39, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 21, "items": room40, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 15, "items": show_appointments41, "labelAlign": "top", "layout": "form", "xtype": "panel" } ], "labelAlign": "top", "labelWidth": 0, "layout": "hbox", "layoutConfig": { "align": "stretchmax" } });
    this.items = [ main_1_panel32, main_2_panel42 ];
    this.fields = [ start_date28, end_date29, observed_event30, state31, user37, assigned_to38, event_type39, room40, show_appointments41 ];
    Lino.cal.AllEntries.ParamsPanel.superclass.initComponent.call(this);
  }
});


Lino.comments.Mentions.ParamsPanel = Ext.extend(Ext.form.FormPanel, {
  hideCheckBoxLabels: true,
  labelAlign: "top",
  autoScroll: false,
  labelWidth: 0,
  frame: true,
  bodyBorder: false,
  border: false,
  layout: 'form',
  autoHeight: true,
  region: 'north',
  initComponent : function() {
    var user49 = new Lino.RemoteComboFieldElement({ "allowBlank": true, "anchor": "-20", "autoHeight": true, "detail_action": "Lino.users.AllUsers.detail", "emptyText": "Select a User...", "fieldLabel": "<span style=\"border-bottom: 1px dotted #000000;\">Author</span>", "hiddenName": "userHidden", "insert_action": "Lino.users.AllUsers.insert", "listeners": { "render": Lino.quicktip_renderer("Author","(comments.Mentions.user) The author of this object.\nA pointer to lino.modlib.users.models.User.") }, "name": "user", "pageSize": 20, "preferred_width": 15, "related_actor_id": "users.AllUsers", "selectOnFocus": true, "store": new Lino.ComplexRemoteComboStore({ "proxy": new Ext.data.HttpProxy({ "method": "GET", "url": "/choices/comments/Mentions/user" }) }), "value": null });
    this.items = [ { "autoHeight": true, "items": user49, "labelAlign": "top", "layout": "form", "xtype": "panel" } ];
    this.fields = [ user49 ];
    Lino.comments.Mentions.ParamsPanel.superclass.initComponent.call(this);
  }
});


Lino.calview.MonthlyView.ParamsPanel = Ext.extend(Ext.form.FormPanel, {
  hideCheckBoxLabels: true,
  autoHeight: true,
  layoutConfig: { "align": "stretchmax" },
  labelAlign: "top",
  autoScroll: false,
  labelWidth: 0,
  frame: true,
  bodyBorder: false,
  border: false,
  layout: 'hbox',
  autoHeight: true,
  region: 'north',
  initComponent : function() {
    var user52 = new Lino.RemoteComboFieldElement({ "allowBlank": true, "anchor": "-20", "autoHeight": true, "detail_action": "Lino.users.AllUsers.detail", "emptyText": "Select a User...", "fieldLabel": "<span style=\"border-bottom: 1px dotted #000000;\">Responsible user</span>", "hiddenName": "userHidden", "insert_action": "Lino.users.AllUsers.insert", "listeners": { "render": Lino.quicktip_renderer("Responsible user","(calview.MonthlyView.user) The responsible user.") }, "name": "user", "pageSize": 20, "preferred_width": 15, "related_actor_id": "users.AllUsers", "selectOnFocus": true, "store": new Lino.ComplexRemoteComboStore({ "proxy": new Ext.data.HttpProxy({ "method": "GET", "url": "/choices/calview/MonthlyView/user" }) }), "value": null });
    var assigned_to53 = new Lino.RemoteComboFieldElement({ "allowBlank": true, "anchor": "-20", "autoHeight": true, "detail_action": "Lino.users.AllUsers.detail", "emptyText": "Select a User...", "fieldLabel": "<span style=\"border-bottom: 1px dotted #000000;\">Assigned to</span>", "hiddenName": "assigned_toHidden", "insert_action": "Lino.users.AllUsers.insert", "listeners": { "render": Lino.quicktip_renderer("Assigned to","(calview.MonthlyView.assigned_to) Another user who is expected to take responsibility for this\nentry.") }, "name": "assigned_to", "pageSize": 20, "preferred_width": 15, "related_actor_id": "users.AllUsers", "selectOnFocus": true, "store": new Lino.ComplexRemoteComboStore({ "proxy": new Ext.data.HttpProxy({ "method": "GET", "url": "/choices/calview/MonthlyView/assigned_to" }) }), "value": null });
    var event_type54 = new Lino.RemoteComboFieldElement({ "allowBlank": true, "anchor": "-20", "autoHeight": true, "detail_action": "Lino.cal.EventTypes.detail", "emptyText": "Select a Calendar entry type...", "fieldLabel": "<span style=\"border-bottom: 1px dotted #000000;\">Calendar entry type</span>", "hiddenName": "event_typeHidden", "insert_action": "Lino.cal.EventTypes.insert", "listeners": { "render": Lino.quicktip_renderer("Calendar entry type","(calview.MonthlyView.event_type) The type of this calendar entry.") }, "name": "event_type", "pageSize": 20, "related_actor_id": "cal.EventTypes", "selectOnFocus": true, "store": new Lino.ComplexRemoteComboStore({ "proxy": new Ext.data.HttpProxy({ "method": "GET", "url": "/choices/calview/MonthlyView/event_type" }) }), "value": null });
    var room55 = new Lino.RemoteComboFieldElement({ "allowBlank": true, "anchor": "-20", "autoHeight": true, "detail_action": "Lino.cal.Rooms.detail", "emptyText": "Select a Room...", "fieldLabel": "Room", "hiddenName": "roomHidden", "insert_action": "Lino.cal.Rooms.insert", "listeners": { "render": Lino.quicktip_renderer("Room","(calview.MonthlyView.room) ") }, "name": "room", "pageSize": 20, "related_actor_id": "cal.Rooms", "selectOnFocus": true, "store": new Lino.ComplexRemoteComboStore({ "proxy": new Ext.data.HttpProxy({ "method": "GET", "url": "/choices/calview/MonthlyView/room" }) }), "value": null });
    var state56 = new Lino.ChoicesFieldElement({ "allowBlank": true, "anchor": "-20", "autoHeight": true, "fieldLabel": "<span style=\"border-bottom: 1px dotted #000000;\">State</span>", "forceSelection": true, "hiddenName": "stateHidden", "listeners": { "render": Lino.quicktip_renderer("State","(calview.MonthlyView.state) The state of this entry. The state can change according to\nrules defined by the workflow.") }, "name": "state", "selectOnFocus": true, "store": [['','<br>']].concat(Lino.cal.EntryStates), "value": null });
    var show_appointments57 = new Lino.ChoicesFieldElement({ "allowBlank": true, "anchor": "-20", "autoHeight": true, "fieldLabel": "Appointments", "forceSelection": true, "hiddenName": "show_appointmentsHidden", "listeners": { "render": Lino.quicktip_renderer("Appointments","(calview.MonthlyView.show_appointments) ") }, "name": "show_appointments", "selectOnFocus": true, "store": [['','<br>']].concat(Lino.system.YesNo) });
    this.items = [ { "autoHeight": true, "flex": 18, "items": user52, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 18, "items": assigned_to53, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 18, "items": event_type54, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 18, "items": room55, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 12, "items": state56, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 13, "items": show_appointments57, "labelAlign": "top", "layout": "form", "xtype": "panel" } ];
    this.fields = [ user52, assigned_to53, event_type54, room55, state56, show_appointments57 ];
    Lino.calview.MonthlyView.ParamsPanel.superclass.initComponent.call(this);
  }
});


Lino.calview.DailyView.ParamsPanel = Ext.extend(Ext.form.FormPanel, {
  hideCheckBoxLabels: true,
  autoHeight: true,
  layoutConfig: { "align": "stretchmax" },
  labelAlign: "top",
  autoScroll: false,
  labelWidth: 0,
  frame: true,
  bodyBorder: false,
  border: false,
  layout: 'hbox',
  autoHeight: true,
  region: 'north',
  initComponent : function() {
    var user65 = new Lino.RemoteComboFieldElement({ "allowBlank": true, "anchor": "-20", "autoHeight": true, "detail_action": "Lino.users.AllUsers.detail", "emptyText": "Select a User...", "fieldLabel": "<span style=\"border-bottom: 1px dotted #000000;\">Responsible user</span>", "hiddenName": "userHidden", "insert_action": "Lino.users.AllUsers.insert", "listeners": { "render": Lino.quicktip_renderer("Responsible user","(calview.DailyView.user) The responsible user.") }, "name": "user", "pageSize": 20, "preferred_width": 15, "related_actor_id": "users.AllUsers", "selectOnFocus": true, "store": new Lino.ComplexRemoteComboStore({ "proxy": new Ext.data.HttpProxy({ "method": "GET", "url": "/choices/calview/DailyView/user" }) }), "value": null });
    var assigned_to66 = new Lino.RemoteComboFieldElement({ "allowBlank": true, "anchor": "-20", "autoHeight": true, "detail_action": "Lino.users.AllUsers.detail", "emptyText": "Select a User...", "fieldLabel": "<span style=\"border-bottom: 1px dotted #000000;\">Assigned to</span>", "hiddenName": "assigned_toHidden", "insert_action": "Lino.users.AllUsers.insert", "listeners": { "render": Lino.quicktip_renderer("Assigned to","(calview.DailyView.assigned_to) Another user who is expected to take responsibility for this\nentry.") }, "name": "assigned_to", "pageSize": 20, "preferred_width": 15, "related_actor_id": "users.AllUsers", "selectOnFocus": true, "store": new Lino.ComplexRemoteComboStore({ "proxy": new Ext.data.HttpProxy({ "method": "GET", "url": "/choices/calview/DailyView/assigned_to" }) }), "value": null });
    var event_type67 = new Lino.RemoteComboFieldElement({ "allowBlank": true, "anchor": "-20", "autoHeight": true, "detail_action": "Lino.cal.EventTypes.detail", "emptyText": "Select a Calendar entry type...", "fieldLabel": "<span style=\"border-bottom: 1px dotted #000000;\">Calendar entry type</span>", "hiddenName": "event_typeHidden", "insert_action": "Lino.cal.EventTypes.insert", "listeners": { "render": Lino.quicktip_renderer("Calendar entry type","(calview.DailyView.event_type) The type of this calendar entry.") }, "name": "event_type", "pageSize": 20, "related_actor_id": "cal.EventTypes", "selectOnFocus": true, "store": new Lino.ComplexRemoteComboStore({ "proxy": new Ext.data.HttpProxy({ "method": "GET", "url": "/choices/calview/DailyView/event_type" }) }), "value": null });
    var room68 = new Lino.RemoteComboFieldElement({ "allowBlank": true, "anchor": "-20", "autoHeight": true, "detail_action": "Lino.cal.Rooms.detail", "emptyText": "Select a Room...", "fieldLabel": "Room", "hiddenName": "roomHidden", "insert_action": "Lino.cal.Rooms.insert", "listeners": { "render": Lino.quicktip_renderer("Room","(calview.DailyView.room) ") }, "name": "room", "pageSize": 20, "related_actor_id": "cal.Rooms", "selectOnFocus": true, "store": new Lino.ComplexRemoteComboStore({ "proxy": new Ext.data.HttpProxy({ "method": "GET", "url": "/choices/calview/DailyView/room" }) }), "value": null });
    var state69 = new Lino.ChoicesFieldElement({ "allowBlank": true, "anchor": "-20", "autoHeight": true, "fieldLabel": "<span style=\"border-bottom: 1px dotted #000000;\">State</span>", "forceSelection": true, "hiddenName": "stateHidden", "listeners": { "render": Lino.quicktip_renderer("State","(calview.DailyView.state) The state of this entry. The state can change according to\nrules defined by the workflow.") }, "name": "state", "selectOnFocus": true, "store": [['','<br>']].concat(Lino.cal.EntryStates), "value": null });
    var show_appointments70 = new Lino.ChoicesFieldElement({ "allowBlank": true, "anchor": "-20", "autoHeight": true, "fieldLabel": "Appointments", "forceSelection": true, "hiddenName": "show_appointmentsHidden", "listeners": { "render": Lino.quicktip_renderer("Appointments","(calview.DailyView.show_appointments) ") }, "name": "show_appointments", "selectOnFocus": true, "store": [['','<br>']].concat(Lino.system.YesNo) });
    this.items = [ { "autoHeight": true, "flex": 18, "items": user65, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 18, "items": assigned_to66, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 18, "items": event_type67, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 18, "items": room68, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 12, "items": state69, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 13, "items": show_appointments70, "labelAlign": "top", "layout": "form", "xtype": "panel" } ];
    this.fields = [ user65, assigned_to66, event_type67, room68, state69, show_appointments70 ];
    Lino.calview.DailyView.ParamsPanel.superclass.initComponent.call(this);
  }
});


Lino.ledger.AllVouchers.ParamsPanel = Ext.extend(Ext.form.FormPanel, {
  hideCheckBoxLabels: true,
  autoHeight: true,
  layoutConfig: { "align": "stretchmax" },
  labelAlign: "top",
  autoScroll: false,
  labelWidth: 0,
  frame: true,
  bodyBorder: false,
  border: false,
  layout: 'hbox',
  autoHeight: true,
  region: 'north',
  initComponent : function() {
    var journal78 = new Lino.RemoteComboFieldElement({ "allowBlank": true, "anchor": "-20", "autoHeight": true, "can_create_choice": false, "detail_action": "Lino.ledger.Journals.detail", "emptyText": "Select a Journal...", "fieldLabel": "Journal", "hiddenName": "journalHidden", "insert_action": "Lino.ledger.Journals.insert", "listeners": { "render": Lino.quicktip_renderer("Journal","(ledger.AllVouchers.journal) ") }, "name": "journal", "pageSize": 20, "related_actor_id": "ledger.Journals", "selectOnFocus": true, "store": new Lino.ComplexRemoteComboStore({ "proxy": new Ext.data.HttpProxy({ "method": "GET", "url": "/choices/ledger/AllVouchers/journal" }) }) });
    var start_period79 = new Lino.RemoteComboFieldElement({ "allowBlank": true, "anchor": "-20", "autoHeight": true, "emptyText": "Select a Accounting period...", "fieldLabel": "<span style=\"border-bottom: 1px dotted #000000;\">Period from</span>", "hiddenName": "start_periodHidden", "listeners": { "render": Lino.quicktip_renderer("Period from","(ledger.AllVouchers.start_period) Start of observed period range.") }, "name": "start_period", "pageSize": 20, "preferred_width": 10, "related_actor_id": "ledger.AccountingPeriods", "selectOnFocus": true, "store": new Lino.ComplexRemoteComboStore({ "proxy": new Ext.data.HttpProxy({ "method": "GET", "url": "/choices/ledger/AllVouchers/start_period" }) }) });
    var end_period80 = new Lino.RemoteComboFieldElement({ "allowBlank": true, "anchor": "-20", "autoHeight": true, "emptyText": "Select a Accounting period...", "fieldLabel": "<span style=\"border-bottom: 1px dotted #000000;\">Period until</span>", "hiddenName": "end_periodHidden", "listeners": { "render": Lino.quicktip_renderer("Period until","(ledger.AllVouchers.end_period) Optional end of observed period range. Leave empty to observe only the start period.") }, "name": "end_period", "pageSize": 20, "preferred_width": 10, "related_actor_id": "ledger.AccountingPeriods", "selectOnFocus": true, "store": new Lino.ComplexRemoteComboStore({ "proxy": new Ext.data.HttpProxy({ "method": "GET", "url": "/choices/ledger/AllVouchers/end_period" }) }) });
    var user81 = new Lino.RemoteComboFieldElement({ "allowBlank": true, "anchor": "-20", "autoHeight": true, "detail_action": "Lino.users.AllUsers.detail", "emptyText": "Select a User...", "fieldLabel": "<span style=\"border-bottom: 1px dotted #000000;\">Author</span>", "hiddenName": "userHidden", "insert_action": "Lino.users.AllUsers.insert", "listeners": { "render": Lino.quicktip_renderer("Author","(ledger.AllVouchers.user) The author of this object.\nA pointer to lino.modlib.users.models.User.") }, "name": "user", "pageSize": 20, "preferred_width": 15, "related_actor_id": "users.AllUsers", "selectOnFocus": true, "store": new Lino.ComplexRemoteComboStore({ "proxy": new Ext.data.HttpProxy({ "method": "GET", "url": "/choices/ledger/AllVouchers/user" }) }), "value": null });
    this.items = [ { "autoHeight": true, "flex": 25, "items": journal78, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 25, "items": start_period79, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 25, "items": end_period80, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 25, "items": user81, "labelAlign": "top", "layout": "form", "xtype": "panel" } ];
    this.fields = [ journal78, start_period79, end_period80, user81 ];
    Lino.ledger.AllVouchers.ParamsPanel.superclass.initComponent.call(this);
  }
});


Lino.comments.Reactions.ParamsPanel = Ext.extend(Ext.form.FormPanel, {
  hideCheckBoxLabels: true,
  autoHeight: true,
  layoutConfig: { "align": "stretchmax" },
  labelAlign: "top",
  autoScroll: false,
  labelWidth: 0,
  frame: true,
  bodyBorder: false,
  border: false,
  layout: 'hbox',
  autoHeight: true,
  region: 'north',
  initComponent : function() {
    var start_date87 = new Lino.DateField({ "allowBlank": true, "anchor": "-20", "autoHeight": true, "fieldLabel": "<span style=\"border-bottom: 1px dotted #000000;\">Period from</span>", "listeners": { "render": Lino.quicktip_renderer("Period from","(comments.Reactions.start_date) Start date of observed period") }, "name": "start_date", "selectOnFocus": true, "value": null });
    var end_date88 = new Lino.DateField({ "allowBlank": true, "anchor": "-20", "autoHeight": true, "fieldLabel": "<span style=\"border-bottom: 1px dotted #000000;\">until</span>", "listeners": { "render": Lino.quicktip_renderer("until","(comments.Reactions.end_date) End date of observed period") }, "name": "end_date", "selectOnFocus": true, "value": null });
    var user89 = new Lino.RemoteComboFieldElement({ "allowBlank": true, "anchor": "-20", "autoHeight": true, "detail_action": "Lino.users.AllUsers.detail", "emptyText": "Select a User...", "fieldLabel": "<span style=\"border-bottom: 1px dotted #000000;\">Author</span>", "hiddenName": "userHidden", "insert_action": "Lino.users.AllUsers.insert", "listeners": { "render": Lino.quicktip_renderer("Author","(comments.Reactions.user) The author of this object.\nA pointer to lino.modlib.users.models.User.") }, "name": "user", "pageSize": 20, "preferred_width": 15, "related_actor_id": "users.AllUsers", "selectOnFocus": true, "store": new Lino.ComplexRemoteComboStore({ "proxy": new Ext.data.HttpProxy({ "method": "GET", "url": "/choices/comments/Reactions/user" }) }), "value": null });
    this.items = [ { "autoHeight": true, "flex": 28, "items": start_date87, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 28, "items": end_date88, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 43, "items": user89, "labelAlign": "top", "layout": "form", "xtype": "panel" } ];
    this.fields = [ start_date87, end_date88, user89 ];
    Lino.comments.Reactions.ParamsPanel.superclass.initComponent.call(this);
  }
});


Lino.ledger.Creditors.ParamsPanel = Ext.extend(Ext.form.FormPanel, {
  hideCheckBoxLabels: true,
  labelAlign: "top",
  autoScroll: false,
  labelWidth: 0,
  frame: true,
  bodyBorder: false,
  border: false,
  layout: 'form',
  autoHeight: true,
  region: 'north',
  initComponent : function() {
    var today94 = new Lino.DateField({ "allowBlank": true, "anchor": "-20", "autoHeight": true, "fieldLabel": "<span style=\"border-bottom: 1px dotted #000000;\">Situation on</span>", "listeners": { "render": Lino.quicktip_renderer("Situation on","(ledger.Creditors.today) Date of observation") }, "name": "today", "selectOnFocus": true });
    this.items = [ { "autoHeight": true, "items": today94, "labelAlign": "top", "layout": "form", "xtype": "panel" } ];
    this.fields = [ today94 ];
    Lino.ledger.Creditors.ParamsPanel.superclass.initComponent.call(this);
  }
});


Lino.ledger.ExpectedMovements.ParamsPanel = Ext.extend(Ext.form.FormPanel, {
  hideCheckBoxLabels: true,
  autoHeight: true,
  labelAlign: "top",
  autoScroll: false,
  frame: true,
  bodyBorder: false,
  border: false,
  layout: 'form',
  autoHeight: true,
  region: 'north',
  initComponent : function() {
    var trade_type97 = new Lino.ChoicesFieldElement({ "allowBlank": true, "anchor": "-20", "autoHeight": true, "fieldLabel": "<span style=\"border-bottom: 1px dotted #000000;\">Trade type</span>", "forceSelection": true, "hiddenName": "trade_typeHidden", "listeners": { "render": Lino.quicktip_renderer("Trade type","(ledger.ExpectedMovements.trade_type) ") }, "name": "trade_type", "selectOnFocus": true, "store": [['','<br>']].concat(Lino.ledger.TradeTypes) });
    var date_until98 = new Lino.DateField({ "allowBlank": true, "anchor": "-20", "autoHeight": true, "fieldLabel": "<span style=\"border-bottom: 1px dotted #000000;\">Date until</span>", "listeners": { "render": Lino.quicktip_renderer("Date until","(ledger.ExpectedMovements.date_until) ") }, "name": "date_until", "selectOnFocus": true });
    var from_journal99 = new Lino.RemoteComboFieldElement({ "allowBlank": true, "anchor": "-20", "autoHeight": true, "detail_action": "Lino.ledger.Journals.detail", "emptyText": "Select a Journal...", "fieldLabel": "<span style=\"border-bottom: 1px dotted #000000;\">Journal</span>", "hiddenName": "from_journalHidden", "insert_action": "Lino.ledger.Journals.insert", "listeners": { "render": Lino.quicktip_renderer("Journal","(ledger.ExpectedMovements.from_journal) ") }, "name": "from_journal", "pageSize": 20, "related_actor_id": "ledger.Journals", "selectOnFocus": true, "store": new Lino.ComplexRemoteComboStore({ "proxy": new Ext.data.HttpProxy({ "method": "GET", "url": "/choices/ledger/ExpectedMovements/from_journal" }) }) });
    var for_journal100 = new Lino.RemoteComboFieldElement({ "allowBlank": true, "anchor": "-20", "autoHeight": true, "detail_action": "Lino.ledger.Journals.detail", "emptyText": "Select a Journal...", "fieldLabel": "<span style=\"border-bottom: 1px dotted #000000;\">Clearable by</span>", "hiddenName": "for_journalHidden", "insert_action": "Lino.ledger.Journals.insert", "listeners": { "render": Lino.quicktip_renderer("Clearable by","(ledger.ExpectedMovements.for_journal) ") }, "name": "for_journal", "pageSize": 20, "related_actor_id": "ledger.Journals", "selectOnFocus": true, "store": new Lino.ComplexRemoteComboStore({ "proxy": new Ext.data.HttpProxy({ "method": "GET", "url": "/choices/ledger/ExpectedMovements/for_journal" }) }) });
    var main_1_panel101 = new Ext.Panel({ "anchor": "-20", "autoHeight": true, "autoScroll": false, "border": false, "frame": false, "hideCheckBoxLabels": true, "items": [ { "autoHeight": true, "flex": 29, "items": trade_type97, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 17, "items": date_until98, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 26, "items": from_journal99, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 26, "items": for_journal100, "labelAlign": "top", "layout": "form", "xtype": "panel" } ], "labelAlign": "top", "labelWidth": 0, "layout": "hbox", "layoutConfig": { "align": "stretchmax" } });
    var partner106 = new Lino.RemoteComboFieldElement({ "allowBlank": true, "anchor": "-20", "autoHeight": true, "detail_action": "Lino.contacts.Partners.detail", "emptyText": "Select a Partner...", "fieldLabel": "<span style=\"border-bottom: 1px dotted #000000;\">Partner</span>", "hiddenName": "partnerHidden", "listeners": { "render": Lino.quicktip_renderer("Partner","(ledger.ExpectedMovements.partner) ") }, "name": "partner", "pageSize": 20, "preferred_width": 20, "related_actor_id": "contacts.Partners", "selectOnFocus": true, "store": new Lino.ComplexRemoteComboStore({ "proxy": new Ext.data.HttpProxy({ "method": "GET", "url": "/choices/ledger/ExpectedMovements/partner" }) }) });
    var account107 = new Lino.RemoteComboFieldElement({ "allowBlank": true, "anchor": "-20", "autoHeight": true, "detail_action": "Lino.ledger.Accounts.detail", "emptyText": "Select a Account...", "fieldLabel": "<span style=\"border-bottom: 1px dotted #000000;\">Account</span>", "hiddenName": "accountHidden", "insert_action": "Lino.ledger.Accounts.insert", "listeners": { "render": Lino.quicktip_renderer("Account","(ledger.ExpectedMovements.account) ") }, "name": "account", "pageSize": 20, "related_actor_id": "ledger.Accounts", "selectOnFocus": true, "store": new Lino.ComplexRemoteComboStore({ "proxy": new Ext.data.HttpProxy({ "method": "GET", "url": "/choices/ledger/ExpectedMovements/account" }) }) });
    var show_sepa108 = new Lino.ChoicesFieldElement({ "allowBlank": true, "anchor": "-20", "autoHeight": true, "fieldLabel": "<span style=\"border-bottom: 1px dotted #000000;\">With SEPA</span>", "forceSelection": true, "hiddenName": "show_sepaHidden", "listeners": { "render": Lino.quicktip_renderer("With SEPA","(ledger.ExpectedMovements.show_sepa) ") }, "name": "show_sepa", "selectOnFocus": true, "store": [['','<br>']].concat(Lino.system.YesNo) });
    var same_dc109 = new Lino.ChoicesFieldElement({ "allowBlank": true, "anchor": "-20", "autoHeight": true, "fieldLabel": "<span style=\"border-bottom: 1px dotted #000000;\">Same D/C</span>", "forceSelection": true, "hiddenName": "same_dcHidden", "listeners": { "render": Lino.quicktip_renderer("Same D/C","(ledger.ExpectedMovements.same_dc) ") }, "name": "same_dc", "selectOnFocus": true, "store": [['','<br>']].concat(Lino.system.YesNo) });
    var main_2_panel110 = new Ext.Panel({ "anchor": "-20", "autoHeight": true, "autoScroll": false, "border": false, "frame": false, "hideCheckBoxLabels": true, "items": [ { "autoHeight": true, "flex": 28, "items": partner106, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 28, "items": account107, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 21, "items": show_sepa108, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 21, "items": same_dc109, "labelAlign": "top", "layout": "form", "xtype": "panel" } ], "labelAlign": "top", "labelWidth": 0, "layout": "hbox", "layoutConfig": { "align": "stretchmax" } });
    this.items = [ main_1_panel101, main_2_panel110 ];
    this.fields = [ trade_type97, date_until98, from_journal99, for_journal100, partner106, account107, show_sepa108, same_dc109 ];
    Lino.ledger.ExpectedMovements.ParamsPanel.superclass.initComponent.call(this);
  }
});


Lino.uploads.Uploads.ParamsPanel = Ext.extend(Ext.form.FormPanel, {
  hideCheckBoxLabels: true,
  autoHeight: true,
  layoutConfig: { "align": "stretchmax" },
  labelAlign: "top",
  autoScroll: false,
  labelWidth: 0,
  frame: true,
  bodyBorder: false,
  border: false,
  layout: 'hbox',
  autoHeight: true,
  region: 'north',
  initComponent : function() {
    var start_date116 = new Lino.DateField({ "allowBlank": true, "anchor": "-20", "autoHeight": true, "fieldLabel": "<span style=\"border-bottom: 1px dotted #000000;\">Date from</span>", "listeners": { "render": Lino.quicktip_renderer("Date from","(uploads.Uploads.start_date) Start of observed date range") }, "name": "start_date", "selectOnFocus": true, "value": null });
    var end_date117 = new Lino.DateField({ "allowBlank": true, "anchor": "-20", "autoHeight": true, "fieldLabel": "<span style=\"border-bottom: 1px dotted #000000;\">until</span>", "listeners": { "render": Lino.quicktip_renderer("until","(uploads.Uploads.end_date) End of observed date range") }, "name": "end_date", "selectOnFocus": true, "value": null });
    var user118 = new Lino.RemoteComboFieldElement({ "allowBlank": true, "anchor": "-20", "autoHeight": true, "detail_action": "Lino.users.AllUsers.detail", "emptyText": "Select a User...", "fieldLabel": "<span style=\"border-bottom: 1px dotted #000000;\">Uploaded by</span>", "hiddenName": "userHidden", "insert_action": "Lino.users.AllUsers.insert", "listeners": { "render": Lino.quicktip_renderer("Uploaded by","(uploads.Uploads.user) The author of this object.\nA pointer to lino.modlib.users.models.User.") }, "name": "user", "pageSize": 20, "preferred_width": 15, "related_actor_id": "users.AllUsers", "selectOnFocus": true, "store": new Lino.ComplexRemoteComboStore({ "proxy": new Ext.data.HttpProxy({ "method": "GET", "url": "/choices/uploads/Uploads/user" }) }), "value": null });
    var upload_type119 = new Lino.RemoteComboFieldElement({ "allowBlank": true, "anchor": "-20", "autoHeight": true, "detail_action": "Lino.uploads.UploadTypes.detail", "emptyText": "Select a Upload type...", "fieldLabel": "Upload type", "hiddenName": "upload_typeHidden", "insert_action": "Lino.uploads.UploadTypes.insert", "listeners": { "render": Lino.quicktip_renderer("Upload type","(uploads.Uploads.upload_type) ") }, "name": "upload_type", "pageSize": 20, "related_actor_id": "uploads.UploadTypes", "selectOnFocus": true, "store": new Lino.ComplexRemoteComboStore({ "proxy": new Ext.data.HttpProxy({ "method": "GET", "url": "/choices/uploads/Uploads/upload_type" }) }) });
    this.items = [ { "autoHeight": true, "flex": 19, "items": start_date116, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 19, "items": end_date117, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 30, "items": user118, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 30, "items": upload_type119, "labelAlign": "top", "layout": "form", "xtype": "panel" } ];
    this.fields = [ start_date116, end_date117, user118, upload_type119 ];
    Lino.uploads.Uploads.ParamsPanel.superclass.initComponent.call(this);
  }
});


Lino.calview.WeeklyView.ParamsPanel = Ext.extend(Ext.form.FormPanel, {
  hideCheckBoxLabels: true,
  autoHeight: true,
  layoutConfig: { "align": "stretchmax" },
  labelAlign: "top",
  autoScroll: false,
  labelWidth: 0,
  frame: true,
  bodyBorder: false,
  border: false,
  layout: 'hbox',
  autoHeight: true,
  region: 'north',
  initComponent : function() {
    var user125 = new Lino.RemoteComboFieldElement({ "allowBlank": true, "anchor": "-20", "autoHeight": true, "detail_action": "Lino.users.AllUsers.detail", "emptyText": "Select a User...", "fieldLabel": "<span style=\"border-bottom: 1px dotted #000000;\">Responsible user</span>", "hiddenName": "userHidden", "insert_action": "Lino.users.AllUsers.insert", "listeners": { "render": Lino.quicktip_renderer("Responsible user","(calview.WeeklyView.user) The responsible user.") }, "name": "user", "pageSize": 20, "preferred_width": 15, "related_actor_id": "users.AllUsers", "selectOnFocus": true, "store": new Lino.ComplexRemoteComboStore({ "proxy": new Ext.data.HttpProxy({ "method": "GET", "url": "/choices/calview/WeeklyView/user" }) }), "value": null });
    var assigned_to126 = new Lino.RemoteComboFieldElement({ "allowBlank": true, "anchor": "-20", "autoHeight": true, "detail_action": "Lino.users.AllUsers.detail", "emptyText": "Select a User...", "fieldLabel": "<span style=\"border-bottom: 1px dotted #000000;\">Assigned to</span>", "hiddenName": "assigned_toHidden", "insert_action": "Lino.users.AllUsers.insert", "listeners": { "render": Lino.quicktip_renderer("Assigned to","(calview.WeeklyView.assigned_to) Another user who is expected to take responsibility for this\nentry.") }, "name": "assigned_to", "pageSize": 20, "preferred_width": 15, "related_actor_id": "users.AllUsers", "selectOnFocus": true, "store": new Lino.ComplexRemoteComboStore({ "proxy": new Ext.data.HttpProxy({ "method": "GET", "url": "/choices/calview/WeeklyView/assigned_to" }) }), "value": null });
    var event_type127 = new Lino.RemoteComboFieldElement({ "allowBlank": true, "anchor": "-20", "autoHeight": true, "detail_action": "Lino.cal.EventTypes.detail", "emptyText": "Select a Calendar entry type...", "fieldLabel": "<span style=\"border-bottom: 1px dotted #000000;\">Calendar entry type</span>", "hiddenName": "event_typeHidden", "insert_action": "Lino.cal.EventTypes.insert", "listeners": { "render": Lino.quicktip_renderer("Calendar entry type","(calview.WeeklyView.event_type) The type of this calendar entry.") }, "name": "event_type", "pageSize": 20, "related_actor_id": "cal.EventTypes", "selectOnFocus": true, "store": new Lino.ComplexRemoteComboStore({ "proxy": new Ext.data.HttpProxy({ "method": "GET", "url": "/choices/calview/WeeklyView/event_type" }) }), "value": null });
    var room128 = new Lino.RemoteComboFieldElement({ "allowBlank": true, "anchor": "-20", "autoHeight": true, "detail_action": "Lino.cal.Rooms.detail", "emptyText": "Select a Room...", "fieldLabel": "Room", "hiddenName": "roomHidden", "insert_action": "Lino.cal.Rooms.insert", "listeners": { "render": Lino.quicktip_renderer("Room","(calview.WeeklyView.room) ") }, "name": "room", "pageSize": 20, "related_actor_id": "cal.Rooms", "selectOnFocus": true, "store": new Lino.ComplexRemoteComboStore({ "proxy": new Ext.data.HttpProxy({ "method": "GET", "url": "/choices/calview/WeeklyView/room" }) }), "value": null });
    var state129 = new Lino.ChoicesFieldElement({ "allowBlank": true, "anchor": "-20", "autoHeight": true, "fieldLabel": "<span style=\"border-bottom: 1px dotted #000000;\">State</span>", "forceSelection": true, "hiddenName": "stateHidden", "listeners": { "render": Lino.quicktip_renderer("State","(calview.WeeklyView.state) The state of this entry. The state can change according to\nrules defined by the workflow.") }, "name": "state", "selectOnFocus": true, "store": [['','<br>']].concat(Lino.cal.EntryStates), "value": null });
    var show_appointments130 = new Lino.ChoicesFieldElement({ "allowBlank": true, "anchor": "-20", "autoHeight": true, "fieldLabel": "Appointments", "forceSelection": true, "hiddenName": "show_appointmentsHidden", "listeners": { "render": Lino.quicktip_renderer("Appointments","(calview.WeeklyView.show_appointments) ") }, "name": "show_appointments", "selectOnFocus": true, "store": [['','<br>']].concat(Lino.system.YesNo) });
    this.items = [ { "autoHeight": true, "flex": 18, "items": user125, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 18, "items": assigned_to126, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 18, "items": event_type127, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 18, "items": room128, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 12, "items": state129, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 13, "items": show_appointments130, "labelAlign": "top", "layout": "form", "xtype": "panel" } ];
    this.fields = [ user125, assigned_to126, event_type127, room128, state129, show_appointments130 ];
    Lino.calview.WeeklyView.ParamsPanel.superclass.initComponent.call(this);
  }
});


Lino.cal.OneEvent.ParamsPanel = Ext.extend(Ext.form.FormPanel, {
  hideCheckBoxLabels: true,
  autoHeight: true,
  layoutConfig: { "align": "stretchmax" },
  labelAlign: "top",
  autoScroll: false,
  labelWidth: 0,
  frame: true,
  bodyBorder: false,
  border: false,
  layout: 'hbox',
  autoHeight: true,
  region: 'north',
  initComponent : function() {
    var user138 = new Lino.RemoteComboFieldElement({ "allowBlank": true, "anchor": "-20", "autoHeight": true, "detail_action": "Lino.users.AllUsers.detail", "emptyText": "Select a User...", "fieldLabel": "<span style=\"border-bottom: 1px dotted #000000;\">Responsible user</span>", "hiddenName": "userHidden", "insert_action": "Lino.users.AllUsers.insert", "listeners": { "render": Lino.quicktip_renderer("Responsible user","(cal.OneEvent.user) The responsible user.") }, "name": "user", "pageSize": 20, "preferred_width": 15, "related_actor_id": "users.AllUsers", "selectOnFocus": true, "store": new Lino.ComplexRemoteComboStore({ "proxy": new Ext.data.HttpProxy({ "method": "GET", "url": "/choices/cal/OneEvent/user" }) }), "value": null });
    var event_type139 = new Lino.RemoteComboFieldElement({ "allowBlank": true, "anchor": "-20", "autoHeight": true, "detail_action": "Lino.cal.EventTypes.detail", "emptyText": "Select a Calendar entry type...", "fieldLabel": "<span style=\"border-bottom: 1px dotted #000000;\">Calendar entry type</span>", "hiddenName": "event_typeHidden", "insert_action": "Lino.cal.EventTypes.insert", "listeners": { "render": Lino.quicktip_renderer("Calendar entry type","(cal.OneEvent.event_type) The type of this calendar entry.") }, "name": "event_type", "pageSize": 20, "related_actor_id": "cal.EventTypes", "selectOnFocus": true, "store": new Lino.ComplexRemoteComboStore({ "proxy": new Ext.data.HttpProxy({ "method": "GET", "url": "/choices/cal/OneEvent/event_type" }) }), "value": null });
    var room140 = new Lino.RemoteComboFieldElement({ "allowBlank": true, "anchor": "-20", "autoHeight": true, "detail_action": "Lino.cal.Rooms.detail", "emptyText": "Select a Room...", "fieldLabel": "Room", "hiddenName": "roomHidden", "insert_action": "Lino.cal.Rooms.insert", "listeners": { "render": Lino.quicktip_renderer("Room","(cal.OneEvent.room) ") }, "name": "room", "pageSize": 20, "related_actor_id": "cal.Rooms", "selectOnFocus": true, "store": new Lino.ComplexRemoteComboStore({ "proxy": new Ext.data.HttpProxy({ "method": "GET", "url": "/choices/cal/OneEvent/room" }) }), "value": null });
    var presence_guest141 = new Lino.RemoteComboFieldElement({ "allowBlank": true, "anchor": "-20", "autoHeight": true, "detail_action": "Lino.contacts.Persons.detail", "emptyText": "Select a Person...", "fieldLabel": "<span style=\"border-bottom: 1px dotted #000000;\">Guest</span>", "hiddenName": "presence_guestHidden", "insert_action": "Lino.contacts.Persons.insert", "listeners": { "render": Lino.quicktip_renderer("Guest","(cal.OneEvent.presence_guest) ") }, "name": "presence_guest", "pageSize": 20, "preferred_width": 20, "related_actor_id": "contacts.Persons", "selectOnFocus": true, "store": new Lino.ComplexRemoteComboStore({ "proxy": new Ext.data.HttpProxy({ "method": "GET", "url": "/choices/cal/OneEvent/presence_guest" }) }) });
    this.items = [ { "autoHeight": true, "flex": 25, "items": user138, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 25, "items": event_type139, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 25, "items": room140, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 25, "items": presence_guest141, "labelAlign": "top", "layout": "form", "xtype": "panel" } ];
    this.fields = [ user138, event_type139, room140, presence_guest141 ];
    Lino.cal.OneEvent.ParamsPanel.superclass.initComponent.call(this);
  }
});


Lino.ledger.Accounts.ParamsPanel = Ext.extend(Ext.form.FormPanel, {
  hideCheckBoxLabels: true,
  labelAlign: "top",
  autoScroll: false,
  labelWidth: 0,
  frame: true,
  bodyBorder: false,
  border: false,
  layout: 'form',
  autoHeight: true,
  region: 'north',
  initComponent : function() {
    var common_account147 = new Lino.ChoicesFieldElement({ "allowBlank": true, "anchor": "-20", "autoHeight": true, "fieldLabel": "Common account", "forceSelection": true, "hiddenName": "common_accountHidden", "listeners": { "render": Lino.quicktip_renderer("Common account","(ledger.Accounts.common_account) ") }, "name": "common_account", "selectOnFocus": true, "store": [['','<br>']].concat(Lino.ledger.CommonAccounts), "value": null });
    this.items = [ { "autoHeight": true, "items": common_account147, "labelAlign": "top", "layout": "form", "xtype": "panel" } ];
    this.fields = [ common_account147 ];
    Lino.ledger.Accounts.ParamsPanel.superclass.initComponent.call(this);
  }
});


Lino.dashboard.Widgets.ParamsPanel = Ext.extend(Ext.form.FormPanel, {
  hideCheckBoxLabels: true,
  labelAlign: "top",
  autoScroll: false,
  labelWidth: 0,
  frame: true,
  bodyBorder: false,
  border: false,
  layout: 'form',
  autoHeight: true,
  region: 'north',
  initComponent : function() {
    var user150 = new Lino.RemoteComboFieldElement({ "allowBlank": true, "anchor": "-20", "autoHeight": true, "detail_action": "Lino.users.AllUsers.detail", "emptyText": "Select a User...", "fieldLabel": "<span style=\"border-bottom: 1px dotted #000000;\">Author</span>", "hiddenName": "userHidden", "insert_action": "Lino.users.AllUsers.insert", "listeners": { "render": Lino.quicktip_renderer("Author","(dashboard.Widgets.user) The author of this object.\nA pointer to lino.modlib.users.models.User.") }, "name": "user", "pageSize": 20, "preferred_width": 15, "related_actor_id": "users.AllUsers", "selectOnFocus": true, "store": new Lino.ComplexRemoteComboStore({ "proxy": new Ext.data.HttpProxy({ "method": "GET", "url": "/choices/dashboard/Widgets/user" }) }), "value": null });
    this.items = [ { "autoHeight": true, "items": user150, "labelAlign": "top", "layout": "form", "xtype": "panel" } ];
    this.fields = [ user150 ];
    Lino.dashboard.Widgets.ParamsPanel.superclass.initComponent.call(this);
  }
});


Lino.ledger.AccountingPeriods.ParamsPanel = Ext.extend(Ext.form.FormPanel, {
  hideCheckBoxLabels: true,
  autoHeight: true,
  layoutConfig: { "align": "stretchmax" },
  labelAlign: "top",
  autoScroll: false,
  labelWidth: 0,
  frame: true,
  bodyBorder: false,
  border: false,
  layout: 'hbox',
  autoHeight: true,
  region: 'north',
  initComponent : function() {
    var start_date153 = new Lino.DateField({ "allowBlank": true, "anchor": "-20", "autoHeight": true, "fieldLabel": "<span style=\"border-bottom: 1px dotted #000000;\">Period from</span>", "listeners": { "render": Lino.quicktip_renderer("Period from","(ledger.AccountingPeriods.start_date) Start date of observed period") }, "name": "start_date", "selectOnFocus": true, "value": null });
    var end_date154 = new Lino.DateField({ "allowBlank": true, "anchor": "-20", "autoHeight": true, "fieldLabel": "<span style=\"border-bottom: 1px dotted #000000;\">until</span>", "listeners": { "render": Lino.quicktip_renderer("until","(ledger.AccountingPeriods.end_date) End date of observed period") }, "name": "end_date", "selectOnFocus": true, "value": null });
    this.items = [ { "autoHeight": true, "flex": 50, "items": start_date153, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 50, "items": end_date154, "labelAlign": "top", "layout": "form", "xtype": "panel" } ];
    this.fields = [ start_date153, end_date154 ];
    Lino.ledger.AccountingPeriods.ParamsPanel.superclass.initComponent.call(this);
  }
});


Lino.courses.ActivitiesByTopic.ParamsPanel = Ext.extend(Ext.form.FormPanel, {
  hideCheckBoxLabels: true,
  autoHeight: true,
  layoutConfig: { "align": "stretchmax" },
  labelAlign: "top",
  autoScroll: false,
  labelWidth: 0,
  frame: true,
  bodyBorder: false,
  border: false,
  layout: 'hbox',
  autoHeight: true,
  region: 'north',
  initComponent : function() {
    var line158 = new Lino.RemoteComboFieldElement({ "allowBlank": true, "anchor": "-20", "autoHeight": true, "detail_action": "Lino.courses.Lines.detail", "emptyText": "Select a Activity line...", "fieldLabel": "Activity line", "hiddenName": "lineHidden", "insert_action": "Lino.courses.Lines.insert", "listeners": { "render": Lino.quicktip_renderer("Activity line","(courses.ActivitiesByTopic.line) ") }, "name": "line", "pageSize": 20, "related_actor_id": "courses.Lines", "selectOnFocus": true, "store": new Lino.ComplexRemoteComboStore({ "proxy": new Ext.data.HttpProxy({ "method": "GET", "url": "/choices/courses/ActivitiesByTopic/line" }) }) });
    var teacher159 = new Lino.RemoteComboFieldElement({ "allowBlank": true, "anchor": "-20", "autoHeight": true, "detail_action": "Lino.contacts.Persons.detail", "emptyText": "Select a Person...", "fieldLabel": "Instructor", "hiddenName": "teacherHidden", "insert_action": "Lino.contacts.Persons.insert", "listeners": { "render": Lino.quicktip_renderer("Instructor","(courses.ActivitiesByTopic.teacher) ") }, "name": "teacher", "pageSize": 20, "preferred_width": 20, "related_actor_id": "contacts.Persons", "selectOnFocus": true, "store": new Lino.ComplexRemoteComboStore({ "proxy": new Ext.data.HttpProxy({ "method": "GET", "url": "/choices/courses/ActivitiesByTopic/teacher" }) }) });
    var user160 = new Lino.RemoteComboFieldElement({ "allowBlank": true, "anchor": "-20", "autoHeight": true, "detail_action": "Lino.users.AllUsers.detail", "emptyText": "Select a User...", "fieldLabel": "<span style=\"border-bottom: 1px dotted #000000;\">Author</span>", "hiddenName": "userHidden", "insert_action": "Lino.users.AllUsers.insert", "listeners": { "render": Lino.quicktip_renderer("Author","(courses.ActivitiesByTopic.user) The author of this object.\nA pointer to lino.modlib.users.models.User.") }, "name": "user", "pageSize": 20, "preferred_width": 15, "related_actor_id": "users.AllUsers", "selectOnFocus": true, "store": new Lino.ComplexRemoteComboStore({ "proxy": new Ext.data.HttpProxy({ "method": "GET", "url": "/choices/courses/ActivitiesByTopic/user" }) }), "value": null });
    var state161 = new Lino.ChoicesFieldElement({ "allowBlank": true, "anchor": "-20", "autoHeight": true, "fieldLabel": "State", "forceSelection": true, "hiddenName": "stateHidden", "listeners": { "render": Lino.quicktip_renderer("State","(courses.ActivitiesByTopic.state) ") }, "name": "state", "selectOnFocus": true, "store": [['','<br>']].concat(Lino.courses.CourseStates) });
    var can_enroll162 = new Lino.ChoicesFieldElement({ "allowBlank": true, "anchor": "-20", "autoHeight": true, "fieldLabel": "can enroll", "forceSelection": true, "hiddenName": "can_enrollHidden", "listeners": { "render": Lino.quicktip_renderer("can enroll","(courses.ActivitiesByTopic.can_enroll) ") }, "name": "can_enroll", "selectOnFocus": true, "store": [['','<br>']].concat(Lino.system.YesNo) });
    this.items = [ { "autoHeight": true, "flex": 24, "items": line158, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 24, "items": teacher159, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 24, "items": user160, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 13, "items": state161, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 12, "items": can_enroll162, "labelAlign": "top", "layout": "form", "xtype": "panel" } ];
    this.fields = [ line158, teacher159, user160, state161, can_enroll162 ];
    Lino.courses.ActivitiesByTopic.ParamsPanel.superclass.initComponent.call(this);
  }
});


Lino.cal.Events.ParamsPanel = Ext.extend(Ext.form.FormPanel, {
  hideCheckBoxLabels: true,
  autoHeight: true,
  layoutConfig: { "align": "stretchmax" },
  labelAlign: "top",
  autoScroll: false,
  labelWidth: 0,
  frame: true,
  bodyBorder: false,
  border: false,
  layout: 'hbox',
  autoHeight: true,
  region: 'north',
  initComponent : function() {
    var user169 = new Lino.RemoteComboFieldElement({ "allowBlank": true, "anchor": "-20", "autoHeight": true, "detail_action": "Lino.users.AllUsers.detail", "emptyText": "Select a User...", "fieldLabel": "<span style=\"border-bottom: 1px dotted #000000;\">Responsible user</span>", "hiddenName": "userHidden", "insert_action": "Lino.users.AllUsers.insert", "listeners": { "render": Lino.quicktip_renderer("Responsible user","(cal.Events.user) The responsible user.") }, "name": "user", "pageSize": 20, "preferred_width": 15, "related_actor_id": "users.AllUsers", "selectOnFocus": true, "store": new Lino.ComplexRemoteComboStore({ "proxy": new Ext.data.HttpProxy({ "method": "GET", "url": "/choices/cal/Events/user" }) }), "value": null });
    var event_type170 = new Lino.RemoteComboFieldElement({ "allowBlank": true, "anchor": "-20", "autoHeight": true, "detail_action": "Lino.cal.EventTypes.detail", "emptyText": "Select a Calendar entry type...", "fieldLabel": "<span style=\"border-bottom: 1px dotted #000000;\">Calendar entry type</span>", "hiddenName": "event_typeHidden", "insert_action": "Lino.cal.EventTypes.insert", "listeners": { "render": Lino.quicktip_renderer("Calendar entry type","(cal.Events.event_type) The type of this calendar entry.") }, "name": "event_type", "pageSize": 20, "related_actor_id": "cal.EventTypes", "selectOnFocus": true, "store": new Lino.ComplexRemoteComboStore({ "proxy": new Ext.data.HttpProxy({ "method": "GET", "url": "/choices/cal/Events/event_type" }) }), "value": null });
    var room171 = new Lino.RemoteComboFieldElement({ "allowBlank": true, "anchor": "-20", "autoHeight": true, "detail_action": "Lino.cal.Rooms.detail", "emptyText": "Select a Room...", "fieldLabel": "Room", "hiddenName": "roomHidden", "insert_action": "Lino.cal.Rooms.insert", "listeners": { "render": Lino.quicktip_renderer("Room","(cal.Events.room) ") }, "name": "room", "pageSize": 20, "related_actor_id": "cal.Rooms", "selectOnFocus": true, "store": new Lino.ComplexRemoteComboStore({ "proxy": new Ext.data.HttpProxy({ "method": "GET", "url": "/choices/cal/Events/room" }) }), "value": null });
    var presence_guest172 = new Lino.RemoteComboFieldElement({ "allowBlank": true, "anchor": "-20", "autoHeight": true, "detail_action": "Lino.contacts.Persons.detail", "emptyText": "Select a Person...", "fieldLabel": "<span style=\"border-bottom: 1px dotted #000000;\">Guest</span>", "hiddenName": "presence_guestHidden", "insert_action": "Lino.contacts.Persons.insert", "listeners": { "render": Lino.quicktip_renderer("Guest","(cal.Events.presence_guest) ") }, "name": "presence_guest", "pageSize": 20, "preferred_width": 20, "related_actor_id": "contacts.Persons", "selectOnFocus": true, "store": new Lino.ComplexRemoteComboStore({ "proxy": new Ext.data.HttpProxy({ "method": "GET", "url": "/choices/cal/Events/presence_guest" }) }) });
    this.items = [ { "autoHeight": true, "flex": 25, "items": user169, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 25, "items": event_type170, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 25, "items": room171, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 25, "items": presence_guest172, "labelAlign": "top", "layout": "form", "xtype": "panel" } ];
    this.fields = [ user169, event_type170, room171, presence_guest172 ];
    Lino.cal.Events.ParamsPanel.superclass.initComponent.call(this);
  }
});


Lino.ledger.PartnerBalancesByTradeType.ParamsPanel = Ext.extend(Ext.form.FormPanel, {
  hideCheckBoxLabels: true,
  autoHeight: true,
  layoutConfig: { "align": "stretchmax" },
  labelAlign: "top",
  autoScroll: false,
  labelWidth: 0,
  frame: true,
  bodyBorder: false,
  border: false,
  layout: 'hbox',
  autoHeight: true,
  region: 'north',
  initComponent : function() {
    var start_period178 = new Lino.RemoteComboFieldElement({ "allowBlank": true, "anchor": "-20", "autoHeight": true, "emptyText": "Select a Accounting period...", "fieldLabel": "<span style=\"border-bottom: 1px dotted #000000;\">Period from</span>", "hiddenName": "start_periodHidden", "listeners": { "render": Lino.quicktip_renderer("Period from","(ledger.PartnerBalancesByTradeType.start_period) Start of observed period range") }, "name": "start_period", "pageSize": 20, "preferred_width": 10, "related_actor_id": "ledger.AccountingPeriods", "selectOnFocus": true, "store": new Lino.ComplexRemoteComboStore({ "proxy": new Ext.data.HttpProxy({ "method": "GET", "url": "/choices/ledger/PartnerBalancesByTradeType/start_period" }) }) });
    var end_period179 = new Lino.RemoteComboFieldElement({ "allowBlank": true, "anchor": "-20", "autoHeight": true, "emptyText": "Select a Accounting period...", "fieldLabel": "<span style=\"border-bottom: 1px dotted #000000;\">until</span>", "hiddenName": "end_periodHidden", "listeners": { "render": Lino.quicktip_renderer("until","(ledger.PartnerBalancesByTradeType.end_period) Optional end of observed period range. Leave empty to consider only the Start period.") }, "name": "end_period", "pageSize": 20, "preferred_width": 10, "related_actor_id": "ledger.AccountingPeriods", "selectOnFocus": true, "store": new Lino.ComplexRemoteComboStore({ "proxy": new Ext.data.HttpProxy({ "method": "GET", "url": "/choices/ledger/PartnerBalancesByTradeType/end_period" }) }) });
    this.items = [ { "autoHeight": true, "flex": 50, "items": start_period178, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 50, "items": end_period179, "labelAlign": "top", "layout": "form", "xtype": "panel" } ];
    this.fields = [ start_period178, end_period179 ];
    Lino.ledger.PartnerBalancesByTradeType.ParamsPanel.superclass.initComponent.call(this);
  }
});


Lino.users.UsersOverview.ParamsPanel = Ext.extend(Ext.form.FormPanel, {
  hideCheckBoxLabels: true,
  autoHeight: true,
  layoutConfig: { "align": "stretchmax" },
  labelAlign: "top",
  autoScroll: false,
  labelWidth: 0,
  frame: true,
  bodyBorder: false,
  border: false,
  layout: 'hbox',
  autoHeight: true,
  region: 'north',
  initComponent : function() {
    var user_type183 = new Lino.ChoicesFieldElement({ "allowBlank": true, "anchor": "-20", "autoHeight": true, "fieldLabel": "User type", "forceSelection": true, "hiddenName": "user_typeHidden", "listeners": { "render": Lino.quicktip_renderer("User type","(users.UsersOverview.user_type) ") }, "name": "user_type", "selectOnFocus": true, "store": [['','<br>']].concat(Lino.users.UserTypes) });
    var start_date184 = new Lino.DateField({ "allowBlank": true, "anchor": "-20", "autoHeight": true, "fieldLabel": "<span style=\"border-bottom: 1px dotted #000000;\">Period from</span>", "listeners": { "render": Lino.quicktip_renderer("Period from","(users.UsersOverview.start_date) Start date of observed period") }, "name": "start_date", "selectOnFocus": true, "value": null });
    var end_date185 = new Lino.DateField({ "allowBlank": true, "anchor": "-20", "autoHeight": true, "fieldLabel": "<span style=\"border-bottom: 1px dotted #000000;\">until</span>", "listeners": { "render": Lino.quicktip_renderer("until","(users.UsersOverview.end_date) End date of observed period") }, "name": "end_date", "selectOnFocus": true, "value": null });
    this.items = [ { "autoHeight": true, "flex": 60, "items": user_type183, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 20, "items": start_date184, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 20, "items": end_date185, "labelAlign": "top", "layout": "form", "xtype": "panel" } ];
    this.fields = [ user_type183, start_date184, end_date185 ];
    Lino.users.UsersOverview.ParamsPanel.superclass.initComponent.call(this);
  }
});


Lino.ledger.Movements.ParamsPanel = Ext.extend(Ext.form.FormPanel, {
  hideCheckBoxLabels: true,
  autoHeight: true,
  labelAlign: "top",
  autoScroll: false,
  frame: true,
  bodyBorder: false,
  border: false,
  layout: 'form',
  autoHeight: true,
  region: 'north',
  initComponent : function() {
    var start_period190 = new Lino.RemoteComboFieldElement({ "allowBlank": true, "anchor": "-20", "autoHeight": true, "emptyText": "Select a Accounting period...", "fieldLabel": "<span style=\"border-bottom: 1px dotted #000000;\">Period from</span>", "hiddenName": "start_periodHidden", "listeners": { "render": Lino.quicktip_renderer("Period from","(ledger.Movements.start_period) Start of observed period range.") }, "name": "start_period", "pageSize": 20, "preferred_width": 10, "related_actor_id": "ledger.AccountingPeriods", "selectOnFocus": true, "store": new Lino.ComplexRemoteComboStore({ "proxy": new Ext.data.HttpProxy({ "method": "GET", "url": "/choices/ledger/Movements/start_period" }) }) });
    var end_period191 = new Lino.RemoteComboFieldElement({ "allowBlank": true, "anchor": "-20", "autoHeight": true, "emptyText": "Select a Accounting period...", "fieldLabel": "<span style=\"border-bottom: 1px dotted #000000;\">Period until</span>", "hiddenName": "end_periodHidden", "listeners": { "render": Lino.quicktip_renderer("Period until","(ledger.Movements.end_period) Optional end of observed period range. Leave empty to observe only the start period.") }, "name": "end_period", "pageSize": 20, "preferred_width": 10, "related_actor_id": "ledger.AccountingPeriods", "selectOnFocus": true, "store": new Lino.ComplexRemoteComboStore({ "proxy": new Ext.data.HttpProxy({ "method": "GET", "url": "/choices/ledger/Movements/end_period" }) }) });
    var start_date192 = new Lino.DateField({ "allowBlank": true, "anchor": "-20", "autoHeight": true, "fieldLabel": "<span style=\"border-bottom: 1px dotted #000000;\">Date from</span>", "listeners": { "render": Lino.quicktip_renderer("Date from","(ledger.Movements.start_date) Start of observed date range") }, "name": "start_date", "selectOnFocus": true, "value": null });
    var end_date193 = new Lino.DateField({ "allowBlank": true, "anchor": "-20", "autoHeight": true, "fieldLabel": "<span style=\"border-bottom: 1px dotted #000000;\">until</span>", "listeners": { "render": Lino.quicktip_renderer("until","(ledger.Movements.end_date) End of observed date range") }, "name": "end_date", "selectOnFocus": true, "value": null });
    var cleared194 = new Lino.ChoicesFieldElement({ "allowBlank": true, "anchor": "-20", "autoHeight": true, "fieldLabel": "Show cleared movements", "forceSelection": true, "hiddenName": "clearedHidden", "listeners": { "render": Lino.quicktip_renderer("Show cleared movements","(ledger.Movements.cleared) ") }, "name": "cleared", "selectOnFocus": true, "store": [['','<br>']].concat(Lino.system.YesNo) });
    var main_1_panel195 = new Ext.Panel({ "anchor": "-20", "autoHeight": true, "autoScroll": false, "border": false, "frame": false, "hideCheckBoxLabels": true, "items": [ { "autoHeight": true, "flex": 24, "items": start_period190, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 24, "items": end_period191, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 16, "items": start_date192, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 16, "items": end_date193, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 18, "items": cleared194, "labelAlign": "top", "layout": "form", "xtype": "panel" } ], "labelAlign": "top", "labelWidth": 0, "layout": "hbox", "layoutConfig": { "align": "stretchmax" } });
    var journal_group201 = new Lino.ChoicesFieldElement({ "allowBlank": true, "anchor": "-20", "autoHeight": true, "fieldLabel": "Journal group", "forceSelection": true, "hiddenName": "journal_groupHidden", "listeners": { "render": Lino.quicktip_renderer("Journal group","(ledger.Movements.journal_group) ") }, "name": "journal_group", "selectOnFocus": true, "store": [['','<br>']].concat(Lino.ledger.JournalGroups) });
    var journal202 = new Lino.RemoteComboFieldElement({ "allowBlank": true, "anchor": "-20", "autoHeight": true, "detail_action": "Lino.ledger.Journals.detail", "emptyText": "Select a Journal...", "fieldLabel": "Journal", "hiddenName": "journalHidden", "insert_action": "Lino.ledger.Journals.insert", "listeners": { "render": Lino.quicktip_renderer("Journal","(ledger.Movements.journal) ") }, "name": "journal", "pageSize": 20, "related_actor_id": "ledger.Journals", "selectOnFocus": true, "store": new Lino.ComplexRemoteComboStore({ "proxy": new Ext.data.HttpProxy({ "method": "GET", "url": "/choices/ledger/Movements/journal" }) }) });
    var year203 = new Lino.RemoteComboFieldElement({ "allowBlank": true, "anchor": "-20", "autoHeight": true, "emptyText": "Select a Fiscal year...", "fieldLabel": "Fiscal year", "hiddenName": "yearHidden", "listeners": { "render": Lino.quicktip_renderer("Fiscal year","(ledger.Movements.year) ") }, "name": "year", "pageSize": 20, "preferred_width": 10, "related_actor_id": "ledger.FiscalYears", "selectOnFocus": true, "store": new Lino.ComplexRemoteComboStore({ "proxy": new Ext.data.HttpProxy({ "method": "GET", "url": "/choices/ledger/Movements/year" }) }) });
    var partner204 = new Lino.RemoteComboFieldElement({ "allowBlank": true, "anchor": "-20", "autoHeight": true, "detail_action": "Lino.contacts.Partners.detail", "emptyText": "Select a Partner...", "fieldLabel": "Partner", "hiddenName": "partnerHidden", "listeners": { "render": Lino.quicktip_renderer("Partner","(ledger.Movements.partner) ") }, "name": "partner", "pageSize": 20, "preferred_width": 20, "related_actor_id": "contacts.Partners", "selectOnFocus": true, "store": new Lino.ComplexRemoteComboStore({ "proxy": new Ext.data.HttpProxy({ "method": "GET", "url": "/choices/ledger/Movements/partner" }) }) });
    var account205 = new Lino.RemoteComboFieldElement({ "allowBlank": true, "anchor": "-20", "autoHeight": true, "detail_action": "Lino.ledger.Accounts.detail", "emptyText": "Select a Account...", "fieldLabel": "Account", "hiddenName": "accountHidden", "insert_action": "Lino.ledger.Accounts.insert", "listeners": { "render": Lino.quicktip_renderer("Account","(ledger.Movements.account) ") }, "name": "account", "pageSize": 20, "related_actor_id": "ledger.Accounts", "selectOnFocus": true, "store": new Lino.ComplexRemoteComboStore({ "proxy": new Ext.data.HttpProxy({ "method": "GET", "url": "/choices/ledger/Movements/account" }) }) });
    var main_2_panel206 = new Ext.Panel({ "anchor": "-20", "autoHeight": true, "autoScroll": false, "border": false, "frame": false, "hideCheckBoxLabels": true, "items": [ { "autoHeight": true, "flex": 26, "items": journal_group201, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 18, "items": journal202, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 18, "items": year203, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 18, "items": partner204, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 18, "items": account205, "labelAlign": "top", "layout": "form", "xtype": "panel" } ], "labelAlign": "top", "labelWidth": 0, "layout": "hbox", "layoutConfig": { "align": "stretchmax" } });
    this.items = [ main_1_panel195, main_2_panel206 ];
    this.fields = [ start_period190, end_period191, start_date192, end_date193, cleared194, journal_group201, journal202, year203, partner204, account205 ];
    Lino.ledger.Movements.ParamsPanel.superclass.initComponent.call(this);
  }
});


Lino.ledger.FiscalYears.ParamsPanel = Ext.extend(Ext.form.FormPanel, {
  hideCheckBoxLabels: true,
  autoHeight: true,
  layoutConfig: { "align": "stretchmax" },
  labelAlign: "top",
  autoScroll: false,
  labelWidth: 0,
  frame: true,
  bodyBorder: false,
  border: false,
  layout: 'hbox',
  autoHeight: true,
  region: 'north',
  initComponent : function() {
    var start_date213 = new Lino.DateField({ "allowBlank": true, "anchor": "-20", "autoHeight": true, "fieldLabel": "<span style=\"border-bottom: 1px dotted #000000;\">Period from</span>", "listeners": { "render": Lino.quicktip_renderer("Period from","(ledger.FiscalYears.start_date) Start date of observed period") }, "name": "start_date", "selectOnFocus": true, "value": null });
    var end_date214 = new Lino.DateField({ "allowBlank": true, "anchor": "-20", "autoHeight": true, "fieldLabel": "<span style=\"border-bottom: 1px dotted #000000;\">until</span>", "listeners": { "render": Lino.quicktip_renderer("until","(ledger.FiscalYears.end_date) End date of observed period") }, "name": "end_date", "selectOnFocus": true, "value": null });
    this.items = [ { "autoHeight": true, "flex": 50, "items": start_date213, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 50, "items": end_date214, "labelAlign": "top", "layout": "form", "xtype": "panel" } ];
    this.fields = [ start_date213, end_date214 ];
    Lino.ledger.FiscalYears.ParamsPanel.superclass.initComponent.call(this);
  }
});


Lino.contacts.Persons.ParamsPanel = Ext.extend(Ext.form.FormPanel, {
  hideCheckBoxLabels: true,
  autoHeight: true,
  layoutConfig: { "align": "stretchmax" },
  labelAlign: "top",
  autoScroll: false,
  labelWidth: 0,
  frame: true,
  bodyBorder: false,
  border: false,
  layout: 'hbox',
  autoHeight: true,
  region: 'north',
  initComponent : function() {
    var observed_event218 = new Lino.ChoicesFieldElement({ "allowBlank": true, "anchor": "-20", "autoHeight": true, "fieldLabel": "<span style=\"border-bottom: 1px dotted #000000;\">Observed event</span>", "forceSelection": true, "hiddenName": "observed_eventHidden", "listeners": { "render": Lino.quicktip_renderer("Observed event","(contacts.Persons.observed_event) Extended filter criteria") }, "name": "observed_event", "selectOnFocus": true, "store": [['','<br>']].concat(Lino.contacts.PartnerEvents) });
    var start_date219 = new Lino.DateField({ "allowBlank": true, "anchor": "-20", "autoHeight": true, "fieldLabel": "<span style=\"border-bottom: 1px dotted #000000;\">Period from</span>", "listeners": { "render": Lino.quicktip_renderer("Period from","(contacts.Persons.start_date) Start date of observed period") }, "name": "start_date", "selectOnFocus": true, "value": null });
    var end_date220 = new Lino.DateField({ "allowBlank": true, "anchor": "-20", "autoHeight": true, "fieldLabel": "<span style=\"border-bottom: 1px dotted #000000;\">until</span>", "listeners": { "render": Lino.quicktip_renderer("until","(contacts.Persons.end_date) End date of observed period") }, "name": "end_date", "selectOnFocus": true, "value": null });
    var company221 = new Lino.RemoteComboFieldElement({ "allowBlank": true, "anchor": "-20", "autoHeight": true, "detail_action": "Lino.contacts.Companies.detail", "emptyText": "Select a Organization...", "fieldLabel": "Organization", "hiddenName": "companyHidden", "insert_action": "Lino.contacts.Companies.insert", "listeners": { "render": Lino.quicktip_renderer("Organization","(contacts.Persons.company) ") }, "name": "company", "pageSize": 20, "preferred_width": 20, "related_actor_id": "contacts.Companies", "selectOnFocus": true, "store": new Lino.ComplexRemoteComboStore({ "proxy": new Ext.data.HttpProxy({ "method": "GET", "url": "/choices/contacts/Persons/company" }) }) });
    var function222 = new Lino.RemoteComboFieldElement({ "allowBlank": true, "anchor": "-20", "autoHeight": true, "emptyText": "Select a Function...", "fieldLabel": "Function", "hiddenName": "functionHidden", "listeners": { "render": Lino.quicktip_renderer("Function","(contacts.Persons.function) ") }, "name": "function", "pageSize": 20, "related_actor_id": "contacts.RoleTypes", "selectOnFocus": true, "store": new Lino.ComplexRemoteComboStore({ "proxy": new Ext.data.HttpProxy({ "method": "GET", "url": "/choices/contacts/Persons/function" }) }) });
    var topic223 = new Lino.RemoteComboFieldElement({ "allowBlank": true, "anchor": "-20", "autoHeight": true, "detail_action": "Lino.topics.Topics.detail", "emptyText": "Select a Topic...", "fieldLabel": "Topic", "hiddenName": "topicHidden", "insert_action": "Lino.topics.Topics.insert", "listeners": { "render": Lino.quicktip_renderer("Topic","(contacts.Persons.topic) ") }, "name": "topic", "pageSize": 20, "related_actor_id": "topics.Topics", "selectOnFocus": true, "store": new Lino.ComplexRemoteComboStore({ "proxy": new Ext.data.HttpProxy({ "method": "GET", "url": "/choices/contacts/Persons/topic" }) }) });
    this.items = [ { "autoHeight": true, "flex": 19, "items": observed_event218, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 12, "items": start_date219, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 12, "items": end_date220, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 18, "items": company221, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 18, "items": function222, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 18, "items": topic223, "labelAlign": "top", "layout": "form", "xtype": "panel" } ];
    this.fields = [ observed_event218, start_date219, end_date220, company221, function222, topic223 ];
    Lino.contacts.Persons.ParamsPanel.superclass.initComponent.call(this);
  }
});


Lino.ledger.PartnerVouchers.ParamsPanel = Ext.extend(Ext.form.FormPanel, {
  hideCheckBoxLabels: true,
  autoHeight: true,
  layoutConfig: { "align": "stretchmax" },
  labelAlign: "top",
  autoScroll: false,
  labelWidth: 0,
  frame: true,
  bodyBorder: false,
  border: false,
  layout: 'hbox',
  autoHeight: true,
  region: 'north',
  initComponent : function() {
    var partner231 = new Lino.RemoteComboFieldElement({ "allowBlank": true, "anchor": "-20", "autoHeight": true, "detail_action": "Lino.contacts.Partners.detail", "emptyText": "Select a Partner...", "fieldLabel": "Partner", "hiddenName": "partnerHidden", "listeners": { "render": Lino.quicktip_renderer("Partner","(ledger.PartnerVouchers.partner) ") }, "name": "partner", "pageSize": 20, "preferred_width": 20, "related_actor_id": "contacts.Partners", "selectOnFocus": true, "store": new Lino.ComplexRemoteComboStore({ "proxy": new Ext.data.HttpProxy({ "method": "GET", "url": "/choices/ledger/PartnerVouchers/partner" }) }) });
    var state232 = new Lino.ChoicesFieldElement({ "allowBlank": true, "anchor": "-20", "autoHeight": true, "fieldLabel": "Voucher state", "forceSelection": true, "hiddenName": "stateHidden", "listeners": { "render": Lino.quicktip_renderer("Voucher state","(ledger.PartnerVouchers.state) ") }, "name": "state", "selectOnFocus": true, "store": [['','<br>']].concat(Lino.ledger.VoucherStates) });
    var journal233 = new Lino.RemoteComboFieldElement({ "allowBlank": true, "anchor": "-20", "autoHeight": true, "can_create_choice": false, "detail_action": "Lino.ledger.Journals.detail", "emptyText": "Select a Journal...", "fieldLabel": "Journal", "hiddenName": "journalHidden", "insert_action": "Lino.ledger.Journals.insert", "listeners": { "render": Lino.quicktip_renderer("Journal","(ledger.PartnerVouchers.journal) ") }, "name": "journal", "pageSize": 20, "related_actor_id": "ledger.Journals", "selectOnFocus": true, "store": new Lino.ComplexRemoteComboStore({ "proxy": new Ext.data.HttpProxy({ "method": "GET", "url": "/choices/ledger/PartnerVouchers/journal" }) }) });
    var start_period234 = new Lino.RemoteComboFieldElement({ "allowBlank": true, "anchor": "-20", "autoHeight": true, "emptyText": "Select a Accounting period...", "fieldLabel": "<span style=\"border-bottom: 1px dotted #000000;\">Period from</span>", "hiddenName": "start_periodHidden", "listeners": { "render": Lino.quicktip_renderer("Period from","(ledger.PartnerVouchers.start_period) Start of observed period range.") }, "name": "start_period", "pageSize": 20, "preferred_width": 10, "related_actor_id": "ledger.AccountingPeriods", "selectOnFocus": true, "store": new Lino.ComplexRemoteComboStore({ "proxy": new Ext.data.HttpProxy({ "method": "GET", "url": "/choices/ledger/PartnerVouchers/start_period" }) }) });
    var end_period235 = new Lino.RemoteComboFieldElement({ "allowBlank": true, "anchor": "-20", "autoHeight": true, "emptyText": "Select a Accounting period...", "fieldLabel": "<span style=\"border-bottom: 1px dotted #000000;\">Period until</span>", "hiddenName": "end_periodHidden", "listeners": { "render": Lino.quicktip_renderer("Period until","(ledger.PartnerVouchers.end_period) Optional end of observed period range. Leave empty to observe only the start period.") }, "name": "end_period", "pageSize": 20, "preferred_width": 10, "related_actor_id": "ledger.AccountingPeriods", "selectOnFocus": true, "store": new Lino.ComplexRemoteComboStore({ "proxy": new Ext.data.HttpProxy({ "method": "GET", "url": "/choices/ledger/PartnerVouchers/end_period" }) }) });
    var cleared236 = new Lino.ChoicesFieldElement({ "allowBlank": true, "anchor": "-20", "autoHeight": true, "fieldLabel": "Show cleared vouchers", "forceSelection": true, "hiddenName": "clearedHidden", "listeners": { "render": Lino.quicktip_renderer("Show cleared vouchers","(ledger.PartnerVouchers.cleared) ") }, "name": "cleared", "selectOnFocus": true, "store": [['','<br>']].concat(Lino.system.YesNo) });
    this.items = [ { "autoHeight": true, "flex": 18, "items": partner231, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 12, "items": state232, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 18, "items": journal233, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 18, "items": start_period234, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 18, "items": end_period235, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 13, "items": cleared236, "labelAlign": "top", "layout": "form", "xtype": "panel" } ];
    this.fields = [ partner231, state232, journal233, start_period234, end_period235, cleared236 ];
    Lino.ledger.PartnerVouchers.ParamsPanel.superclass.initComponent.call(this);
  }
});


Lino.ledger.Debtors.ParamsPanel = Ext.extend(Ext.form.FormPanel, {
  hideCheckBoxLabels: true,
  labelAlign: "top",
  autoScroll: false,
  labelWidth: 0,
  frame: true,
  bodyBorder: false,
  border: false,
  layout: 'form',
  autoHeight: true,
  region: 'north',
  initComponent : function() {
    var today244 = new Lino.DateField({ "allowBlank": true, "anchor": "-20", "autoHeight": true, "fieldLabel": "<span style=\"border-bottom: 1px dotted #000000;\">Situation on</span>", "listeners": { "render": Lino.quicktip_renderer("Situation on","(ledger.Debtors.today) Date of observation") }, "name": "today", "selectOnFocus": true });
    this.items = [ { "autoHeight": true, "items": today244, "labelAlign": "top", "layout": "form", "xtype": "panel" } ];
    this.fields = [ today244 ];
    Lino.ledger.Debtors.ParamsPanel.superclass.initComponent.call(this);
  }
});


Lino.contacts.Partners.ParamsPanel = Ext.extend(Ext.form.FormPanel, {
  hideCheckBoxLabels: true,
  autoHeight: true,
  layoutConfig: { "align": "stretchmax" },
  labelAlign: "top",
  autoScroll: false,
  labelWidth: 0,
  frame: true,
  bodyBorder: false,
  border: false,
  layout: 'hbox',
  autoHeight: true,
  region: 'north',
  initComponent : function() {
    var observed_event247 = new Lino.ChoicesFieldElement({ "allowBlank": true, "anchor": "-20", "autoHeight": true, "fieldLabel": "<span style=\"border-bottom: 1px dotted #000000;\">Observed event</span>", "forceSelection": true, "hiddenName": "observed_eventHidden", "listeners": { "render": Lino.quicktip_renderer("Observed event","(contacts.Partners.observed_event) Extended filter criteria") }, "name": "observed_event", "selectOnFocus": true, "store": [['','<br>']].concat(Lino.contacts.PartnerEvents) });
    var start_date248 = new Lino.DateField({ "allowBlank": true, "anchor": "-20", "autoHeight": true, "fieldLabel": "<span style=\"border-bottom: 1px dotted #000000;\">Period from</span>", "listeners": { "render": Lino.quicktip_renderer("Period from","(contacts.Partners.start_date) Start date of observed period") }, "name": "start_date", "selectOnFocus": true, "value": null });
    var end_date249 = new Lino.DateField({ "allowBlank": true, "anchor": "-20", "autoHeight": true, "fieldLabel": "<span style=\"border-bottom: 1px dotted #000000;\">until</span>", "listeners": { "render": Lino.quicktip_renderer("until","(contacts.Partners.end_date) End date of observed period") }, "name": "end_date", "selectOnFocus": true, "value": null });
    this.items = [ { "autoHeight": true, "flex": 44, "items": observed_event247, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 27, "items": start_date248, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 27, "items": end_date249, "labelAlign": "top", "layout": "form", "xtype": "panel" } ];
    this.fields = [ observed_event247, start_date248, end_date249 ];
    Lino.contacts.Partners.ParamsPanel.superclass.initComponent.call(this);
  }
});


Lino.ledger.MyMovements.ParamsPanel = Ext.extend(Ext.form.FormPanel, {
  hideCheckBoxLabels: true,
  labelAlign: "top",
  autoScroll: false,
  frame: true,
  bodyBorder: false,
  border: false,
  layout: 'form',
  autoHeight: true,
  region: 'north',
  initComponent : function() {
    var start_period254 = new Lino.RemoteComboFieldElement({ "allowBlank": true, "anchor": "-20", "autoHeight": true, "emptyText": "Select a Accounting period...", "fieldLabel": "<span style=\"border-bottom: 1px dotted #000000;\">Period from</span>", "hiddenName": "start_periodHidden", "listeners": { "render": Lino.quicktip_renderer("Period from","(ledger.MyMovements.start_period) Start of observed period range.") }, "name": "start_period", "pageSize": 20, "preferred_width": 10, "related_actor_id": "ledger.AccountingPeriods", "selectOnFocus": true, "store": new Lino.ComplexRemoteComboStore({ "proxy": new Ext.data.HttpProxy({ "method": "GET", "url": "/choices/ledger/MyMovements/start_period" }) }) });
    var end_period255 = new Lino.RemoteComboFieldElement({ "allowBlank": true, "anchor": "-20", "autoHeight": true, "emptyText": "Select a Accounting period...", "fieldLabel": "<span style=\"border-bottom: 1px dotted #000000;\">Period until</span>", "hiddenName": "end_periodHidden", "listeners": { "render": Lino.quicktip_renderer("Period until","(ledger.MyMovements.end_period) Optional end of observed period range. Leave empty to observe only the start period.") }, "name": "end_period", "pageSize": 20, "preferred_width": 10, "related_actor_id": "ledger.AccountingPeriods", "selectOnFocus": true, "store": new Lino.ComplexRemoteComboStore({ "proxy": new Ext.data.HttpProxy({ "method": "GET", "url": "/choices/ledger/MyMovements/end_period" }) }) });
    var start_date256 = new Lino.DateField({ "allowBlank": true, "anchor": "-20", "autoHeight": true, "fieldLabel": "<span style=\"border-bottom: 1px dotted #000000;\">Date from</span>", "listeners": { "render": Lino.quicktip_renderer("Date from","(ledger.MyMovements.start_date) Start of observed date range") }, "name": "start_date", "selectOnFocus": true, "value": null });
    var end_date257 = new Lino.DateField({ "allowBlank": true, "anchor": "-20", "autoHeight": true, "fieldLabel": "<span style=\"border-bottom: 1px dotted #000000;\">until</span>", "listeners": { "render": Lino.quicktip_renderer("until","(ledger.MyMovements.end_date) End of observed date range") }, "name": "end_date", "selectOnFocus": true, "value": null });
    var cleared258 = new Lino.ChoicesFieldElement({ "allowBlank": true, "anchor": "-20", "autoHeight": true, "fieldLabel": "Show cleared movements", "forceSelection": true, "hiddenName": "clearedHidden", "listeners": { "render": Lino.quicktip_renderer("Show cleared movements","(ledger.MyMovements.cleared) ") }, "name": "cleared", "selectOnFocus": true, "store": [['','<br>']].concat(Lino.system.YesNo) });
    var main_1_panel259 = new Ext.Panel({ "autoHeight": true, "autoScroll": false, "border": false, "frame": false, "hideCheckBoxLabels": true, "items": [ { "autoHeight": true, "flex": 24, "items": start_period254, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 24, "items": end_period255, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 16, "items": start_date256, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 16, "items": end_date257, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 18, "items": cleared258, "labelAlign": "top", "layout": "form", "xtype": "panel" } ], "labelAlign": "top", "labelWidth": 0, "layout": "hbox", "layoutConfig": { "align": "stretchmax" } });
    this.items = [ main_1_panel259 ];
    this.fields = [ start_period254, end_period255, start_date256, end_date257, cleared258 ];
    Lino.ledger.MyMovements.ParamsPanel.superclass.initComponent.call(this);
  }
});


Lino.excerpts.Excerpts.ParamsPanel = Ext.extend(Ext.form.FormPanel, {
  hideCheckBoxLabels: true,
  autoHeight: true,
  labelAlign: "top",
  autoScroll: false,
  frame: true,
  bodyBorder: false,
  border: false,
  layout: 'form',
  autoHeight: true,
  region: 'north',
  initComponent : function() {
    var start_date266 = new Lino.DateField({ "allowBlank": true, "anchor": "-20", "autoHeight": true, "fieldLabel": "<span style=\"border-bottom: 1px dotted #000000;\">Date from</span>", "listeners": { "render": Lino.quicktip_renderer("Date from","(excerpts.Excerpts.start_date) Start of observed date range") }, "name": "start_date", "selectOnFocus": true, "value": null });
    var end_date267 = new Lino.DateField({ "allowBlank": true, "anchor": "-20", "autoHeight": true, "fieldLabel": "<span style=\"border-bottom: 1px dotted #000000;\">until</span>", "listeners": { "render": Lino.quicktip_renderer("until","(excerpts.Excerpts.end_date) End of observed date range") }, "name": "end_date", "selectOnFocus": true, "value": null });
    var pcertifying268 = new Lino.ChoicesFieldElement({ "allowBlank": true, "anchor": "-20", "autoHeight": true, "fieldLabel": "Certifying excerpts", "forceSelection": true, "hiddenName": "pcertifyingHidden", "listeners": { "render": Lino.quicktip_renderer("Certifying excerpts","(excerpts.Excerpts.pcertifying) ") }, "name": "pcertifying", "selectOnFocus": true, "store": [['','<br>']].concat(Lino.system.YesNo) });
    var main_1_panel269 = new Ext.Panel({ "anchor": "-20", "autoHeight": true, "autoScroll": false, "border": false, "frame": false, "hideCheckBoxLabels": true, "items": [ { "autoHeight": true, "flex": 31, "items": start_date266, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 31, "items": end_date267, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 36, "items": pcertifying268, "labelAlign": "top", "layout": "form", "xtype": "panel" } ], "labelAlign": "top", "labelWidth": 0, "layout": "hbox", "layoutConfig": { "align": "stretchmax" } });
    var user273 = new Lino.RemoteComboFieldElement({ "allowBlank": true, "anchor": "-20", "autoHeight": true, "detail_action": "Lino.users.AllUsers.detail", "emptyText": "Select a User...", "fieldLabel": "<span style=\"border-bottom: 1px dotted #000000;\">Author</span>", "hiddenName": "userHidden", "insert_action": "Lino.users.AllUsers.insert", "listeners": { "render": Lino.quicktip_renderer("Author","(excerpts.Excerpts.user) The author of this object.\nA pointer to lino.modlib.users.models.User.") }, "name": "user", "pageSize": 20, "preferred_width": 15, "related_actor_id": "users.AllUsers", "selectOnFocus": true, "store": new Lino.ComplexRemoteComboStore({ "proxy": new Ext.data.HttpProxy({ "method": "GET", "url": "/choices/excerpts/Excerpts/user" }) }), "value": null });
    var excerpt_type274 = new Lino.RemoteComboFieldElement({ "allowBlank": true, "anchor": "-20", "autoHeight": true, "can_create_choice": false, "detail_action": "Lino.excerpts.ExcerptTypes.detail", "emptyText": "Select a Excerpt Type...", "fieldLabel": "Excerpt Type", "hiddenName": "excerpt_typeHidden", "insert_action": "Lino.excerpts.ExcerptTypes.insert", "listeners": { "render": Lino.quicktip_renderer("Excerpt Type","(excerpts.Excerpts.excerpt_type) ") }, "name": "excerpt_type", "pageSize": 20, "related_actor_id": "excerpts.ExcerptTypes", "selectOnFocus": true, "store": new Lino.ComplexRemoteComboStore({ "proxy": new Ext.data.HttpProxy({ "method": "GET", "url": "/choices/excerpts/Excerpts/excerpt_type" }) }) });
    var main_2_panel275 = new Ext.Panel({ "anchor": "-20", "autoHeight": true, "autoScroll": false, "border": false, "frame": false, "hideCheckBoxLabels": true, "items": [ { "autoHeight": true, "flex": 50, "items": user273, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 50, "items": excerpt_type274, "labelAlign": "top", "layout": "form", "xtype": "panel" } ], "labelAlign": "top", "labelWidth": 0, "layout": "hbox", "layoutConfig": { "align": "stretchmax" } });
    this.items = [ main_1_panel269, main_2_panel275 ];
    this.fields = [ start_date266, end_date267, pcertifying268, user273, excerpt_type274 ];
    Lino.excerpts.Excerpts.ParamsPanel.superclass.initComponent.call(this);
  }
});


Lino.tinymce.TextFieldTemplates.ParamsPanel = Ext.extend(Ext.form.FormPanel, {
  hideCheckBoxLabels: true,
  labelAlign: "top",
  autoScroll: false,
  labelWidth: 0,
  frame: true,
  bodyBorder: false,
  border: false,
  layout: 'form',
  autoHeight: true,
  region: 'north',
  initComponent : function() {
    var user279 = new Lino.RemoteComboFieldElement({ "allowBlank": true, "anchor": "-20", "autoHeight": true, "detail_action": "Lino.users.AllUsers.detail", "emptyText": "Select a User...", "fieldLabel": "<span style=\"border-bottom: 1px dotted #000000;\">Author</span>", "hiddenName": "userHidden", "insert_action": "Lino.users.AllUsers.insert", "listeners": { "render": Lino.quicktip_renderer("Author","(tinymce.TextFieldTemplates.user) The author of this object.\nA pointer to lino.modlib.users.models.User.") }, "name": "user", "pageSize": 20, "preferred_width": 15, "related_actor_id": "users.AllUsers", "selectOnFocus": true, "store": new Lino.ComplexRemoteComboStore({ "proxy": new Ext.data.HttpProxy({ "method": "GET", "url": "/choices/tinymce/TextFieldTemplates/user" }) }), "value": null });
    this.items = [ { "autoHeight": true, "items": user279, "labelAlign": "top", "layout": "form", "xtype": "panel" } ];
    this.fields = [ user279 ];
    Lino.tinymce.TextFieldTemplates.ParamsPanel.superclass.initComponent.call(this);
  }
});


Lino.calview.WeeklySlave.ParamsPanel = Ext.extend(Ext.form.FormPanel, {
  hideCheckBoxLabels: true,
  autoHeight: true,
  layoutConfig: { "align": "stretchmax" },
  labelAlign: "top",
  autoScroll: false,
  labelWidth: 0,
  frame: true,
  bodyBorder: false,
  border: false,
  layout: 'hbox',
  autoHeight: true,
  region: 'north',
  initComponent : function() {
    var user282 = new Lino.RemoteComboFieldElement({ "allowBlank": true, "anchor": "-20", "autoHeight": true, "detail_action": "Lino.users.AllUsers.detail", "emptyText": "Select a User...", "fieldLabel": "<span style=\"border-bottom: 1px dotted #000000;\">Responsible user</span>", "hiddenName": "userHidden", "insert_action": "Lino.users.AllUsers.insert", "listeners": { "render": Lino.quicktip_renderer("Responsible user","(calview.WeeklySlave.user) The responsible user.") }, "name": "user", "pageSize": 20, "preferred_width": 15, "related_actor_id": "users.AllUsers", "selectOnFocus": true, "store": new Lino.ComplexRemoteComboStore({ "proxy": new Ext.data.HttpProxy({ "method": "GET", "url": "/choices/calview/WeeklySlave/user" }) }), "value": null });
    var assigned_to283 = new Lino.RemoteComboFieldElement({ "allowBlank": true, "anchor": "-20", "autoHeight": true, "detail_action": "Lino.users.AllUsers.detail", "emptyText": "Select a User...", "fieldLabel": "<span style=\"border-bottom: 1px dotted #000000;\">Assigned to</span>", "hiddenName": "assigned_toHidden", "insert_action": "Lino.users.AllUsers.insert", "listeners": { "render": Lino.quicktip_renderer("Assigned to","(calview.WeeklySlave.assigned_to) Another user who is expected to take responsibility for this\nentry.") }, "name": "assigned_to", "pageSize": 20, "preferred_width": 15, "related_actor_id": "users.AllUsers", "selectOnFocus": true, "store": new Lino.ComplexRemoteComboStore({ "proxy": new Ext.data.HttpProxy({ "method": "GET", "url": "/choices/calview/WeeklySlave/assigned_to" }) }), "value": null });
    var event_type284 = new Lino.RemoteComboFieldElement({ "allowBlank": true, "anchor": "-20", "autoHeight": true, "detail_action": "Lino.cal.EventTypes.detail", "emptyText": "Select a Calendar entry type...", "fieldLabel": "<span style=\"border-bottom: 1px dotted #000000;\">Calendar entry type</span>", "hiddenName": "event_typeHidden", "insert_action": "Lino.cal.EventTypes.insert", "listeners": { "render": Lino.quicktip_renderer("Calendar entry type","(calview.WeeklySlave.event_type) The type of this calendar entry.") }, "name": "event_type", "pageSize": 20, "related_actor_id": "cal.EventTypes", "selectOnFocus": true, "store": new Lino.ComplexRemoteComboStore({ "proxy": new Ext.data.HttpProxy({ "method": "GET", "url": "/choices/calview/WeeklySlave/event_type" }) }), "value": null });
    var room285 = new Lino.RemoteComboFieldElement({ "allowBlank": true, "anchor": "-20", "autoHeight": true, "detail_action": "Lino.cal.Rooms.detail", "emptyText": "Select a Room...", "fieldLabel": "Room", "hiddenName": "roomHidden", "insert_action": "Lino.cal.Rooms.insert", "listeners": { "render": Lino.quicktip_renderer("Room","(calview.WeeklySlave.room) ") }, "name": "room", "pageSize": 20, "related_actor_id": "cal.Rooms", "selectOnFocus": true, "store": new Lino.ComplexRemoteComboStore({ "proxy": new Ext.data.HttpProxy({ "method": "GET", "url": "/choices/calview/WeeklySlave/room" }) }), "value": null });
    var state286 = new Lino.ChoicesFieldElement({ "allowBlank": true, "anchor": "-20", "autoHeight": true, "fieldLabel": "<span style=\"border-bottom: 1px dotted #000000;\">State</span>", "forceSelection": true, "hiddenName": "stateHidden", "listeners": { "render": Lino.quicktip_renderer("State","(calview.WeeklySlave.state) The state of this entry. The state can change according to\nrules defined by the workflow.") }, "name": "state", "selectOnFocus": true, "store": [['','<br>']].concat(Lino.cal.EntryStates), "value": null });
    var show_appointments287 = new Lino.ChoicesFieldElement({ "allowBlank": true, "anchor": "-20", "autoHeight": true, "fieldLabel": "Appointments", "forceSelection": true, "hiddenName": "show_appointmentsHidden", "listeners": { "render": Lino.quicktip_renderer("Appointments","(calview.WeeklySlave.show_appointments) ") }, "name": "show_appointments", "selectOnFocus": true, "store": [['','<br>']].concat(Lino.system.YesNo) });
    this.items = [ { "autoHeight": true, "flex": 18, "items": user282, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 18, "items": assigned_to283, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 18, "items": event_type284, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 18, "items": room285, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 12, "items": state286, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 13, "items": show_appointments287, "labelAlign": "top", "layout": "form", "xtype": "panel" } ];
    this.fields = [ user282, assigned_to283, event_type284, room285, state286, show_appointments287 ];
    Lino.calview.WeeklySlave.ParamsPanel.superclass.initComponent.call(this);
  }
});


Lino.cal.Guests.ParamsPanel = Ext.extend(Ext.form.FormPanel, {
  hideCheckBoxLabels: true,
  autoHeight: true,
  labelAlign: "top",
  autoScroll: false,
  labelWidth: 0,
  frame: true,
  bodyBorder: false,
  border: false,
  layout: 'form',
  autoHeight: true,
  region: 'north',
  initComponent : function() {
    var start_date295 = new Lino.DateField({ "allowBlank": true, "anchor": "-20", "autoHeight": true, "fieldLabel": "<span style=\"border-bottom: 1px dotted #000000;\">Date from</span>", "listeners": { "render": Lino.quicktip_renderer("Date from","(cal.Guests.start_date) Start of observed date range") }, "name": "start_date", "selectOnFocus": true, "value": null });
    var end_date296 = new Lino.DateField({ "allowBlank": true, "anchor": "-20", "autoHeight": true, "fieldLabel": "<span style=\"border-bottom: 1px dotted #000000;\">until</span>", "listeners": { "render": Lino.quicktip_renderer("until","(cal.Guests.end_date) End of observed date range") }, "name": "end_date", "selectOnFocus": true, "value": null });
    var user297 = new Lino.RemoteComboFieldElement({ "allowBlank": true, "anchor": "-20", "autoHeight": true, "detail_action": "Lino.users.AllUsers.detail", "emptyText": "Select a User...", "fieldLabel": "<span style=\"border-bottom: 1px dotted #000000;\">Responsible user</span>", "hiddenName": "userHidden", "insert_action": "Lino.users.AllUsers.insert", "listeners": { "render": Lino.quicktip_renderer("Responsible user","(cal.Guests.user) Only rows managed by this user.") }, "name": "user", "pageSize": 20, "preferred_width": 15, "related_actor_id": "users.AllUsers", "selectOnFocus": true, "store": new Lino.ComplexRemoteComboStore({ "proxy": new Ext.data.HttpProxy({ "method": "GET", "url": "/choices/cal/Guests/user" }) }) });
    var event_state298 = new Lino.ChoicesFieldElement({ "allowBlank": true, "anchor": "-20", "autoHeight": true, "fieldLabel": "<span style=\"border-bottom: 1px dotted #000000;\">Event state</span>", "forceSelection": true, "hiddenName": "event_stateHidden", "listeners": { "render": Lino.quicktip_renderer("Event state","(cal.Guests.event_state) Only rows on calendar entries having this state.") }, "name": "event_state", "selectOnFocus": true, "store": [['','<br>']].concat(Lino.cal.EntryStates) });
    var guest_state299 = new Lino.ChoicesFieldElement({ "allowBlank": true, "anchor": "-20", "autoHeight": true, "fieldLabel": "<span style=\"border-bottom: 1px dotted #000000;\">Guest state</span>", "forceSelection": true, "hiddenName": "guest_stateHidden", "listeners": { "render": Lino.quicktip_renderer("Guest state","(cal.Guests.guest_state) Only rows having this guest state.") }, "name": "guest_state", "selectOnFocus": true, "store": [['','<br>']].concat(Lino.cal.GuestStates) });
    var main_1_panel300 = new Ext.Panel({ "anchor": "-20", "autoHeight": true, "autoScroll": false, "border": false, "frame": false, "hideCheckBoxLabels": true, "items": [ { "autoHeight": true, "flex": 18, "items": start_date295, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 18, "items": end_date296, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 28, "items": user297, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 18, "items": event_state298, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 14, "items": guest_state299, "labelAlign": "top", "layout": "form", "xtype": "panel" } ], "labelAlign": "top", "labelWidth": 0, "layout": "hbox", "layoutConfig": { "align": "stretchmax" } });
    var partner306 = new Lino.RemoteComboFieldElement({ "allowBlank": true, "anchor": "-20", "autoHeight": true, "can_create_choice": true, "detail_action": "Lino.contacts.Persons.detail", "emptyText": "Select a Person...", "fieldLabel": "Person", "forceSelection": false, "hiddenName": "partnerHidden", "insert_action": "Lino.contacts.Persons.insert", "listeners": { "render": Lino.quicktip_renderer("Person","(cal.Guests.partner) ") }, "name": "partner", "pageSize": 20, "preferred_width": 20, "related_actor_id": "contacts.Persons", "selectOnFocus": true, "store": new Lino.ComplexRemoteComboStore({ "proxy": new Ext.data.HttpProxy({ "method": "GET", "url": "/choices/cal/Guests/partner" }) }) });
    this.items = [ main_1_panel300, { "anchor": "-20", "autoHeight": true, "items": partner306, "labelAlign": "top", "layout": "form", "xtype": "panel" } ];
    this.fields = [ start_date295, end_date296, user297, event_state298, guest_state299, partner306 ];
    Lino.cal.Guests.ParamsPanel.superclass.initComponent.call(this);
  }
});


Lino.ledger.GeneralAccountBalances.ParamsPanel = Ext.extend(Ext.form.FormPanel, {
  hideCheckBoxLabels: true,
  autoHeight: true,
  layoutConfig: { "align": "stretchmax" },
  labelAlign: "top",
  autoScroll: false,
  labelWidth: 0,
  frame: true,
  bodyBorder: false,
  border: false,
  layout: 'hbox',
  autoHeight: true,
  region: 'north',
  initComponent : function() {
    var start_period309 = new Lino.RemoteComboFieldElement({ "allowBlank": true, "anchor": "-20", "autoHeight": true, "emptyText": "Select a Accounting period...", "fieldLabel": "<span style=\"border-bottom: 1px dotted #000000;\">Period from</span>", "hiddenName": "start_periodHidden", "listeners": { "render": Lino.quicktip_renderer("Period from","(ledger.GeneralAccountBalances.start_period) Start of observed period range") }, "name": "start_period", "pageSize": 20, "preferred_width": 10, "related_actor_id": "ledger.AccountingPeriods", "selectOnFocus": true, "store": new Lino.ComplexRemoteComboStore({ "proxy": new Ext.data.HttpProxy({ "method": "GET", "url": "/choices/ledger/GeneralAccountBalances/start_period" }) }) });
    var end_period310 = new Lino.RemoteComboFieldElement({ "allowBlank": true, "anchor": "-20", "autoHeight": true, "emptyText": "Select a Accounting period...", "fieldLabel": "<span style=\"border-bottom: 1px dotted #000000;\">until</span>", "hiddenName": "end_periodHidden", "listeners": { "render": Lino.quicktip_renderer("until","(ledger.GeneralAccountBalances.end_period) Optional end of observed period range. Leave empty to consider only the Start period.") }, "name": "end_period", "pageSize": 20, "preferred_width": 10, "related_actor_id": "ledger.AccountingPeriods", "selectOnFocus": true, "store": new Lino.ComplexRemoteComboStore({ "proxy": new Ext.data.HttpProxy({ "method": "GET", "url": "/choices/ledger/GeneralAccountBalances/end_period" }) }) });
    this.items = [ { "autoHeight": true, "flex": 50, "items": start_period309, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 50, "items": end_period310, "labelAlign": "top", "layout": "form", "xtype": "panel" } ];
    this.fields = [ start_period309, end_period310 ];
    Lino.ledger.GeneralAccountBalances.ParamsPanel.superclass.initComponent.call(this);
  }
});


Lino.cal.Tasks.ParamsPanel = Ext.extend(Ext.form.FormPanel, {
  hideCheckBoxLabels: true,
  labelAlign: "top",
  autoScroll: false,
  frame: true,
  bodyBorder: false,
  border: false,
  layout: 'form',
  autoHeight: true,
  region: 'north',
  initComponent : function() {
    var start_date314 = new Lino.DateField({ "allowBlank": true, "anchor": "-20", "autoHeight": true, "fieldLabel": "<span style=\"border-bottom: 1px dotted #000000;\">Period from</span>", "listeners": { "render": Lino.quicktip_renderer("Period from","(cal.Tasks.start_date) Start date of observed period") }, "name": "start_date", "selectOnFocus": true, "value": null });
    var end_date315 = new Lino.DateField({ "allowBlank": true, "anchor": "-20", "autoHeight": true, "fieldLabel": "<span style=\"border-bottom: 1px dotted #000000;\">until</span>", "listeners": { "render": Lino.quicktip_renderer("until","(cal.Tasks.end_date) End date of observed period") }, "name": "end_date", "selectOnFocus": true, "value": null });
    var user316 = new Lino.RemoteComboFieldElement({ "allowBlank": true, "anchor": "-20", "autoHeight": true, "detail_action": "Lino.users.AllUsers.detail", "emptyText": "Select a User...", "fieldLabel": "<span style=\"border-bottom: 1px dotted #000000;\">Author</span>", "hiddenName": "userHidden", "insert_action": "Lino.users.AllUsers.insert", "listeners": { "render": Lino.quicktip_renderer("Author","(cal.Tasks.user) The author of this object.\nA pointer to lino.modlib.users.models.User.") }, "name": "user", "pageSize": 20, "preferred_width": 15, "related_actor_id": "users.AllUsers", "selectOnFocus": true, "store": new Lino.ComplexRemoteComboStore({ "proxy": new Ext.data.HttpProxy({ "method": "GET", "url": "/choices/cal/Tasks/user" }) }), "value": null });
    var state317 = new Lino.ChoicesFieldElement({ "allowBlank": true, "anchor": "-20", "autoHeight": true, "fieldLabel": "<span style=\"border-bottom: 1px dotted #000000;\">State</span>", "forceSelection": true, "hiddenName": "stateHidden", "listeners": { "render": Lino.quicktip_renderer("State","(cal.Tasks.state) The state of this Task. one of TaskStates.") }, "name": "state", "selectOnFocus": true, "store": [['','<br>']].concat(Lino.cal.TaskStates), "value": null });
    var main_1_panel318 = new Ext.Panel({ "autoHeight": true, "autoScroll": false, "border": false, "frame": false, "hideCheckBoxLabels": true, "items": [ { "autoHeight": true, "flex": 22, "items": start_date314, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 22, "items": end_date315, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 34, "items": user316, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 20, "items": state317, "labelAlign": "top", "layout": "form", "xtype": "panel" } ], "labelAlign": "top", "labelWidth": 0, "layout": "hbox", "layoutConfig": { "align": "stretchmax" } });
    this.items = [ main_1_panel318 ];
    this.fields = [ start_date314, end_date315, user316, state317 ];
    Lino.cal.Tasks.ParamsPanel.superclass.initComponent.call(this);
  }
});


Lino.addresses.Addresses.ParamsPanel = Ext.extend(Ext.form.FormPanel, {
  hideCheckBoxLabels: true,
  autoHeight: true,
  layoutConfig: { "align": "stretchmax" },
  labelAlign: "top",
  autoScroll: false,
  labelWidth: 0,
  frame: true,
  bodyBorder: false,
  border: false,
  layout: 'hbox',
  autoHeight: true,
  region: 'north',
  initComponent : function() {
    var place324 = new Lino.RemoteComboFieldElement({ "allowBlank": true, "anchor": "-20", "autoHeight": true, "detail_action": "Lino.countries.Places.detail", "emptyText": "Select a Place...", "fieldLabel": "<span style=\"border-bottom: 1px dotted #000000;\">Place</span>", "hiddenName": "placeHidden", "insert_action": "Lino.countries.Places.insert", "listeners": { "render": Lino.quicktip_renderer("Place","(addresses.Addresses.place) ") }, "name": "place", "pageSize": 20, "related_actor_id": "countries.Places", "selectOnFocus": true, "store": new Lino.ComplexRemoteComboStore({ "proxy": new Ext.data.HttpProxy({ "method": "GET", "url": "/choices/addresses/Addresses/place" }) }) });
    var partner325 = new Lino.RemoteComboFieldElement({ "allowBlank": true, "anchor": "-20", "autoHeight": true, "detail_action": "Lino.contacts.Partners.detail", "emptyText": "Select a Partner...", "fieldLabel": "<span style=\"border-bottom: 1px dotted #000000;\">Partner</span>", "hiddenName": "partnerHidden", "listeners": { "render": Lino.quicktip_renderer("Partner","(addresses.Addresses.partner) ") }, "name": "partner", "pageSize": 20, "preferred_width": 20, "related_actor_id": "contacts.Partners", "selectOnFocus": true, "store": new Lino.ComplexRemoteComboStore({ "proxy": new Ext.data.HttpProxy({ "method": "GET", "url": "/choices/addresses/Addresses/partner" }) }), "value": null });
    var address_type326 = new Lino.ChoicesFieldElement({ "allowBlank": true, "anchor": "-20", "autoHeight": true, "fieldLabel": "<span style=\"border-bottom: 1px dotted #000000;\">Address type</span>", "forceSelection": true, "hiddenName": "address_typeHidden", "listeners": { "render": Lino.quicktip_renderer("Address type","(addresses.Addresses.address_type) The type of this address record.\nA pointer to AddressTypes.\nThe default value is AddressTypes.official.") }, "name": "address_type", "selectOnFocus": true, "store": [['','<br>']].concat(Lino.addresses.AddressTypes), "value": null });
    this.items = [ { "autoHeight": true, "flex": 32, "items": place324, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 32, "items": partner325, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 34, "items": address_type326, "labelAlign": "top", "layout": "form", "xtype": "panel" } ];
    this.fields = [ place324, partner325, address_type326 ];
    Lino.addresses.Addresses.ParamsPanel.superclass.initComponent.call(this);
  }
});


Lino.households.Members.ParamsPanel = Ext.extend(Ext.form.FormPanel, {
  hideCheckBoxLabels: true,
  autoHeight: true,
  layoutConfig: { "align": "stretchmax" },
  labelAlign: "top",
  autoScroll: false,
  labelWidth: 0,
  frame: true,
  bodyBorder: false,
  border: false,
  layout: 'hbox',
  autoHeight: true,
  region: 'north',
  initComponent : function() {
    var start_date331 = new Lino.DateField({ "allowBlank": true, "anchor": "-20", "autoHeight": true, "fieldLabel": "<span style=\"border-bottom: 1px dotted #000000;\">Period from</span>", "listeners": { "render": Lino.quicktip_renderer("Period from","(households.Members.start_date) Start date of observed period") }, "name": "start_date", "selectOnFocus": true, "value": null });
    var end_date332 = new Lino.DateField({ "allowBlank": true, "anchor": "-20", "autoHeight": true, "fieldLabel": "<span style=\"border-bottom: 1px dotted #000000;\">until</span>", "listeners": { "render": Lino.quicktip_renderer("until","(households.Members.end_date) End date of observed period") }, "name": "end_date", "selectOnFocus": true, "value": null });
    var aged_from333 = new Ext.form.NumberField({ "allowBlank": true, "anchor": "-20", "autoHeight": true, "fieldLabel": "<span style=\"border-bottom: 1px dotted #000000;\">Aged from</span>", "listeners": { "render": Lino.quicktip_renderer("Aged from","(households.Members.aged_from) Select only persons aged at least the given number of years.") }, "name": "aged_from", "selectOnFocus": true });
    var aged_to334 = new Ext.form.NumberField({ "allowBlank": true, "anchor": "-20", "autoHeight": true, "fieldLabel": "<span style=\"border-bottom: 1px dotted #000000;\">Aged to</span>", "listeners": { "render": Lino.quicktip_renderer("Aged to","(households.Members.aged_to) Select only persons aged at most the given number of years.") }, "name": "aged_to", "selectOnFocus": true });
    var gender335 = new Lino.ChoicesFieldElement({ "allowBlank": true, "anchor": "-20", "autoHeight": true, "fieldLabel": "<span style=\"border-bottom: 1px dotted #000000;\">Gender</span>", "forceSelection": true, "hiddenName": "genderHidden", "listeners": { "render": Lino.quicktip_renderer("Gender","(households.Members.gender) The sex of this person (male or female).") }, "name": "gender", "selectOnFocus": true, "store": [['','<br>']].concat(Lino.system.Genders), "value": null });
    this.items = [ { "autoHeight": true, "flex": 25, "items": start_date331, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 25, "items": end_date332, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 12, "items": aged_from333, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 12, "items": aged_to334, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 23, "items": gender335, "labelAlign": "top", "layout": "form", "xtype": "panel" } ];
    this.fields = [ start_date331, end_date332, aged_from333, aged_to334, gender335 ];
    Lino.households.Members.ParamsPanel.superclass.initComponent.call(this);
  }
});


Lino.phones.ContactDetails.ParamsPanel = Ext.extend(Ext.form.FormPanel, {
  hideCheckBoxLabels: true,
  autoHeight: true,
  layoutConfig: { "align": "stretchmax" },
  labelAlign: "top",
  autoScroll: false,
  labelWidth: 0,
  frame: true,
  bodyBorder: false,
  border: false,
  layout: 'hbox',
  autoHeight: true,
  region: 'north',
  initComponent : function() {
    var observed_event342 = new Lino.ChoicesFieldElement({ "allowBlank": true, "anchor": "-20", "autoHeight": true, "fieldLabel": "Observed event", "forceSelection": true, "hiddenName": "observed_eventHidden", "listeners": { "render": Lino.quicktip_renderer("Observed event","(phones.ContactDetails.observed_event) ") }, "name": "observed_event", "selectOnFocus": true, "store": [['','<br>']].concat(Lino.system.PeriodEvents) });
    var start_date343 = new Lino.DateField({ "allowBlank": true, "anchor": "-20", "autoHeight": true, "fieldLabel": "<span style=\"border-bottom: 1px dotted #000000;\">Period from</span>", "listeners": { "render": Lino.quicktip_renderer("Period from","(phones.ContactDetails.start_date) Start date of observed period") }, "name": "start_date", "selectOnFocus": true, "value": null });
    var end_date344 = new Lino.DateField({ "allowBlank": true, "anchor": "-20", "autoHeight": true, "fieldLabel": "<span style=\"border-bottom: 1px dotted #000000;\">until</span>", "listeners": { "render": Lino.quicktip_renderer("until","(phones.ContactDetails.end_date) End date of observed period") }, "name": "end_date", "selectOnFocus": true, "value": null });
    var partner345 = new Lino.RemoteComboFieldElement({ "allowBlank": true, "anchor": "-20", "autoHeight": true, "detail_action": "Lino.contacts.Partners.detail", "emptyText": "Select a Partner...", "fieldLabel": "Partner", "hiddenName": "partnerHidden", "listeners": { "render": Lino.quicktip_renderer("Partner","(phones.ContactDetails.partner) ") }, "name": "partner", "pageSize": 20, "preferred_width": 20, "related_actor_id": "contacts.Partners", "selectOnFocus": true, "store": new Lino.ComplexRemoteComboStore({ "proxy": new Ext.data.HttpProxy({ "method": "GET", "url": "/choices/phones/ContactDetails/partner" }) }), "value": null });
    var detail_type346 = new Lino.ChoicesFieldElement({ "allowBlank": true, "anchor": "-20", "autoHeight": true, "fieldLabel": "Contact detail type", "forceSelection": true, "hiddenName": "detail_typeHidden", "listeners": { "render": Lino.quicktip_renderer("Contact detail type","(phones.ContactDetails.detail_type) ") }, "name": "detail_type", "selectOnFocus": true, "store": [['','<br>']].concat(Lino.phones.ContactDetailTypes), "value": null });
    this.items = [ { "autoHeight": true, "flex": 19, "items": observed_event342, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 16, "items": start_date343, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 16, "items": end_date344, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 32, "items": partner345, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 16, "items": detail_type346, "labelAlign": "top", "layout": "form", "xtype": "panel" } ];
    this.fields = [ observed_event342, start_date343, end_date344, partner345, detail_type346 ];
    Lino.phones.ContactDetails.ParamsPanel.superclass.initComponent.call(this);
  }
});


Lino.calview.MonthlySlave.ParamsPanel = Ext.extend(Ext.form.FormPanel, {
  hideCheckBoxLabels: true,
  autoHeight: true,
  layoutConfig: { "align": "stretchmax" },
  labelAlign: "top",
  autoScroll: false,
  labelWidth: 0,
  frame: true,
  bodyBorder: false,
  border: false,
  layout: 'hbox',
  autoHeight: true,
  region: 'north',
  initComponent : function() {
    var user353 = new Lino.RemoteComboFieldElement({ "allowBlank": true, "anchor": "-20", "autoHeight": true, "detail_action": "Lino.users.AllUsers.detail", "emptyText": "Select a User...", "fieldLabel": "<span style=\"border-bottom: 1px dotted #000000;\">Responsible user</span>", "hiddenName": "userHidden", "insert_action": "Lino.users.AllUsers.insert", "listeners": { "render": Lino.quicktip_renderer("Responsible user","(calview.MonthlySlave.user) The responsible user.") }, "name": "user", "pageSize": 20, "preferred_width": 15, "related_actor_id": "users.AllUsers", "selectOnFocus": true, "store": new Lino.ComplexRemoteComboStore({ "proxy": new Ext.data.HttpProxy({ "method": "GET", "url": "/choices/calview/MonthlySlave/user" }) }), "value": null });
    var assigned_to354 = new Lino.RemoteComboFieldElement({ "allowBlank": true, "anchor": "-20", "autoHeight": true, "detail_action": "Lino.users.AllUsers.detail", "emptyText": "Select a User...", "fieldLabel": "<span style=\"border-bottom: 1px dotted #000000;\">Assigned to</span>", "hiddenName": "assigned_toHidden", "insert_action": "Lino.users.AllUsers.insert", "listeners": { "render": Lino.quicktip_renderer("Assigned to","(calview.MonthlySlave.assigned_to) Another user who is expected to take responsibility for this\nentry.") }, "name": "assigned_to", "pageSize": 20, "preferred_width": 15, "related_actor_id": "users.AllUsers", "selectOnFocus": true, "store": new Lino.ComplexRemoteComboStore({ "proxy": new Ext.data.HttpProxy({ "method": "GET", "url": "/choices/calview/MonthlySlave/assigned_to" }) }), "value": null });
    var event_type355 = new Lino.RemoteComboFieldElement({ "allowBlank": true, "anchor": "-20", "autoHeight": true, "detail_action": "Lino.cal.EventTypes.detail", "emptyText": "Select a Calendar entry type...", "fieldLabel": "<span style=\"border-bottom: 1px dotted #000000;\">Calendar entry type</span>", "hiddenName": "event_typeHidden", "insert_action": "Lino.cal.EventTypes.insert", "listeners": { "render": Lino.quicktip_renderer("Calendar entry type","(calview.MonthlySlave.event_type) The type of this calendar entry.") }, "name": "event_type", "pageSize": 20, "related_actor_id": "cal.EventTypes", "selectOnFocus": true, "store": new Lino.ComplexRemoteComboStore({ "proxy": new Ext.data.HttpProxy({ "method": "GET", "url": "/choices/calview/MonthlySlave/event_type" }) }), "value": null });
    var room356 = new Lino.RemoteComboFieldElement({ "allowBlank": true, "anchor": "-20", "autoHeight": true, "detail_action": "Lino.cal.Rooms.detail", "emptyText": "Select a Room...", "fieldLabel": "Room", "hiddenName": "roomHidden", "insert_action": "Lino.cal.Rooms.insert", "listeners": { "render": Lino.quicktip_renderer("Room","(calview.MonthlySlave.room) ") }, "name": "room", "pageSize": 20, "related_actor_id": "cal.Rooms", "selectOnFocus": true, "store": new Lino.ComplexRemoteComboStore({ "proxy": new Ext.data.HttpProxy({ "method": "GET", "url": "/choices/calview/MonthlySlave/room" }) }), "value": null });
    var state357 = new Lino.ChoicesFieldElement({ "allowBlank": true, "anchor": "-20", "autoHeight": true, "fieldLabel": "<span style=\"border-bottom: 1px dotted #000000;\">State</span>", "forceSelection": true, "hiddenName": "stateHidden", "listeners": { "render": Lino.quicktip_renderer("State","(calview.MonthlySlave.state) The state of this entry. The state can change according to\nrules defined by the workflow.") }, "name": "state", "selectOnFocus": true, "store": [['','<br>']].concat(Lino.cal.EntryStates), "value": null });
    var show_appointments358 = new Lino.ChoicesFieldElement({ "allowBlank": true, "anchor": "-20", "autoHeight": true, "fieldLabel": "Appointments", "forceSelection": true, "hiddenName": "show_appointmentsHidden", "listeners": { "render": Lino.quicktip_renderer("Appointments","(calview.MonthlySlave.show_appointments) ") }, "name": "show_appointments", "selectOnFocus": true, "store": [['','<br>']].concat(Lino.system.YesNo) });
    this.items = [ { "autoHeight": true, "flex": 18, "items": user353, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 18, "items": assigned_to354, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 18, "items": event_type355, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 18, "items": room356, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 12, "items": state357, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 13, "items": show_appointments358, "labelAlign": "top", "layout": "form", "xtype": "panel" } ];
    this.fields = [ user353, assigned_to354, event_type355, room356, state357, show_appointments358 ];
    Lino.calview.MonthlySlave.ParamsPanel.superclass.initComponent.call(this);
  }
});


Lino.cal.MyEntries.ParamsPanel = Ext.extend(Ext.form.FormPanel, {
  hideCheckBoxLabels: true,
  autoHeight: true,
  labelAlign: "top",
  autoScroll: false,
  frame: true,
  bodyBorder: false,
  border: false,
  layout: 'form',
  autoHeight: true,
  region: 'north',
  initComponent : function() {
    var start_date366 = new Lino.DateField({ "allowBlank": true, "anchor": "-20", "autoHeight": true, "fieldLabel": "<span style=\"border-bottom: 1px dotted #000000;\">Period from</span>", "listeners": { "render": Lino.quicktip_renderer("Period from","(cal.MyEntries.start_date) Start date of observed period") }, "name": "start_date", "selectOnFocus": true, "value": null });
    var end_date367 = new Lino.DateField({ "allowBlank": true, "anchor": "-20", "autoHeight": true, "fieldLabel": "<span style=\"border-bottom: 1px dotted #000000;\">until</span>", "listeners": { "render": Lino.quicktip_renderer("until","(cal.MyEntries.end_date) End date of observed period") }, "name": "end_date", "selectOnFocus": true, "value": null });
    var observed_event368 = new Lino.ChoicesFieldElement({ "allowBlank": true, "anchor": "-20", "autoHeight": true, "fieldLabel": "Observed event", "forceSelection": true, "hiddenName": "observed_eventHidden", "listeners": { "render": Lino.quicktip_renderer("Observed event","(cal.MyEntries.observed_event) ") }, "name": "observed_event", "selectOnFocus": true, "store": [['','<br>']].concat(Lino.cal.EventEvents) });
    var state369 = new Lino.ChoicesFieldElement({ "allowBlank": true, "anchor": "-20", "autoHeight": true, "fieldLabel": "<span style=\"border-bottom: 1px dotted #000000;\">State</span>", "forceSelection": true, "hiddenName": "stateHidden", "listeners": { "render": Lino.quicktip_renderer("State","(cal.MyEntries.state) The state of this entry. The state can change according to\nrules defined by the workflow.") }, "name": "state", "selectOnFocus": true, "store": [['','<br>']].concat(Lino.cal.EntryStates), "value": null });
    var main_1_panel370 = new Ext.Panel({ "anchor": "-20", "autoHeight": true, "autoScroll": false, "border": false, "frame": false, "hideCheckBoxLabels": true, "items": [ { "autoHeight": true, "flex": 26, "items": start_date366, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 26, "items": end_date367, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 22, "items": observed_event368, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 26, "items": state369, "labelAlign": "top", "layout": "form", "xtype": "panel" } ], "labelAlign": "top", "labelWidth": 0, "layout": "hbox", "layoutConfig": { "align": "stretchmax" } });
    var user375 = new Lino.RemoteComboFieldElement({ "allowBlank": true, "anchor": "-20", "autoHeight": true, "detail_action": "Lino.users.AllUsers.detail", "emptyText": "Select a User...", "fieldLabel": "<span style=\"border-bottom: 1px dotted #000000;\">Responsible user</span>", "hiddenName": "userHidden", "insert_action": "Lino.users.AllUsers.insert", "listeners": { "render": Lino.quicktip_renderer("Responsible user","(cal.MyEntries.user) The responsible user.") }, "name": "user", "pageSize": 20, "preferred_width": 15, "related_actor_id": "users.AllUsers", "selectOnFocus": true, "store": new Lino.ComplexRemoteComboStore({ "proxy": new Ext.data.HttpProxy({ "method": "GET", "url": "/choices/cal/MyEntries/user" }) }), "value": null });
    var assigned_to376 = new Lino.RemoteComboFieldElement({ "allowBlank": true, "anchor": "-20", "autoHeight": true, "detail_action": "Lino.users.AllUsers.detail", "emptyText": "Select a User...", "fieldLabel": "<span style=\"border-bottom: 1px dotted #000000;\">Assigned to</span>", "hiddenName": "assigned_toHidden", "insert_action": "Lino.users.AllUsers.insert", "listeners": { "render": Lino.quicktip_renderer("Assigned to","(cal.MyEntries.assigned_to) Another user who is expected to take responsibility for this\nentry.") }, "name": "assigned_to", "pageSize": 20, "preferred_width": 15, "related_actor_id": "users.AllUsers", "selectOnFocus": true, "store": new Lino.ComplexRemoteComboStore({ "proxy": new Ext.data.HttpProxy({ "method": "GET", "url": "/choices/cal/MyEntries/assigned_to" }) }), "value": null });
    var event_type377 = new Lino.RemoteComboFieldElement({ "allowBlank": true, "anchor": "-20", "autoHeight": true, "detail_action": "Lino.cal.EventTypes.detail", "emptyText": "Select a Calendar entry type...", "fieldLabel": "<span style=\"border-bottom: 1px dotted #000000;\">Calendar entry type</span>", "hiddenName": "event_typeHidden", "insert_action": "Lino.cal.EventTypes.insert", "listeners": { "render": Lino.quicktip_renderer("Calendar entry type","(cal.MyEntries.event_type) The type of this calendar entry.") }, "name": "event_type", "pageSize": 20, "related_actor_id": "cal.EventTypes", "selectOnFocus": true, "store": new Lino.ComplexRemoteComboStore({ "proxy": new Ext.data.HttpProxy({ "method": "GET", "url": "/choices/cal/MyEntries/event_type" }) }), "value": null });
    var room378 = new Lino.RemoteComboFieldElement({ "allowBlank": true, "anchor": "-20", "autoHeight": true, "detail_action": "Lino.cal.Rooms.detail", "emptyText": "Select a Room...", "fieldLabel": "Room", "hiddenName": "roomHidden", "insert_action": "Lino.cal.Rooms.insert", "listeners": { "render": Lino.quicktip_renderer("Room","(cal.MyEntries.room) ") }, "name": "room", "pageSize": 20, "related_actor_id": "cal.Rooms", "selectOnFocus": true, "store": new Lino.ComplexRemoteComboStore({ "proxy": new Ext.data.HttpProxy({ "method": "GET", "url": "/choices/cal/MyEntries/room" }) }), "value": null });
    var show_appointments379 = new Lino.ChoicesFieldElement({ "allowBlank": true, "anchor": "-20", "autoHeight": true, "fieldLabel": "<span style=\"border-bottom: 1px dotted #000000;\">Appointments</span>", "forceSelection": true, "hiddenName": "show_appointmentsHidden", "listeners": { "render": Lino.quicktip_renderer("Appointments","(cal.MyEntries.show_appointments) ") }, "name": "show_appointments", "selectOnFocus": true, "store": [['','<br>']].concat(Lino.system.YesNo) });
    var main_2_panel380 = new Ext.Panel({ "anchor": "-20", "autoHeight": true, "autoScroll": false, "border": false, "frame": false, "hideCheckBoxLabels": true, "items": [ { "autoHeight": true, "flex": 21, "items": user375, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 21, "items": assigned_to376, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 21, "items": event_type377, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 21, "items": room378, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 15, "items": show_appointments379, "labelAlign": "top", "layout": "form", "xtype": "panel" } ], "labelAlign": "top", "labelWidth": 0, "layout": "hbox", "layoutConfig": { "align": "stretchmax" } });
    this.items = [ main_1_panel370, main_2_panel380 ];
    this.fields = [ start_date366, end_date367, observed_event368, state369, user375, assigned_to376, event_type377, room378, show_appointments379 ];
    Lino.cal.MyEntries.ParamsPanel.superclass.initComponent.call(this);
  }
});


Lino.calview.DailyPlanner.ParamsPanel = Ext.extend(Ext.form.FormPanel, {
  hideCheckBoxLabels: true,
  autoHeight: true,
  layoutConfig: { "align": "stretchmax" },
  labelAlign: "top",
  autoScroll: false,
  labelWidth: 0,
  frame: true,
  bodyBorder: false,
  border: false,
  layout: 'hbox',
  autoHeight: true,
  region: 'north',
  initComponent : function() {
    var user387 = new Lino.RemoteComboFieldElement({ "allowBlank": true, "anchor": "-20", "autoHeight": true, "detail_action": "Lino.users.AllUsers.detail", "emptyText": "Select a User...", "fieldLabel": "<span style=\"border-bottom: 1px dotted #000000;\">Responsible user</span>", "hiddenName": "userHidden", "insert_action": "Lino.users.AllUsers.insert", "listeners": { "render": Lino.quicktip_renderer("Responsible user","(calview.DailyPlanner.user) The responsible user.") }, "name": "user", "pageSize": 20, "preferred_width": 15, "related_actor_id": "users.AllUsers", "selectOnFocus": true, "store": new Lino.ComplexRemoteComboStore({ "proxy": new Ext.data.HttpProxy({ "method": "GET", "url": "/choices/calview/DailyPlanner/user" }) }), "value": null });
    var assigned_to388 = new Lino.RemoteComboFieldElement({ "allowBlank": true, "anchor": "-20", "autoHeight": true, "detail_action": "Lino.users.AllUsers.detail", "emptyText": "Select a User...", "fieldLabel": "<span style=\"border-bottom: 1px dotted #000000;\">Assigned to</span>", "hiddenName": "assigned_toHidden", "insert_action": "Lino.users.AllUsers.insert", "listeners": { "render": Lino.quicktip_renderer("Assigned to","(calview.DailyPlanner.assigned_to) Another user who is expected to take responsibility for this\nentry.") }, "name": "assigned_to", "pageSize": 20, "preferred_width": 15, "related_actor_id": "users.AllUsers", "selectOnFocus": true, "store": new Lino.ComplexRemoteComboStore({ "proxy": new Ext.data.HttpProxy({ "method": "GET", "url": "/choices/calview/DailyPlanner/assigned_to" }) }), "value": null });
    var event_type389 = new Lino.RemoteComboFieldElement({ "allowBlank": true, "anchor": "-20", "autoHeight": true, "detail_action": "Lino.cal.EventTypes.detail", "emptyText": "Select a Calendar entry type...", "fieldLabel": "<span style=\"border-bottom: 1px dotted #000000;\">Calendar entry type</span>", "hiddenName": "event_typeHidden", "insert_action": "Lino.cal.EventTypes.insert", "listeners": { "render": Lino.quicktip_renderer("Calendar entry type","(calview.DailyPlanner.event_type) The type of this calendar entry.") }, "name": "event_type", "pageSize": 20, "related_actor_id": "cal.EventTypes", "selectOnFocus": true, "store": new Lino.ComplexRemoteComboStore({ "proxy": new Ext.data.HttpProxy({ "method": "GET", "url": "/choices/calview/DailyPlanner/event_type" }) }), "value": null });
    var room390 = new Lino.RemoteComboFieldElement({ "allowBlank": true, "anchor": "-20", "autoHeight": true, "detail_action": "Lino.cal.Rooms.detail", "emptyText": "Select a Room...", "fieldLabel": "Room", "hiddenName": "roomHidden", "insert_action": "Lino.cal.Rooms.insert", "listeners": { "render": Lino.quicktip_renderer("Room","(calview.DailyPlanner.room) ") }, "name": "room", "pageSize": 20, "related_actor_id": "cal.Rooms", "selectOnFocus": true, "store": new Lino.ComplexRemoteComboStore({ "proxy": new Ext.data.HttpProxy({ "method": "GET", "url": "/choices/calview/DailyPlanner/room" }) }), "value": null });
    var state391 = new Lino.ChoicesFieldElement({ "allowBlank": true, "anchor": "-20", "autoHeight": true, "fieldLabel": "<span style=\"border-bottom: 1px dotted #000000;\">State</span>", "forceSelection": true, "hiddenName": "stateHidden", "listeners": { "render": Lino.quicktip_renderer("State","(calview.DailyPlanner.state) The state of this entry. The state can change according to\nrules defined by the workflow.") }, "name": "state", "selectOnFocus": true, "store": [['','<br>']].concat(Lino.cal.EntryStates), "value": null });
    var show_appointments392 = new Lino.ChoicesFieldElement({ "allowBlank": true, "anchor": "-20", "autoHeight": true, "fieldLabel": "Appointments", "forceSelection": true, "hiddenName": "show_appointmentsHidden", "listeners": { "render": Lino.quicktip_renderer("Appointments","(calview.DailyPlanner.show_appointments) ") }, "name": "show_appointments", "selectOnFocus": true, "store": [['','<br>']].concat(Lino.system.YesNo) });
    this.items = [ { "autoHeight": true, "flex": 18, "items": user387, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 18, "items": assigned_to388, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 18, "items": event_type389, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 18, "items": room390, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 12, "items": state391, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 13, "items": show_appointments392, "labelAlign": "top", "layout": "form", "xtype": "panel" } ];
    this.fields = [ user387, assigned_to388, event_type389, room390, state391, show_appointments392 ];
    Lino.calview.DailyPlanner.ParamsPanel.superclass.initComponent.call(this);
  }
});


Lino.cal.RecurrentEvents.ParamsPanel = Ext.extend(Ext.form.FormPanel, {
  hideCheckBoxLabels: true,
  labelAlign: "top",
  autoScroll: false,
  labelWidth: 0,
  frame: true,
  bodyBorder: false,
  border: false,
  layout: 'form',
  autoHeight: true,
  region: 'north',
  initComponent : function() {
    var user400 = new Lino.RemoteComboFieldElement({ "allowBlank": true, "anchor": "-20", "autoHeight": true, "detail_action": "Lino.users.AllUsers.detail", "emptyText": "Select a User...", "fieldLabel": "<span style=\"border-bottom: 1px dotted #000000;\">Author</span>", "hiddenName": "userHidden", "insert_action": "Lino.users.AllUsers.insert", "listeners": { "render": Lino.quicktip_renderer("Author","(cal.RecurrentEvents.user) The author of this object.\nA pointer to lino.modlib.users.models.User.") }, "name": "user", "pageSize": 20, "preferred_width": 15, "related_actor_id": "users.AllUsers", "selectOnFocus": true, "store": new Lino.ComplexRemoteComboStore({ "proxy": new Ext.data.HttpProxy({ "method": "GET", "url": "/choices/cal/RecurrentEvents/user" }) }), "value": null });
    this.items = [ { "autoHeight": true, "items": user400, "labelAlign": "top", "layout": "form", "xtype": "panel" } ];
    this.fields = [ user400 ];
    Lino.cal.RecurrentEvents.ParamsPanel.superclass.initComponent.call(this);
  }
});


Lino.users.Authorities.ParamsPanel = Ext.extend(Ext.form.FormPanel, {
  hideCheckBoxLabels: true,
  labelAlign: "top",
  autoScroll: false,
  labelWidth: 0,
  frame: true,
  bodyBorder: false,
  border: false,
  layout: 'form',
  autoHeight: true,
  region: 'north',
  initComponent : function() {
    var user403 = new Lino.RemoteComboFieldElement({ "allowBlank": true, "anchor": "-20", "autoHeight": true, "detail_action": "Lino.users.AllUsers.detail", "emptyText": "Select a User...", "fieldLabel": "<span style=\"border-bottom: 1px dotted #000000;\">Author</span>", "hiddenName": "userHidden", "insert_action": "Lino.users.AllUsers.insert", "listeners": { "render": Lino.quicktip_renderer("Author","(users.Authorities.user) The user who gives the right of representation. author of this\nauthority") }, "name": "user", "pageSize": 20, "preferred_width": 15, "related_actor_id": "users.AllUsers", "selectOnFocus": true, "store": new Lino.ComplexRemoteComboStore({ "proxy": new Ext.data.HttpProxy({ "method": "GET", "url": "/choices/users/Authorities/user" }) }), "value": null });
    this.items = [ { "autoHeight": true, "items": user403, "labelAlign": "top", "layout": "form", "xtype": "panel" } ];
    this.fields = [ user403 ];
    Lino.users.Authorities.ParamsPanel.superclass.initComponent.call(this);
  }
});


Lino.users.AllUsers.ParamsPanel = Ext.extend(Ext.form.FormPanel, {
  hideCheckBoxLabels: true,
  autoHeight: true,
  layoutConfig: { "align": "stretchmax" },
  labelAlign: "top",
  autoScroll: false,
  labelWidth: 0,
  frame: true,
  bodyBorder: false,
  border: false,
  layout: 'hbox',
  autoHeight: true,
  region: 'north',
  initComponent : function() {
    var user_type406 = new Lino.ChoicesFieldElement({ "allowBlank": true, "anchor": "-20", "autoHeight": true, "fieldLabel": "User type", "forceSelection": true, "hiddenName": "user_typeHidden", "listeners": { "render": Lino.quicktip_renderer("User type","(users.AllUsers.user_type) ") }, "name": "user_type", "selectOnFocus": true, "store": [['','<br>']].concat(Lino.users.UserTypes) });
    var start_date407 = new Lino.DateField({ "allowBlank": true, "anchor": "-20", "autoHeight": true, "fieldLabel": "<span style=\"border-bottom: 1px dotted #000000;\">Period from</span>", "listeners": { "render": Lino.quicktip_renderer("Period from","(users.AllUsers.start_date) Start date of observed period") }, "name": "start_date", "selectOnFocus": true, "value": null });
    var end_date408 = new Lino.DateField({ "allowBlank": true, "anchor": "-20", "autoHeight": true, "fieldLabel": "<span style=\"border-bottom: 1px dotted #000000;\">until</span>", "listeners": { "render": Lino.quicktip_renderer("until","(users.AllUsers.end_date) End date of observed period") }, "name": "end_date", "selectOnFocus": true, "value": null });
    this.items = [ { "autoHeight": true, "flex": 60, "items": user_type406, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 20, "items": start_date407, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 20, "items": end_date408, "labelAlign": "top", "layout": "form", "xtype": "panel" } ];
    this.fields = [ user_type406, start_date407, end_date408 ];
    Lino.users.AllUsers.ParamsPanel.superclass.initComponent.call(this);
  }
});


Lino.blogs.Entries.ParamsPanel = Ext.extend(Ext.form.FormPanel, {
  hideCheckBoxLabels: true,
  labelAlign: "top",
  autoScroll: false,
  labelWidth: 0,
  frame: true,
  bodyBorder: false,
  border: false,
  layout: 'form',
  autoHeight: true,
  region: 'north',
  initComponent : function() {
    var user413 = new Lino.RemoteComboFieldElement({ "allowBlank": true, "anchor": "-20", "autoHeight": true, "detail_action": "Lino.users.AllUsers.detail", "emptyText": "Select a User...", "fieldLabel": "<span style=\"border-bottom: 1px dotted #000000;\">Author</span>", "hiddenName": "userHidden", "insert_action": "Lino.users.AllUsers.insert", "listeners": { "render": Lino.quicktip_renderer("Author","(blogs.Entries.user) The author of this object.\nA pointer to lino.modlib.users.models.User.") }, "name": "user", "pageSize": 20, "preferred_width": 15, "related_actor_id": "users.AllUsers", "selectOnFocus": true, "store": new Lino.ComplexRemoteComboStore({ "proxy": new Ext.data.HttpProxy({ "method": "GET", "url": "/choices/blogs/Entries/user" }) }), "value": null });
    this.items = [ { "autoHeight": true, "items": user413, "labelAlign": "top", "layout": "form", "xtype": "panel" } ];
    this.fields = [ user413 ];
    Lino.blogs.Entries.ParamsPanel.superclass.initComponent.call(this);
  }
});


Lino.users.Me.ParamsPanel = Ext.extend(Ext.form.FormPanel, {
  hideCheckBoxLabels: true,
  autoHeight: true,
  layoutConfig: { "align": "stretchmax" },
  labelAlign: "top",
  autoScroll: false,
  labelWidth: 0,
  frame: true,
  bodyBorder: false,
  border: false,
  layout: 'hbox',
  autoHeight: true,
  region: 'north',
  initComponent : function() {
    var user_type416 = new Lino.ChoicesFieldElement({ "allowBlank": true, "anchor": "-20", "autoHeight": true, "fieldLabel": "User type", "forceSelection": true, "hiddenName": "user_typeHidden", "listeners": { "render": Lino.quicktip_renderer("User type","(users.Me.user_type) ") }, "name": "user_type", "selectOnFocus": true, "store": [['','<br>']].concat(Lino.users.UserTypes) });
    var start_date417 = new Lino.DateField({ "allowBlank": true, "anchor": "-20", "autoHeight": true, "fieldLabel": "<span style=\"border-bottom: 1px dotted #000000;\">Period from</span>", "listeners": { "render": Lino.quicktip_renderer("Period from","(users.Me.start_date) Start date of observed period") }, "name": "start_date", "selectOnFocus": true, "value": null });
    var end_date418 = new Lino.DateField({ "allowBlank": true, "anchor": "-20", "autoHeight": true, "fieldLabel": "<span style=\"border-bottom: 1px dotted #000000;\">until</span>", "listeners": { "render": Lino.quicktip_renderer("until","(users.Me.end_date) End date of observed period") }, "name": "end_date", "selectOnFocus": true, "value": null });
    this.items = [ { "autoHeight": true, "flex": 60, "items": user_type416, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 20, "items": start_date417, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 20, "items": end_date418, "labelAlign": "top", "layout": "form", "xtype": "panel" } ];
    this.fields = [ user_type416, start_date417, end_date418 ];
    Lino.users.Me.ParamsPanel.superclass.initComponent.call(this);
  }
});


Lino.checkdata.Problems.ParamsPanel = Ext.extend(Ext.form.FormPanel, {
  hideCheckBoxLabels: true,
  autoHeight: true,
  layoutConfig: { "align": "stretchmax" },
  labelAlign: "top",
  autoScroll: false,
  labelWidth: 0,
  frame: true,
  bodyBorder: false,
  border: false,
  layout: 'hbox',
  autoHeight: true,
  region: 'north',
  initComponent : function() {
    var user423 = new Lino.RemoteComboFieldElement({ "allowBlank": true, "anchor": "-20", "autoHeight": true, "detail_action": "Lino.users.AllUsers.detail", "emptyText": "Select a User...", "fieldLabel": "<span style=\"border-bottom: 1px dotted #000000;\">Responsible</span>", "hiddenName": "userHidden", "insert_action": "Lino.users.AllUsers.insert", "listeners": { "render": Lino.quicktip_renderer("Responsible","(checkdata.Problems.user) The user responsible for fixing this\nproblem.") }, "name": "user", "pageSize": 20, "preferred_width": 15, "related_actor_id": "users.AllUsers", "selectOnFocus": true, "store": new Lino.ComplexRemoteComboStore({ "proxy": new Ext.data.HttpProxy({ "method": "GET", "url": "/choices/checkdata/Problems/user" }) }), "value": null });
    var checker424 = new Lino.ChoicesFieldElement({ "allowBlank": true, "anchor": "-20", "autoHeight": true, "fieldLabel": "<span style=\"border-bottom: 1px dotted #000000;\">Checker</span>", "forceSelection": true, "hiddenName": "checkerHidden", "listeners": { "render": Lino.quicktip_renderer("Checker","(checkdata.Problems.checker) The Checker that reported this\nproblem.") }, "name": "checker", "selectOnFocus": true, "store": [['','<br>']].concat(Lino.checkdata.Checkers), "value": null });
    this.items = [ { "autoHeight": true, "flex": 50, "items": user423, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 50, "items": checker424, "labelAlign": "top", "layout": "form", "xtype": "panel" } ];
    this.fields = [ user423, checker424 ];
    Lino.checkdata.Problems.ParamsPanel.superclass.initComponent.call(this);
  }
});


Lino.courses.Enrolments.ParamsPanel = Ext.extend(Ext.form.FormPanel, {
  hideCheckBoxLabels: true,
  autoHeight: true,
  layoutConfig: { "align": "stretchmax" },
  labelAlign: "top",
  autoScroll: false,
  labelWidth: 0,
  frame: true,
  bodyBorder: false,
  border: false,
  layout: 'hbox',
  autoHeight: true,
  region: 'north',
  initComponent : function() {
    var start_date428 = new Lino.DateField({ "allowBlank": true, "anchor": "-20", "autoHeight": true, "fieldLabel": "<span style=\"border-bottom: 1px dotted #000000;\">Period from</span>", "listeners": { "render": Lino.quicktip_renderer("Period from","(courses.Enrolments.start_date) Start date of observed period") }, "name": "start_date", "selectOnFocus": true, "value": null });
    var end_date429 = new Lino.DateField({ "allowBlank": true, "anchor": "-20", "autoHeight": true, "fieldLabel": "<span style=\"border-bottom: 1px dotted #000000;\">until</span>", "listeners": { "render": Lino.quicktip_renderer("until","(courses.Enrolments.end_date) End date of observed period") }, "name": "end_date", "selectOnFocus": true, "value": null });
    var author430 = new Lino.RemoteComboFieldElement({ "allowBlank": true, "anchor": "-20", "autoHeight": true, "detail_action": "Lino.users.AllUsers.detail", "emptyText": "Select a User...", "fieldLabel": "User", "hiddenName": "authorHidden", "insert_action": "Lino.users.AllUsers.insert", "listeners": { "render": Lino.quicktip_renderer("User","(courses.Enrolments.author) ") }, "name": "author", "pageSize": 20, "preferred_width": 15, "related_actor_id": "users.AllUsers", "selectOnFocus": true, "store": new Lino.ComplexRemoteComboStore({ "proxy": new Ext.data.HttpProxy({ "method": "GET", "url": "/choices/courses/Enrolments/author" }) }) });
    var state431 = new Lino.ChoicesFieldElement({ "allowBlank": true, "anchor": "-20", "autoHeight": true, "fieldLabel": "State", "forceSelection": true, "hiddenName": "stateHidden", "listeners": { "render": Lino.quicktip_renderer("State","(courses.Enrolments.state) ") }, "name": "state", "selectOnFocus": true, "store": [['','<br>']].concat(Lino.courses.EnrolmentStates) });
    var course_state432 = new Lino.ChoicesFieldElement({ "allowBlank": true, "anchor": "-20", "autoHeight": true, "fieldLabel": "Course state", "forceSelection": true, "hiddenName": "course_stateHidden", "listeners": { "render": Lino.quicktip_renderer("Course state","(courses.Enrolments.course_state) ") }, "name": "course_state", "selectOnFocus": true, "store": [['','<br>']].concat(Lino.courses.CourseStates) });
    var participants_only433 = new Ext.form.Checkbox({ "allowBlank": false, "anchor": "-20", "autoHeight": true, "boxLabel": "Participants only", "checked": true, "hideLabel": true, "listeners": { "render": Lino.quicktip_renderer("Participants only","(courses.Enrolments.participants_only) Hide cancelled enrolments. Ignored if you specify an explicit enrolment state.") }, "name": "participants_only", "selectOnFocus": true });
    this.items = [ { "autoHeight": true, "flex": 13, "items": start_date428, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 13, "items": end_date429, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 27, "items": author430, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 16, "items": state431, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 15, "items": course_state432, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 13, "items": participants_only433, "labelAlign": "top", "layout": "form", "xtype": "panel" } ];
    this.fields = [ start_date428, end_date429, author430, state431, course_state432, participants_only433 ];
    Lino.courses.Enrolments.ParamsPanel.superclass.initComponent.call(this);
  }
});


Lino.courses.Activities.ParamsPanel = Ext.extend(Ext.form.FormPanel, {
  hideCheckBoxLabels: true,
  autoHeight: true,
  labelAlign: "top",
  autoScroll: false,
  frame: true,
  bodyBorder: false,
  border: false,
  layout: 'form',
  autoHeight: true,
  region: 'north',
  initComponent : function() {
    var topic441 = new Lino.RemoteComboFieldElement({ "allowBlank": true, "anchor": "-20", "autoHeight": true, "detail_action": "Lino.courses.Topics.detail", "emptyText": "Select a Topic...", "fieldLabel": "Topic", "hiddenName": "topicHidden", "listeners": { "render": Lino.quicktip_renderer("Topic","(courses.Activities.topic) ") }, "name": "topic", "pageSize": 20, "related_actor_id": "courses.Topics", "selectOnFocus": true, "store": new Lino.ComplexRemoteComboStore({ "proxy": new Ext.data.HttpProxy({ "method": "GET", "url": "/choices/courses/Activities/topic" }) }) });
    var line442 = new Lino.RemoteComboFieldElement({ "allowBlank": true, "anchor": "-20", "autoHeight": true, "detail_action": "Lino.courses.Lines.detail", "emptyText": "Select a Activity line...", "fieldLabel": "Activity line", "hiddenName": "lineHidden", "insert_action": "Lino.courses.Lines.insert", "listeners": { "render": Lino.quicktip_renderer("Activity line","(courses.Activities.line) ") }, "name": "line", "pageSize": 20, "related_actor_id": "courses.Lines", "selectOnFocus": true, "store": new Lino.ComplexRemoteComboStore({ "proxy": new Ext.data.HttpProxy({ "method": "GET", "url": "/choices/courses/Activities/line" }) }) });
    var user443 = new Lino.RemoteComboFieldElement({ "allowBlank": true, "anchor": "-20", "autoHeight": true, "detail_action": "Lino.users.AllUsers.detail", "emptyText": "Select a User...", "fieldLabel": "<span style=\"border-bottom: 1px dotted #000000;\">Author</span>", "hiddenName": "userHidden", "insert_action": "Lino.users.AllUsers.insert", "listeners": { "render": Lino.quicktip_renderer("Author","(courses.Activities.user) The author of this object.\nA pointer to lino.modlib.users.models.User.") }, "name": "user", "pageSize": 20, "preferred_width": 15, "related_actor_id": "users.AllUsers", "selectOnFocus": true, "store": new Lino.ComplexRemoteComboStore({ "proxy": new Ext.data.HttpProxy({ "method": "GET", "url": "/choices/courses/Activities/user" }) }), "value": null });
    var teacher444 = new Lino.RemoteComboFieldElement({ "allowBlank": true, "anchor": "-20", "autoHeight": true, "detail_action": "Lino.contacts.Persons.detail", "emptyText": "Select a Person...", "fieldLabel": "Instructor", "hiddenName": "teacherHidden", "insert_action": "Lino.contacts.Persons.insert", "listeners": { "render": Lino.quicktip_renderer("Instructor","(courses.Activities.teacher) ") }, "name": "teacher", "pageSize": 20, "preferred_width": 20, "related_actor_id": "contacts.Persons", "selectOnFocus": true, "store": new Lino.ComplexRemoteComboStore({ "proxy": new Ext.data.HttpProxy({ "method": "GET", "url": "/choices/courses/Activities/teacher" }) }) });
    var state445 = new Lino.ChoicesFieldElement({ "allowBlank": true, "anchor": "-20", "autoHeight": true, "fieldLabel": "State", "forceSelection": true, "hiddenName": "stateHidden", "listeners": { "render": Lino.quicktip_renderer("State","(courses.Activities.state) ") }, "name": "state", "selectOnFocus": true, "store": [['','<br>']].concat(Lino.courses.CourseStates) });
    var main_1_panel446 = new Ext.Panel({ "anchor": "-20", "autoHeight": true, "autoScroll": false, "border": false, "frame": false, "hideCheckBoxLabels": true, "items": [ { "autoHeight": true, "flex": 21, "items": topic441, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 21, "items": line442, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 21, "items": user443, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 21, "items": teacher444, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 12, "items": state445, "labelAlign": "top", "layout": "form", "xtype": "panel" } ], "labelAlign": "top", "labelWidth": 0, "layout": "hbox", "layoutConfig": { "align": "stretchmax" } });
    var room452 = new Lino.RemoteComboFieldElement({ "allowBlank": true, "anchor": "-20", "autoHeight": true, "detail_action": "Lino.cal.Rooms.detail", "emptyText": "Select a Room...", "fieldLabel": "Room", "hiddenName": "roomHidden", "insert_action": "Lino.cal.Rooms.insert", "listeners": { "render": Lino.quicktip_renderer("Room","(courses.Activities.room) ") }, "name": "room", "pageSize": 20, "related_actor_id": "cal.Rooms", "selectOnFocus": true, "store": new Lino.ComplexRemoteComboStore({ "proxy": new Ext.data.HttpProxy({ "method": "GET", "url": "/choices/courses/Activities/room" }) }), "value": null });
    var can_enroll453 = new Lino.ChoicesFieldElement({ "allowBlank": true, "anchor": "-20", "autoHeight": true, "fieldLabel": "can enroll", "forceSelection": true, "hiddenName": "can_enrollHidden", "listeners": { "render": Lino.quicktip_renderer("can enroll","(courses.Activities.can_enroll) ") }, "name": "can_enroll", "selectOnFocus": true, "store": [['','<br>']].concat(Lino.system.YesNo) });
    var start_date454 = new Lino.DateField({ "allowBlank": true, "anchor": "-20", "autoHeight": true, "fieldLabel": "<span style=\"border-bottom: 1px dotted #000000;\">Date from</span>", "listeners": { "render": Lino.quicktip_renderer("Date from","(courses.Activities.start_date) Start of observed date range") }, "name": "start_date", "selectOnFocus": true, "value": null });
    var end_date455 = new Lino.DateField({ "allowBlank": true, "anchor": "-20", "autoHeight": true, "fieldLabel": "<span style=\"border-bottom: 1px dotted #000000;\">until</span>", "listeners": { "render": Lino.quicktip_renderer("until","(courses.Activities.end_date) End of observed date range") }, "name": "end_date", "selectOnFocus": true, "value": null });
    var show_exposed456 = new Lino.ChoicesFieldElement({ "allowBlank": true, "anchor": "-20", "autoHeight": true, "fieldLabel": "<span style=\"border-bottom: 1px dotted #000000;\">Exposed</span>", "forceSelection": true, "hiddenName": "show_exposedHidden", "listeners": { "render": Lino.quicktip_renderer("Exposed","(courses.Activities.show_exposed) Whether to show rows in an exposed state") }, "name": "show_exposed", "selectOnFocus": true, "store": [['','<br>']].concat(Lino.system.YesNo) });
    var main_2_panel457 = new Ext.Panel({ "anchor": "-20", "autoHeight": true, "autoScroll": false, "border": false, "frame": false, "hideCheckBoxLabels": true, "items": [ { "autoHeight": true, "flex": 28, "items": room452, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 14, "items": can_enroll453, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 18, "items": start_date454, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 18, "items": end_date455, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 21, "items": show_exposed456, "labelAlign": "top", "layout": "form", "xtype": "panel" } ], "labelAlign": "top", "labelWidth": 0, "layout": "hbox", "layoutConfig": { "align": "stretchmax" } });
    this.items = [ main_1_panel446, main_2_panel457 ];
    this.fields = [ topic441, line442, user443, teacher444, state445, room452, can_enroll453, start_date454, end_date455, show_exposed456 ];
    Lino.courses.Activities.ParamsPanel.superclass.initComponent.call(this);
  }
});


Lino.ledger.Journals.merge_row_ActionFormPanel = Ext.extend(Lino.ActionFormPanel,{
  hideCheckBoxLabels: true,
  layout: "form",
  autoHeight: true,
  labelAlign: "top",
  autoScroll: false,
  labelWidth: 0,
  frame: true,
  bodyBorder: false,
  border: false,
  action_name: 'merge_row',
  window_title: "Merge",
  before_row_edit : function(record) {
  },
  autoHeight: true,
  initComponent : function() {
    this.merge_to555 = new Lino.RemoteComboFieldElement({ "allowBlank": false, "anchor": "-20", "autoHeight": true, "detail_action": "Lino.ledger.Journals.detail", "emptyText": "Select a Journal...", "fieldLabel": "into...", "hiddenName": "merge_toHidden", "insert_action": "Lino.ledger.Journals.insert", "listeners": { "render": Lino.quicktip_renderer("into...","(Merge.merge_to) ") }, "name": "merge_to", "pageSize": 20, "related_actor_id": "ledger.Journals", "selectOnFocus": true, "store": new Lino.ComplexRemoteComboStore({ "proxy": new Ext.data.HttpProxy({ "method": "GET", "url": "/apchoices/ledger/Journals/merge_row/merge_to" }) }) });
    this.ledger_MatchRule556 = new Ext.form.Checkbox({ "allowBlank": false, "anchor": "-20", "autoHeight": true, "boxLabel": "Also reassign volatile related objects", "checked": false, "hideLabel": true, "listeners": { "render": Lino.quicktip_renderer("Match rules","(Merge.ledger_MatchRule) ") }, "name": "ledger_MatchRule", "selectOnFocus": true });
    this.reason557 = new Ext.form.TextField({ "allowBlank": false, "anchor": "-20", "autoHeight": true, "fieldLabel": "Reason", "listeners": { "render": Lino.quicktip_renderer("Reason","(Merge.reason) ") }, "maxLength": 100, "name": "reason", "selectOnFocus": true });
    this.items = [ { "anchor": "-20", "autoHeight": true, "items": this.merge_to555, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "anchor": "-20", "autoHeight": true, "items": this.ledger_MatchRule556, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "anchor": "-20", "autoHeight": true, "items": this.reason557, "labelAlign": "top", "layout": "form", "xtype": "panel" } ];
    this.fields = [ this.merge_to555, this.ledger_MatchRule556, this.reason557 ];
    this.http_method = "GET"
    Lino.ledger.Journals.merge_row_ActionFormPanel.superclass.initComponent.call(this);
  }
});


Lino.households.Households.merge_row_ActionFormPanel = Ext.extend(Lino.ActionFormPanel,{
  hideCheckBoxLabels: true,
  layout: "form",
  autoHeight: true,
  labelAlign: "top",
  autoScroll: false,
  labelWidth: 0,
  frame: true,
  bodyBorder: false,
  border: false,
  action_name: 'merge_row',
  window_title: "Merge",
  before_row_edit : function(record) {
  },
  autoHeight: true,
  initComponent : function() {
    this.merge_to577 = new Lino.RemoteComboFieldElement({ "allowBlank": false, "anchor": "-20", "autoHeight": true, "detail_action": "Lino.households.Households.detail", "emptyText": "Select a Household...", "fieldLabel": "into...", "hiddenName": "merge_toHidden", "insert_action": "Lino.households.Households.insert", "listeners": { "render": Lino.quicktip_renderer("into...","(Merge.merge_to) ") }, "name": "merge_to", "pageSize": 20, "preferred_width": 20, "related_actor_id": "households.Households", "selectOnFocus": true, "store": new Lino.ComplexRemoteComboStore({ "proxy": new Ext.data.HttpProxy({ "method": "GET", "url": "/apchoices/households/Households/merge_row/merge_to" }) }) });
    this.households_Member578 = new Ext.form.Checkbox({ "allowBlank": false, "anchor": "-20", "autoHeight": true, "boxLabel": "Household Members", "checked": false, "hideLabel": true, "listeners": { "render": Lino.quicktip_renderer("Household Members","(Merge.households_Member) ") }, "name": "households_Member", "selectOnFocus": true });
    this.addresses_Address579 = new Ext.form.Checkbox({ "allowBlank": false, "anchor": "-20", "autoHeight": true, "boxLabel": "Addresses", "checked": false, "hideLabel": true, "listeners": { "render": Lino.quicktip_renderer("Addresses","(Merge.addresses_Address) ") }, "name": "addresses_Address", "selectOnFocus": true });
    var keep_volatiles_1_panel580 = new Ext.Panel({ "anchor": "-20", "autoHeight": true, "autoScroll": false, "border": false, "frame": false, "hideCheckBoxLabels": true, "items": [ { "autoHeight": true, "flex": 50, "items": this.households_Member578, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 50, "items": this.addresses_Address579, "labelAlign": "top", "layout": "form", "xtype": "panel" } ], "labelAlign": "top", "labelWidth": 0, "layout": "hbox", "layoutConfig": { "align": "stretchmax" } });
    this.lists_Member583 = new Ext.form.Checkbox({ "allowBlank": false, "anchor": "-20", "autoHeight": true, "boxLabel": "List memberships", "checked": false, "hideLabel": true, "listeners": { "render": Lino.quicktip_renderer("List memberships","(Merge.lists_Member) ") }, "name": "lists_Member", "selectOnFocus": true });
    this.phones_ContactDetail584 = new Ext.form.Checkbox({ "allowBlank": false, "anchor": "-20", "autoHeight": true, "boxLabel": "Contact details", "checked": false, "hideLabel": true, "listeners": { "render": Lino.quicktip_renderer("Contact details","(Merge.phones_ContactDetail) ") }, "name": "phones_ContactDetail", "selectOnFocus": true });
    var keep_volatiles_2_panel585 = new Ext.Panel({ "anchor": "-20", "autoHeight": true, "autoScroll": false, "border": false, "frame": false, "hideCheckBoxLabels": true, "items": [ { "autoHeight": true, "flex": 50, "items": this.lists_Member583, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 50, "items": this.phones_ContactDetail584, "labelAlign": "top", "layout": "form", "xtype": "panel" } ], "labelAlign": "top", "labelWidth": 0, "layout": "hbox", "layoutConfig": { "align": "stretchmax" } });
    this.sepa_Account588 = new Ext.form.Checkbox({ "allowBlank": false, "anchor": "-20", "autoHeight": true, "boxLabel": "Bank accounts", "checked": false, "hideLabel": true, "listeners": { "render": Lino.quicktip_renderer("Bank accounts","(Merge.sepa_Account) ") }, "name": "sepa_Account", "selectOnFocus": true });
    this.topics_Interest589 = new Ext.form.Checkbox({ "allowBlank": false, "anchor": "-20", "autoHeight": true, "boxLabel": "Interests", "checked": false, "hideLabel": true, "listeners": { "render": Lino.quicktip_renderer("Interests","(Merge.topics_Interest) ") }, "name": "topics_Interest", "selectOnFocus": true });
    var keep_volatiles_3_panel590 = new Ext.Panel({ "anchor": "-20", "autoHeight": true, "autoScroll": false, "border": false, "frame": false, "hideCheckBoxLabels": true, "items": [ { "autoHeight": true, "flex": 50, "items": this.sepa_Account588, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 50, "items": this.topics_Interest589, "labelAlign": "top", "layout": "form", "xtype": "panel" } ], "labelAlign": "top", "labelWidth": 0, "layout": "hbox", "layoutConfig": { "align": "stretchmax" } });
    var keep_volatiles_panel593 = new Ext.form.FieldSet({ "anchor": "-20", "autoHeight": true, "autoScroll": false, "bodyBorder": false, "border": false, "frame": true, "hideCheckBoxLabels": true, "items": [ keep_volatiles_1_panel580, keep_volatiles_2_panel585, keep_volatiles_3_panel590 ], "labelAlign": "top", "layout": "form", "title": "Also reassign volatile related objects" });
    this.reason594 = new Ext.form.TextField({ "allowBlank": false, "anchor": "-20", "autoHeight": true, "fieldLabel": "Reason", "listeners": { "render": Lino.quicktip_renderer("Reason","(Merge.reason) ") }, "maxLength": 100, "name": "reason", "selectOnFocus": true });
    this.items = [ { "anchor": "-20", "autoHeight": true, "items": this.merge_to577, "labelAlign": "top", "layout": "form", "xtype": "panel" }, keep_volatiles_panel593, { "anchor": "-20", "autoHeight": true, "items": this.reason594, "labelAlign": "top", "layout": "form", "xtype": "panel" } ];
    this.fields = [ this.merge_to577, this.households_Member578, this.addresses_Address579, this.lists_Member583, this.phones_ContactDetail584, this.sepa_Account588, this.topics_Interest589, this.reason594 ];
    this.http_method = "GET"
    Lino.households.Households.merge_row_ActionFormPanel.superclass.initComponent.call(this);
  }
});


Lino.courses.Activities.print_presence_sheet_ActionFormPanel = Ext.extend(Lino.ActionFormPanel,{
  hideCheckBoxLabels: true,
  layout: "form",
  autoHeight: true,
  labelAlign: "top",
  autoScroll: false,
  labelWidth: 0,
  frame: true,
  bodyBorder: false,
  border: false,
  action_name: 'print_presence_sheet',
  window_title: "Presence sheet",
  before_row_edit : function(record) {
  },
  autoHeight: true,
  initComponent : function() {
    this.start_date635 = new Lino.DateField({ "allowBlank": true, "anchor": "-20", "autoHeight": true, "fieldLabel": "<span style=\"border-bottom: 1px dotted #000000;\">Date from</span>", "listeners": { "render": Lino.quicktip_renderer("Date from","(Presence sheet.start_date) Start of observed date range") }, "name": "start_date", "selectOnFocus": true });
    this.end_date636 = new Lino.DateField({ "allowBlank": true, "anchor": "-20", "autoHeight": true, "fieldLabel": "<span style=\"border-bottom: 1px dotted #000000;\">until</span>", "listeners": { "render": Lino.quicktip_renderer("until","(Presence sheet.end_date) End of observed date range") }, "name": "end_date", "selectOnFocus": true });
    this.show_remarks637 = new Ext.form.Checkbox({ "allowBlank": false, "anchor": "-20", "autoHeight": true, "boxLabel": "Show remarks", "checked": false, "hideLabel": true, "listeners": { "render": Lino.quicktip_renderer("Show remarks","(Presence sheet.show_remarks) ") }, "name": "show_remarks", "selectOnFocus": true });
    this.show_states638 = new Ext.form.Checkbox({ "allowBlank": false, "anchor": "-20", "autoHeight": true, "boxLabel": "Show states", "checked": true, "hideLabel": true, "listeners": { "render": Lino.quicktip_renderer("Show states","(Presence sheet.show_states) ") }, "name": "show_states", "selectOnFocus": true });
    this.items = [ { "anchor": "-20", "autoHeight": true, "items": this.start_date635, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "anchor": "-20", "autoHeight": true, "items": this.end_date636, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "anchor": "-20", "autoHeight": true, "items": this.show_remarks637, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "anchor": "-20", "autoHeight": true, "items": this.show_states638, "labelAlign": "top", "layout": "form", "xtype": "panel" } ];
    this.fields = [ this.start_date635, this.end_date636, this.show_remarks637, this.show_states638 ];
    this.http_method = "GET"
    Lino.courses.Activities.print_presence_sheet_ActionFormPanel.superclass.initComponent.call(this);
  }
});


Lino.ledger.PaymentTerms.merge_row_ActionFormPanel = Ext.extend(Lino.ActionFormPanel,{
  hideCheckBoxLabels: true,
  layout: "form",
  autoHeight: true,
  labelAlign: "top",
  autoScroll: false,
  labelWidth: 0,
  frame: true,
  bodyBorder: false,
  border: false,
  action_name: 'merge_row',
  window_title: "Merge",
  before_row_edit : function(record) {
  },
  autoHeight: true,
  initComponent : function() {
    this.merge_to567 = new Lino.RemoteComboFieldElement({ "allowBlank": false, "anchor": "-20", "autoHeight": true, "detail_action": "Lino.ledger.PaymentTerms.detail", "emptyText": "Select a Payment term...", "fieldLabel": "into...", "hiddenName": "merge_toHidden", "listeners": { "render": Lino.quicktip_renderer("into...","(Merge.merge_to) ") }, "name": "merge_to", "pageSize": 20, "related_actor_id": "ledger.PaymentTerms", "selectOnFocus": true, "store": new Lino.ComplexRemoteComboStore({ "proxy": new Ext.data.HttpProxy({ "method": "GET", "url": "/apchoices/ledger/PaymentTerms/merge_row/merge_to" }) }) });
    this.reason568 = new Ext.form.TextField({ "allowBlank": false, "anchor": "-20", "autoHeight": true, "fieldLabel": "Reason", "listeners": { "render": Lino.quicktip_renderer("Reason","(Merge.reason) ") }, "maxLength": 100, "name": "reason", "selectOnFocus": true });
    this.items = [ { "anchor": "-20", "autoHeight": true, "items": this.merge_to567, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "anchor": "-20", "autoHeight": true, "items": this.reason568, "labelAlign": "top", "layout": "form", "xtype": "panel" } ];
    this.fields = [ this.merge_to567, this.reason568 ];
    this.http_method = "GET"
    Lino.ledger.PaymentTerms.merge_row_ActionFormPanel.superclass.initComponent.call(this);
  }
});


Lino.cal.GuestRoles.merge_row_ActionFormPanel = Ext.extend(Lino.ActionFormPanel,{
  hideCheckBoxLabels: true,
  layout: "form",
  autoHeight: true,
  labelAlign: "top",
  autoScroll: false,
  labelWidth: 0,
  frame: true,
  bodyBorder: false,
  border: false,
  action_name: 'merge_row',
  window_title: "Merge",
  before_row_edit : function(record) {
  },
  autoHeight: true,
  initComponent : function() {
    this.merge_to535 = new Lino.RemoteComboFieldElement({ "allowBlank": false, "anchor": "-20", "autoHeight": true, "detail_action": "Lino.cal.GuestRoles.detail", "emptyText": "Select a Guest role...", "fieldLabel": "into...", "hiddenName": "merge_toHidden", "listeners": { "render": Lino.quicktip_renderer("into...","(Merge.merge_to) ") }, "name": "merge_to", "pageSize": 20, "related_actor_id": "cal.GuestRoles", "selectOnFocus": true, "store": new Lino.ComplexRemoteComboStore({ "proxy": new Ext.data.HttpProxy({ "method": "GET", "url": "/apchoices/cal/GuestRoles/merge_row/merge_to" }) }) });
    this.reason536 = new Ext.form.TextField({ "allowBlank": false, "anchor": "-20", "autoHeight": true, "fieldLabel": "Reason", "listeners": { "render": Lino.quicktip_renderer("Reason","(Merge.reason) ") }, "maxLength": 100, "name": "reason", "selectOnFocus": true });
    this.items = [ { "anchor": "-20", "autoHeight": true, "items": this.merge_to535, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "anchor": "-20", "autoHeight": true, "items": this.reason536, "labelAlign": "top", "layout": "form", "xtype": "panel" } ];
    this.fields = [ this.merge_to535, this.reason536 ];
    this.http_method = "GET"
    Lino.cal.GuestRoles.merge_row_ActionFormPanel.superclass.initComponent.call(this);
  }
});


Lino.users.AllUsers.merge_row_ActionFormPanel = Ext.extend(Lino.ActionFormPanel,{
  hideCheckBoxLabels: true,
  layout: "form",
  autoHeight: true,
  labelAlign: "top",
  autoScroll: false,
  labelWidth: 0,
  frame: true,
  bodyBorder: false,
  border: false,
  action_name: 'merge_row',
  window_title: "Merge",
  before_row_edit : function(record) {
  },
  autoHeight: true,
  initComponent : function() {
    this.merge_to613 = new Lino.RemoteComboFieldElement({ "allowBlank": false, "anchor": "-20", "autoHeight": true, "detail_action": "Lino.users.AllUsers.detail", "emptyText": "Select a User...", "fieldLabel": "into...", "hiddenName": "merge_toHidden", "insert_action": "Lino.users.AllUsers.insert", "listeners": { "render": Lino.quicktip_renderer("into...","(Merge.merge_to) ") }, "name": "merge_to", "pageSize": 20, "preferred_width": 15, "related_actor_id": "users.AllUsers", "selectOnFocus": true, "store": new Lino.ComplexRemoteComboStore({ "proxy": new Ext.data.HttpProxy({ "method": "GET", "url": "/apchoices/users/AllUsers/merge_row/merge_to" }) }) });
    this.cal_Subscription614 = new Ext.form.Checkbox({ "allowBlank": false, "anchor": "-20", "autoHeight": true, "boxLabel": "Subscriptions", "checked": false, "hideLabel": true, "listeners": { "render": Lino.quicktip_renderer("Subscriptions","(Merge.cal_Subscription) ") }, "name": "cal_Subscription", "selectOnFocus": true });
    this.comments_Reaction615 = new Ext.form.Checkbox({ "allowBlank": false, "anchor": "-20", "autoHeight": true, "boxLabel": "Reactions", "checked": false, "hideLabel": true, "listeners": { "render": Lino.quicktip_renderer("Reactions","(Merge.comments_Reaction) ") }, "name": "comments_Reaction", "selectOnFocus": true });
    var keep_volatiles_panel616 = new Ext.form.FieldSet({ "anchor": "-20", "autoHeight": true, "autoScroll": false, "bodyBorder": true, "border": false, "frame": false, "hideCheckBoxLabels": true, "items": [ { "autoHeight": true, "flex": 50, "items": this.cal_Subscription614, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 50, "items": this.comments_Reaction615, "labelAlign": "top", "layout": "form", "xtype": "panel" } ], "labelAlign": "top", "labelWidth": 0, "layout": "hbox", "layoutConfig": { "align": "stretchmax" }, "title": "Also reassign volatile related objects" });
    this.reason619 = new Ext.form.TextField({ "allowBlank": false, "anchor": "-20", "autoHeight": true, "fieldLabel": "Reason", "listeners": { "render": Lino.quicktip_renderer("Reason","(Merge.reason) ") }, "maxLength": 100, "name": "reason", "selectOnFocus": true });
    this.items = [ { "anchor": "-20", "autoHeight": true, "items": this.merge_to613, "labelAlign": "top", "layout": "form", "xtype": "panel" }, keep_volatiles_panel616, { "anchor": "-20", "autoHeight": true, "items": this.reason619, "labelAlign": "top", "layout": "form", "xtype": "panel" } ];
    this.fields = [ this.merge_to613, this.cal_Subscription614, this.comments_Reaction615, this.reason619 ];
    this.http_method = "GET"
    Lino.users.AllUsers.merge_row_ActionFormPanel.superclass.initComponent.call(this);
  }
});


Lino.contacts.Partners.import_text_ActionFormPanel = Ext.extend(Lino.ActionFormPanel,{
  hideCheckBoxLabels: true,
  layout: "vbox",
  layoutConfig: { "align": "stretch" },
  labelAlign: "top",
  autoScroll: false,
  labelWidth: 0,
  frame: true,
  bodyBorder: false,
  border: false,
  action_name: 'import_text',
  window_title: "Import from text",
  before_row_edit : function(record) {
  },
  initComponent : function() {
    this.text469 = new Ext.form.TextArea({ "allowBlank": false, "anchor": "-20 -10", "fieldLabel": "One line per contact", "growMax": 2000, "listeners": { "render": Lino.quicktip_renderer("One line per contact","(Import from text.text) ") }, "name": "text", "selectOnFocus": true });
    this.confirm_changes470 = new Ext.form.Checkbox({ "allowBlank": false, "anchor": "-20", "autoHeight": true, "boxLabel": "Confirm every change", "checked": true, "hideLabel": true, "listeners": { "render": Lino.quicktip_renderer("Confirm every change","(Import from text.confirm_changes) ") }, "name": "confirm_changes", "selectOnFocus": true });
    this.items = [ { "flex": 83, "items": this.text469, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "items": this.confirm_changes470, "labelAlign": "top", "layout": "form", "xtype": "panel" } ];
    this.fields = [ this.text469, this.confirm_changes470 ];
    this.http_method = "POST"
    Lino.contacts.Partners.import_text_ActionFormPanel.superclass.initComponent.call(this);
  }
});


Lino.contacts.Partners.merge_row_ActionFormPanel = Ext.extend(Lino.ActionFormPanel,{
  hideCheckBoxLabels: true,
  layout: "form",
  autoHeight: true,
  labelAlign: "top",
  autoScroll: false,
  labelWidth: 0,
  frame: true,
  bodyBorder: false,
  border: false,
  action_name: 'merge_row',
  window_title: "Merge",
  before_row_edit : function(record) {
  },
  autoHeight: true,
  initComponent : function() {
    this.merge_to474 = new Lino.RemoteComboFieldElement({ "allowBlank": false, "anchor": "-20", "autoHeight": true, "detail_action": "Lino.contacts.Partners.detail", "emptyText": "Select a Partner...", "fieldLabel": "into...", "hiddenName": "merge_toHidden", "listeners": { "render": Lino.quicktip_renderer("into...","(Merge.merge_to) ") }, "name": "merge_to", "pageSize": 20, "preferred_width": 20, "related_actor_id": "contacts.Partners", "selectOnFocus": true, "store": new Lino.ComplexRemoteComboStore({ "proxy": new Ext.data.HttpProxy({ "method": "GET", "url": "/apchoices/contacts/Partners/merge_row/merge_to" }) }) });
    this.addresses_Address475 = new Ext.form.Checkbox({ "allowBlank": false, "anchor": "-20", "autoHeight": true, "boxLabel": "Addresses", "checked": false, "hideLabel": true, "listeners": { "render": Lino.quicktip_renderer("Addresses","(Merge.addresses_Address) ") }, "name": "addresses_Address", "selectOnFocus": true });
    this.lists_Member476 = new Ext.form.Checkbox({ "allowBlank": false, "anchor": "-20", "autoHeight": true, "boxLabel": "List memberships", "checked": false, "hideLabel": true, "listeners": { "render": Lino.quicktip_renderer("List memberships","(Merge.lists_Member) ") }, "name": "lists_Member", "selectOnFocus": true });
    var keep_volatiles_1_panel477 = new Ext.Panel({ "anchor": "-20", "autoHeight": true, "autoScroll": false, "border": false, "frame": false, "hideCheckBoxLabels": true, "items": [ { "autoHeight": true, "flex": 50, "items": this.addresses_Address475, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 50, "items": this.lists_Member476, "labelAlign": "top", "layout": "form", "xtype": "panel" } ], "labelAlign": "top", "labelWidth": 0, "layout": "hbox", "layoutConfig": { "align": "stretchmax" } });
    this.phones_ContactDetail480 = new Ext.form.Checkbox({ "allowBlank": false, "anchor": "-20", "autoHeight": true, "boxLabel": "Contact details", "checked": false, "hideLabel": true, "listeners": { "render": Lino.quicktip_renderer("Contact details","(Merge.phones_ContactDetail) ") }, "name": "phones_ContactDetail", "selectOnFocus": true });
    this.sepa_Account481 = new Ext.form.Checkbox({ "allowBlank": false, "anchor": "-20", "autoHeight": true, "boxLabel": "Bank accounts", "checked": false, "hideLabel": true, "listeners": { "render": Lino.quicktip_renderer("Bank accounts","(Merge.sepa_Account) ") }, "name": "sepa_Account", "selectOnFocus": true });
    var keep_volatiles_2_panel482 = new Ext.Panel({ "anchor": "-20", "autoHeight": true, "autoScroll": false, "border": false, "frame": false, "hideCheckBoxLabels": true, "items": [ { "autoHeight": true, "flex": 50, "items": this.phones_ContactDetail480, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 50, "items": this.sepa_Account481, "labelAlign": "top", "layout": "form", "xtype": "panel" } ], "labelAlign": "top", "labelWidth": 0, "layout": "hbox", "layoutConfig": { "align": "stretchmax" } });
    this.topics_Interest485 = new Ext.form.Checkbox({ "allowBlank": false, "anchor": "-20", "autoHeight": true, "boxLabel": "Interests", "checked": false, "hideLabel": true, "listeners": { "render": Lino.quicktip_renderer("Interests","(Merge.topics_Interest) ") }, "name": "topics_Interest", "selectOnFocus": true });
    var keep_volatiles_panel486 = new Ext.form.FieldSet({ "anchor": "-20", "autoHeight": true, "autoScroll": false, "bodyBorder": false, "border": false, "frame": true, "hideCheckBoxLabels": true, "items": [ keep_volatiles_1_panel477, keep_volatiles_2_panel482, { "anchor": "-20", "autoHeight": true, "items": this.topics_Interest485, "labelAlign": "top", "layout": "form", "xtype": "panel" } ], "labelAlign": "top", "labelWidth": 0, "layout": "form", "title": "Also reassign volatile related objects" });
    this.reason488 = new Ext.form.TextField({ "allowBlank": false, "anchor": "-20", "autoHeight": true, "fieldLabel": "Reason", "listeners": { "render": Lino.quicktip_renderer("Reason","(Merge.reason) ") }, "maxLength": 100, "name": "reason", "selectOnFocus": true });
    this.items = [ { "anchor": "-20", "autoHeight": true, "items": this.merge_to474, "labelAlign": "top", "layout": "form", "xtype": "panel" }, keep_volatiles_panel486, { "anchor": "-20", "autoHeight": true, "items": this.reason488, "labelAlign": "top", "layout": "form", "xtype": "panel" } ];
    this.fields = [ this.merge_to474, this.addresses_Address475, this.lists_Member476, this.phones_ContactDetail480, this.sepa_Account481, this.topics_Interest485, this.reason488 ];
    this.http_method = "GET"
    Lino.contacts.Partners.merge_row_ActionFormPanel.superclass.initComponent.call(this);
  }
});


Lino.courses.Activities.print_presence_sheet_html_ActionFormPanel = Ext.extend(Lino.ActionFormPanel,{
  hideCheckBoxLabels: true,
  layout: "form",
  autoHeight: true,
  labelAlign: "top",
  autoScroll: false,
  labelWidth: 0,
  frame: true,
  bodyBorder: false,
  border: false,
  action_name: 'print_presence_sheet_html',
  window_title: "Presence sheet (HTML)",
  before_row_edit : function(record) {
  },
  autoHeight: true,
  initComponent : function() {
    this.start_date644 = new Lino.DateField({ "allowBlank": true, "anchor": "-20", "autoHeight": true, "fieldLabel": "<span style=\"border-bottom: 1px dotted #000000;\">Date from</span>", "listeners": { "render": Lino.quicktip_renderer("Date from","(Presence sheet (HTML).start_date) Start of observed date range") }, "name": "start_date", "selectOnFocus": true });
    this.end_date645 = new Lino.DateField({ "allowBlank": true, "anchor": "-20", "autoHeight": true, "fieldLabel": "<span style=\"border-bottom: 1px dotted #000000;\">until</span>", "listeners": { "render": Lino.quicktip_renderer("until","(Presence sheet (HTML).end_date) End of observed date range") }, "name": "end_date", "selectOnFocus": true });
    this.show_remarks646 = new Ext.form.Checkbox({ "allowBlank": false, "anchor": "-20", "autoHeight": true, "boxLabel": "Show remarks", "checked": false, "hideLabel": true, "listeners": { "render": Lino.quicktip_renderer("Show remarks","(Presence sheet (HTML).show_remarks) ") }, "name": "show_remarks", "selectOnFocus": true });
    this.show_states647 = new Ext.form.Checkbox({ "allowBlank": false, "anchor": "-20", "autoHeight": true, "boxLabel": "Show states", "checked": true, "hideLabel": true, "listeners": { "render": Lino.quicktip_renderer("Show states","(Presence sheet (HTML).show_states) ") }, "name": "show_states", "selectOnFocus": true });
    this.items = [ { "anchor": "-20", "autoHeight": true, "items": this.start_date644, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "anchor": "-20", "autoHeight": true, "items": this.end_date645, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "anchor": "-20", "autoHeight": true, "items": this.show_remarks646, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "anchor": "-20", "autoHeight": true, "items": this.show_states647, "labelAlign": "top", "layout": "form", "xtype": "panel" } ];
    this.fields = [ this.start_date644, this.end_date645, this.show_remarks646, this.show_states647 ];
    this.http_method = "GET"
    Lino.courses.Activities.print_presence_sheet_html_ActionFormPanel.superclass.initComponent.call(this);
  }
});


Lino.lists.Lists.merge_row_ActionFormPanel = Ext.extend(Lino.ActionFormPanel,{
  hideCheckBoxLabels: true,
  layout: "form",
  autoHeight: true,
  labelAlign: "top",
  autoScroll: false,
  labelWidth: 0,
  frame: true,
  bodyBorder: false,
  border: false,
  action_name: 'merge_row',
  window_title: "Merge",
  before_row_edit : function(record) {
  },
  autoHeight: true,
  initComponent : function() {
    this.merge_to603 = new Lino.RemoteComboFieldElement({ "allowBlank": false, "anchor": "-20", "autoHeight": true, "detail_action": "Lino.lists.Lists.detail", "emptyText": "Select a Partner List...", "fieldLabel": "into...", "hiddenName": "merge_toHidden", "insert_action": "Lino.lists.Lists.insert", "listeners": { "render": Lino.quicktip_renderer("into...","(Merge.merge_to) ") }, "name": "merge_to", "pageSize": 20, "related_actor_id": "lists.Lists", "selectOnFocus": true, "store": new Lino.ComplexRemoteComboStore({ "proxy": new Ext.data.HttpProxy({ "method": "GET", "url": "/apchoices/lists/Lists/merge_row/merge_to" }) }) });
    this.lists_Member604 = new Ext.form.Checkbox({ "allowBlank": false, "anchor": "-20", "autoHeight": true, "boxLabel": "Also reassign volatile related objects", "checked": false, "hideLabel": true, "listeners": { "render": Lino.quicktip_renderer("List memberships","(Merge.lists_Member) ") }, "name": "lists_Member", "selectOnFocus": true });
    this.reason605 = new Ext.form.TextField({ "allowBlank": false, "anchor": "-20", "autoHeight": true, "fieldLabel": "Reason", "listeners": { "render": Lino.quicktip_renderer("Reason","(Merge.reason) ") }, "maxLength": 100, "name": "reason", "selectOnFocus": true });
    this.items = [ { "anchor": "-20", "autoHeight": true, "items": this.merge_to603, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "anchor": "-20", "autoHeight": true, "items": this.lists_Member604, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "anchor": "-20", "autoHeight": true, "items": this.reason605, "labelAlign": "top", "layout": "form", "xtype": "panel" } ];
    this.fields = [ this.merge_to603, this.lists_Member604, this.reason605 ];
    this.http_method = "GET"
    Lino.lists.Lists.merge_row_ActionFormPanel.superclass.initComponent.call(this);
  }
});


Lino.ledger.AccountingPeriods.merge_row_ActionFormPanel = Ext.extend(Lino.ActionFormPanel,{
  hideCheckBoxLabels: true,
  layout: "form",
  autoHeight: true,
  labelAlign: "top",
  autoScroll: false,
  labelWidth: 0,
  frame: true,
  bodyBorder: false,
  border: false,
  action_name: 'merge_row',
  window_title: "Merge",
  before_row_edit : function(record) {
  },
  autoHeight: true,
  initComponent : function() {
    this.merge_to562 = new Lino.RemoteComboFieldElement({ "allowBlank": false, "anchor": "-20", "autoHeight": true, "emptyText": "Select a Accounting period...", "fieldLabel": "into...", "hiddenName": "merge_toHidden", "listeners": { "render": Lino.quicktip_renderer("into...","(Merge.merge_to) ") }, "name": "merge_to", "pageSize": 20, "preferred_width": 10, "related_actor_id": "ledger.AccountingPeriods", "selectOnFocus": true, "store": new Lino.ComplexRemoteComboStore({ "proxy": new Ext.data.HttpProxy({ "method": "GET", "url": "/apchoices/ledger/AccountingPeriods/merge_row/merge_to" }) }) });
    this.reason563 = new Ext.form.TextField({ "allowBlank": false, "anchor": "-20", "autoHeight": true, "fieldLabel": "Reason", "listeners": { "render": Lino.quicktip_renderer("Reason","(Merge.reason) ") }, "maxLength": 100, "name": "reason", "selectOnFocus": true });
    this.items = [ { "anchor": "-20", "autoHeight": true, "items": this.merge_to562, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "anchor": "-20", "autoHeight": true, "items": this.reason563, "labelAlign": "top", "layout": "form", "xtype": "panel" } ];
    this.fields = [ this.merge_to562, this.reason563 ];
    this.http_method = "GET"
    Lino.ledger.AccountingPeriods.merge_row_ActionFormPanel.superclass.initComponent.call(this);
  }
});


Lino.users.AllUsers.change_password_ActionFormPanel = Ext.extend(Lino.ActionFormPanel,{
  hideCheckBoxLabels: true,
  layout: "form",
  autoHeight: true,
  labelAlign: "top",
  autoScroll: false,
  labelWidth: 0,
  frame: true,
  bodyBorder: false,
  border: false,
  action_name: 'change_password',
  window_title: "Change password",
  before_row_edit : function(record) {
  },
  autoHeight: true,
  initComponent : function() {
    this.current623 = new Ext.form.TextField({ "allowBlank": true, "anchor": "-20", "autoHeight": true, "fieldLabel": "<span style=\"border-bottom: 1px dotted #000000;\">Current password</span>", "inputType": "password", "listeners": { "render": Lino.quicktip_renderer("Current password","(Change password.current) The current password. Leave empty if the user has no password\nyet. And SiteAdmin users don't need to specify this at all.") }, "name": "current", "selectOnFocus": true });
    this.new1624 = new Ext.form.TextField({ "allowBlank": true, "anchor": "-20", "autoHeight": true, "fieldLabel": "<span style=\"border-bottom: 1px dotted #000000;\">New password</span>", "inputType": "password", "listeners": { "render": Lino.quicktip_renderer("New password","(Change password.new1) The new password.") }, "name": "new1", "selectOnFocus": true });
    this.new2625 = new Ext.form.TextField({ "allowBlank": true, "anchor": "-20", "autoHeight": true, "fieldLabel": "<span style=\"border-bottom: 1px dotted #000000;\">New password again</span>", "inputType": "password", "listeners": { "render": Lino.quicktip_renderer("New password again","(Change password.new2) The new password a second time. Both passwords must match.") }, "name": "new2", "selectOnFocus": true });
    this.items = [ { "anchor": "-20", "autoHeight": true, "items": this.current623, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "anchor": "-20", "autoHeight": true, "items": this.new1624, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "anchor": "-20", "autoHeight": true, "items": this.new2625, "labelAlign": "top", "layout": "form", "xtype": "panel" } ];
    this.fields = [ this.current623, this.new1624, this.new2625 ];
    this.http_method = "GET"
    Lino.users.AllUsers.change_password_ActionFormPanel.superclass.initComponent.call(this);
  }
});


Lino.contacts.Companies.merge_row_ActionFormPanel = Ext.extend(Lino.ActionFormPanel,{
  hideCheckBoxLabels: true,
  layout: "form",
  autoHeight: true,
  labelAlign: "top",
  autoScroll: false,
  labelWidth: 0,
  frame: true,
  bodyBorder: false,
  border: false,
  action_name: 'merge_row',
  window_title: "Merge",
  before_row_edit : function(record) {
  },
  autoHeight: true,
  initComponent : function() {
    this.merge_to517 = new Lino.RemoteComboFieldElement({ "allowBlank": false, "anchor": "-20", "autoHeight": true, "detail_action": "Lino.contacts.Companies.detail", "emptyText": "Select a Organization...", "fieldLabel": "into...", "hiddenName": "merge_toHidden", "insert_action": "Lino.contacts.Companies.insert", "listeners": { "render": Lino.quicktip_renderer("into...","(Merge.merge_to) ") }, "name": "merge_to", "pageSize": 20, "preferred_width": 20, "related_actor_id": "contacts.Companies", "selectOnFocus": true, "store": new Lino.ComplexRemoteComboStore({ "proxy": new Ext.data.HttpProxy({ "method": "GET", "url": "/apchoices/contacts/Companies/merge_row/merge_to" }) }) });
    this.addresses_Address518 = new Ext.form.Checkbox({ "allowBlank": false, "anchor": "-20", "autoHeight": true, "boxLabel": "Addresses", "checked": false, "hideLabel": true, "listeners": { "render": Lino.quicktip_renderer("Addresses","(Merge.addresses_Address) ") }, "name": "addresses_Address", "selectOnFocus": true });
    this.lists_Member519 = new Ext.form.Checkbox({ "allowBlank": false, "anchor": "-20", "autoHeight": true, "boxLabel": "List memberships", "checked": false, "hideLabel": true, "listeners": { "render": Lino.quicktip_renderer("List memberships","(Merge.lists_Member) ") }, "name": "lists_Member", "selectOnFocus": true });
    var keep_volatiles_1_panel520 = new Ext.Panel({ "anchor": "-20", "autoHeight": true, "autoScroll": false, "border": false, "frame": false, "hideCheckBoxLabels": true, "items": [ { "autoHeight": true, "flex": 50, "items": this.addresses_Address518, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 50, "items": this.lists_Member519, "labelAlign": "top", "layout": "form", "xtype": "panel" } ], "labelAlign": "top", "labelWidth": 0, "layout": "hbox", "layoutConfig": { "align": "stretchmax" } });
    this.phones_ContactDetail523 = new Ext.form.Checkbox({ "allowBlank": false, "anchor": "-20", "autoHeight": true, "boxLabel": "Contact details", "checked": false, "hideLabel": true, "listeners": { "render": Lino.quicktip_renderer("Contact details","(Merge.phones_ContactDetail) ") }, "name": "phones_ContactDetail", "selectOnFocus": true });
    this.sepa_Account524 = new Ext.form.Checkbox({ "allowBlank": false, "anchor": "-20", "autoHeight": true, "boxLabel": "Bank accounts", "checked": false, "hideLabel": true, "listeners": { "render": Lino.quicktip_renderer("Bank accounts","(Merge.sepa_Account) ") }, "name": "sepa_Account", "selectOnFocus": true });
    var keep_volatiles_2_panel525 = new Ext.Panel({ "anchor": "-20", "autoHeight": true, "autoScroll": false, "border": false, "frame": false, "hideCheckBoxLabels": true, "items": [ { "autoHeight": true, "flex": 50, "items": this.phones_ContactDetail523, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 50, "items": this.sepa_Account524, "labelAlign": "top", "layout": "form", "xtype": "panel" } ], "labelAlign": "top", "labelWidth": 0, "layout": "hbox", "layoutConfig": { "align": "stretchmax" } });
    this.topics_Interest528 = new Ext.form.Checkbox({ "allowBlank": false, "anchor": "-20", "autoHeight": true, "boxLabel": "Interests", "checked": false, "hideLabel": true, "listeners": { "render": Lino.quicktip_renderer("Interests","(Merge.topics_Interest) ") }, "name": "topics_Interest", "selectOnFocus": true });
    var keep_volatiles_panel529 = new Ext.form.FieldSet({ "anchor": "-20", "autoHeight": true, "autoScroll": false, "bodyBorder": false, "border": false, "frame": true, "hideCheckBoxLabels": true, "items": [ keep_volatiles_1_panel520, keep_volatiles_2_panel525, { "anchor": "-20", "autoHeight": true, "items": this.topics_Interest528, "labelAlign": "top", "layout": "form", "xtype": "panel" } ], "labelAlign": "top", "labelWidth": 0, "layout": "form", "title": "Also reassign volatile related objects" });
    this.reason531 = new Ext.form.TextField({ "allowBlank": false, "anchor": "-20", "autoHeight": true, "fieldLabel": "Reason", "listeners": { "render": Lino.quicktip_renderer("Reason","(Merge.reason) ") }, "maxLength": 100, "name": "reason", "selectOnFocus": true });
    this.items = [ { "anchor": "-20", "autoHeight": true, "items": this.merge_to517, "labelAlign": "top", "layout": "form", "xtype": "panel" }, keep_volatiles_panel529, { "anchor": "-20", "autoHeight": true, "items": this.reason531, "labelAlign": "top", "layout": "form", "xtype": "panel" } ];
    this.fields = [ this.merge_to517, this.addresses_Address518, this.lists_Member519, this.phones_ContactDetail523, this.sepa_Account524, this.topics_Interest528, this.reason531 ];
    this.http_method = "GET"
    Lino.contacts.Companies.merge_row_ActionFormPanel.superclass.initComponent.call(this);
  }
});


Lino.courses.Lines.merge_row_ActionFormPanel = Ext.extend(Lino.ActionFormPanel,{
  hideCheckBoxLabels: true,
  layout: "form",
  autoHeight: true,
  labelAlign: "top",
  autoScroll: false,
  labelWidth: 0,
  frame: true,
  bodyBorder: false,
  border: false,
  action_name: 'merge_row',
  window_title: "Merge",
  before_row_edit : function(record) {
  },
  autoHeight: true,
  initComponent : function() {
    this.merge_to630 = new Lino.RemoteComboFieldElement({ "allowBlank": false, "anchor": "-20", "autoHeight": true, "detail_action": "Lino.courses.Lines.detail", "emptyText": "Select a Activity line...", "fieldLabel": "into...", "hiddenName": "merge_toHidden", "insert_action": "Lino.courses.Lines.insert", "listeners": { "render": Lino.quicktip_renderer("into...","(Merge.merge_to) ") }, "name": "merge_to", "pageSize": 20, "related_actor_id": "courses.Lines", "selectOnFocus": true, "store": new Lino.ComplexRemoteComboStore({ "proxy": new Ext.data.HttpProxy({ "method": "GET", "url": "/apchoices/courses/Lines/merge_row/merge_to" }) }) });
    this.reason631 = new Ext.form.TextField({ "allowBlank": false, "anchor": "-20", "autoHeight": true, "fieldLabel": "Reason", "listeners": { "render": Lino.quicktip_renderer("Reason","(Merge.reason) ") }, "maxLength": 100, "name": "reason", "selectOnFocus": true });
    this.items = [ { "anchor": "-20", "autoHeight": true, "items": this.merge_to630, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "anchor": "-20", "autoHeight": true, "items": this.reason631, "labelAlign": "top", "layout": "form", "xtype": "panel" } ];
    this.fields = [ this.merge_to630, this.reason631 ];
    this.http_method = "GET"
    Lino.courses.Lines.merge_row_ActionFormPanel.superclass.initComponent.call(this);
  }
});


Lino.ledger.Accounts.merge_row_ActionFormPanel = Ext.extend(Lino.ActionFormPanel,{
  hideCheckBoxLabels: true,
  layout: "form",
  autoHeight: true,
  labelAlign: "top",
  autoScroll: false,
  labelWidth: 0,
  frame: true,
  bodyBorder: false,
  border: false,
  action_name: 'merge_row',
  window_title: "Merge",
  before_row_edit : function(record) {
  },
  autoHeight: true,
  initComponent : function() {
    this.merge_to550 = new Lino.RemoteComboFieldElement({ "allowBlank": false, "anchor": "-20", "autoHeight": true, "detail_action": "Lino.ledger.Accounts.detail", "emptyText": "Select a Account...", "fieldLabel": "into...", "hiddenName": "merge_toHidden", "insert_action": "Lino.ledger.Accounts.insert", "listeners": { "render": Lino.quicktip_renderer("into...","(Merge.merge_to) ") }, "name": "merge_to", "pageSize": 20, "related_actor_id": "ledger.Accounts", "selectOnFocus": true, "store": new Lino.ComplexRemoteComboStore({ "proxy": new Ext.data.HttpProxy({ "method": "GET", "url": "/apchoices/ledger/Accounts/merge_row/merge_to" }) }) });
    this.reason551 = new Ext.form.TextField({ "allowBlank": false, "anchor": "-20", "autoHeight": true, "fieldLabel": "Reason", "listeners": { "render": Lino.quicktip_renderer("Reason","(Merge.reason) ") }, "maxLength": 100, "name": "reason", "selectOnFocus": true });
    this.items = [ { "anchor": "-20", "autoHeight": true, "items": this.merge_to550, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "anchor": "-20", "autoHeight": true, "items": this.reason551, "labelAlign": "top", "layout": "form", "xtype": "panel" } ];
    this.fields = [ this.merge_to550, this.reason551 ];
    this.http_method = "GET"
    Lino.ledger.Accounts.merge_row_ActionFormPanel.superclass.initComponent.call(this);
  }
});


Lino.uploads.Volumes.merge_row_ActionFormPanel = Ext.extend(Lino.ActionFormPanel,{
  hideCheckBoxLabels: true,
  layout: "form",
  autoHeight: true,
  labelAlign: "top",
  autoScroll: false,
  labelWidth: 0,
  frame: true,
  bodyBorder: false,
  border: false,
  action_name: 'merge_row',
  window_title: "Merge",
  before_row_edit : function(record) {
  },
  autoHeight: true,
  initComponent : function() {
    this.merge_to545 = new Lino.RemoteComboFieldElement({ "allowBlank": false, "anchor": "-20", "autoHeight": true, "detail_action": "Lino.uploads.Volumes.detail", "emptyText": "Select a Library volume...", "fieldLabel": "into...", "hiddenName": "merge_toHidden", "insert_action": "Lino.uploads.Volumes.insert", "listeners": { "render": Lino.quicktip_renderer("into...","(Merge.merge_to) ") }, "name": "merge_to", "pageSize": 20, "preferred_width": 5, "related_actor_id": "uploads.Volumes", "selectOnFocus": true, "store": new Lino.ComplexRemoteComboStore({ "proxy": new Ext.data.HttpProxy({ "method": "GET", "url": "/apchoices/uploads/Volumes/merge_row/merge_to" }) }) });
    this.reason546 = new Ext.form.TextField({ "allowBlank": false, "anchor": "-20", "autoHeight": true, "fieldLabel": "Reason", "listeners": { "render": Lino.quicktip_renderer("Reason","(Merge.reason) ") }, "maxLength": 100, "name": "reason", "selectOnFocus": true });
    this.items = [ { "anchor": "-20", "autoHeight": true, "items": this.merge_to545, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "anchor": "-20", "autoHeight": true, "items": this.reason546, "labelAlign": "top", "layout": "form", "xtype": "panel" } ];
    this.fields = [ this.merge_to545, this.reason546 ];
    this.http_method = "GET"
    Lino.uploads.Volumes.merge_row_ActionFormPanel.superclass.initComponent.call(this);
  }
});


Lino.contacts.Persons.create_household_ActionFormPanel = Ext.extend(Lino.ActionFormPanel,{
  hideCheckBoxLabels: true,
  layout: "form",
  autoHeight: true,
  labelAlign: "top",
  autoScroll: false,
  labelWidth: 0,
  frame: true,
  bodyBorder: false,
  border: false,
  action_name: 'create_household',
  window_title: "Create Household",
  before_row_edit : function(record) {
  },
  autoHeight: true,
  initComponent : function() {
    this.head510 = new Lino.RemoteComboFieldElement({ "allowBlank": false, "anchor": "-20", "autoHeight": true, "detail_action": "Lino.contacts.Persons.detail", "emptyText": "Select a Person...", "fieldLabel": "Head of household", "hiddenName": "headHidden", "insert_action": "Lino.contacts.Persons.insert", "listeners": { "render": Lino.quicktip_renderer("Head of household","(Create Household.head) ") }, "name": "head", "pageSize": 20, "preferred_width": 20, "related_actor_id": "contacts.Persons", "selectOnFocus": true, "store": new Lino.ComplexRemoteComboStore({ "proxy": new Ext.data.HttpProxy({ "method": "GET", "url": "/apchoices/contacts/Persons/create_household/head" }) }) });
    this.type511 = new Lino.RemoteComboFieldElement({ "allowBlank": true, "anchor": "-20", "autoHeight": true, "detail_action": "Lino.households.Types.detail", "emptyText": "Select a Household Type...", "fieldLabel": "Household Type", "hiddenName": "typeHidden", "listeners": { "render": Lino.quicktip_renderer("Household Type","(Create Household.type) ") }, "name": "type", "pageSize": 20, "related_actor_id": "households.Types", "selectOnFocus": true, "store": new Lino.ComplexRemoteComboStore({ "proxy": new Ext.data.HttpProxy({ "method": "GET", "url": "/apchoices/contacts/Persons/create_household/type" }) }) });
    this.partner512 = new Lino.RemoteComboFieldElement({ "allowBlank": true, "anchor": "-20", "autoHeight": true, "detail_action": "Lino.contacts.Persons.detail", "emptyText": "Select a Person...", "fieldLabel": "Partner", "hiddenName": "partnerHidden", "insert_action": "Lino.contacts.Persons.insert", "listeners": { "render": Lino.quicktip_renderer("Partner","(Create Household.partner) ") }, "name": "partner", "pageSize": 20, "preferred_width": 20, "related_actor_id": "contacts.Persons", "selectOnFocus": true, "store": new Lino.ComplexRemoteComboStore({ "proxy": new Ext.data.HttpProxy({ "method": "GET", "url": "/apchoices/contacts/Persons/create_household/partner" }) }) });
    this.items = [ { "anchor": "-20", "autoHeight": true, "items": this.head510, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "anchor": "-20", "autoHeight": true, "items": this.type511, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "anchor": "-20", "autoHeight": true, "items": this.partner512, "labelAlign": "top", "layout": "form", "xtype": "panel" } ];
    this.fields = [ this.head510, this.type511, this.partner512 ];
    this.http_method = "GET"
    Lino.contacts.Persons.create_household_ActionFormPanel.superclass.initComponent.call(this);
  }
});


Lino.comments.Comments.do_pick_my_emotion_ActionFormPanel = Ext.extend(Lino.ActionFormPanel,{
  hideCheckBoxLabels: true,
  layout: "fit",
  labelAlign: "top",
  autoScroll: false,
  labelWidth: 0,
  frame: true,
  bodyBorder: false,
  border: false,
  action_name: 'do_pick_my_emotion',
  window_title: "Emotion",
  before_row_edit : function(record) {
  },
  autoHeight: true,
  initComponent : function() {
    this.choice610 = new Lino.ChoicesFieldElement({ "allowBlank": false, "anchor": "-20", "autoHeight": true, "fieldLabel": "Emotion", "forceSelection": true, "hiddenName": "choiceHidden", "listeners": { "render": Lino.quicktip_renderer("Emotion","(Emotion.choice) ") }, "name": "choice", "selectOnFocus": true, "store": Lino.comments.Emotions });
    this.items = [ { "autoHeight": true, "items": this.choice610, "labelAlign": "top", "layout": "form", "xtype": "panel" } ];
    this.fields = [ this.choice610 ];
    this.http_method = "GET"
    Lino.comments.Comments.do_pick_my_emotion_ActionFormPanel.superclass.initComponent.call(this);
  }
});


Lino.ledger.FiscalYears.merge_row_ActionFormPanel = Ext.extend(Lino.ActionFormPanel,{
  hideCheckBoxLabels: true,
  layout: "form",
  autoHeight: true,
  labelAlign: "top",
  autoScroll: false,
  labelWidth: 0,
  frame: true,
  bodyBorder: false,
  border: false,
  action_name: 'merge_row',
  window_title: "Merge",
  before_row_edit : function(record) {
  },
  autoHeight: true,
  initComponent : function() {
    this.merge_to572 = new Lino.RemoteComboFieldElement({ "allowBlank": false, "anchor": "-20", "autoHeight": true, "emptyText": "Select a Fiscal year...", "fieldLabel": "into...", "hiddenName": "merge_toHidden", "listeners": { "render": Lino.quicktip_renderer("into...","(Merge.merge_to) ") }, "name": "merge_to", "pageSize": 20, "preferred_width": 10, "related_actor_id": "ledger.FiscalYears", "selectOnFocus": true, "store": new Lino.ComplexRemoteComboStore({ "proxy": new Ext.data.HttpProxy({ "method": "GET", "url": "/apchoices/ledger/FiscalYears/merge_row/merge_to" }) }) });
    this.reason573 = new Ext.form.TextField({ "allowBlank": false, "anchor": "-20", "autoHeight": true, "fieldLabel": "Reason", "listeners": { "render": Lino.quicktip_renderer("Reason","(Merge.reason) ") }, "maxLength": 100, "name": "reason", "selectOnFocus": true });
    this.items = [ { "anchor": "-20", "autoHeight": true, "items": this.merge_to572, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "anchor": "-20", "autoHeight": true, "items": this.reason573, "labelAlign": "top", "layout": "form", "xtype": "panel" } ];
    this.fields = [ this.merge_to572, this.reason573 ];
    this.http_method = "GET"
    Lino.ledger.FiscalYears.merge_row_ActionFormPanel.superclass.initComponent.call(this);
  }
});


Lino.topics.Topics.merge_row_ActionFormPanel = Ext.extend(Lino.ActionFormPanel,{
  hideCheckBoxLabels: true,
  layout: "form",
  autoHeight: true,
  labelAlign: "top",
  autoScroll: false,
  labelWidth: 0,
  frame: true,
  bodyBorder: false,
  border: false,
  action_name: 'merge_row',
  window_title: "Merge",
  before_row_edit : function(record) {
  },
  autoHeight: true,
  initComponent : function() {
    this.merge_to598 = new Lino.RemoteComboFieldElement({ "allowBlank": false, "anchor": "-20", "autoHeight": true, "detail_action": "Lino.topics.Topics.detail", "emptyText": "Select a Topic...", "fieldLabel": "into...", "hiddenName": "merge_toHidden", "insert_action": "Lino.topics.Topics.insert", "listeners": { "render": Lino.quicktip_renderer("into...","(Merge.merge_to) ") }, "name": "merge_to", "pageSize": 20, "related_actor_id": "topics.Topics", "selectOnFocus": true, "store": new Lino.ComplexRemoteComboStore({ "proxy": new Ext.data.HttpProxy({ "method": "GET", "url": "/apchoices/topics/Topics/merge_row/merge_to" }) }) });
    this.reason599 = new Ext.form.TextField({ "allowBlank": false, "anchor": "-20", "autoHeight": true, "fieldLabel": "Reason", "listeners": { "render": Lino.quicktip_renderer("Reason","(Merge.reason) ") }, "maxLength": 100, "name": "reason", "selectOnFocus": true });
    this.items = [ { "anchor": "-20", "autoHeight": true, "items": this.merge_to598, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "anchor": "-20", "autoHeight": true, "items": this.reason599, "labelAlign": "top", "layout": "form", "xtype": "panel" } ];
    this.fields = [ this.merge_to598, this.reason599 ];
    this.http_method = "GET"
    Lino.topics.Topics.merge_row_ActionFormPanel.superclass.initComponent.call(this);
  }
});


Lino.about.About.sign_in_ActionFormPanel = Ext.extend(Lino.ActionFormPanel,{
  hideCheckBoxLabels: true,
  layout: "form",
  autoHeight: true,
  labelAlign: "left",
  autoScroll: false,
  labelWidth: 0,
  frame: true,
  bodyBorder: false,
  border: false,
  action_name: 'sign_in',
  window_title: "Sign in",
  before_row_edit : function(record) {
  },
  autoHeight: true,
  initComponent : function() {
    this.username464 = new Ext.form.TextField({ "allowBlank": false, "anchor": "-20", "autoHeight": true, "fieldLabel": "Username", "listeners": { "render": Lino.quicktip_renderer("Username","(Sign in.username) ") }, "name": "username", "selectOnFocus": true });
    this.password465 = new Ext.form.TextField({ "allowBlank": true, "anchor": "-20", "autoHeight": true, "fieldLabel": "Password", "inputType": "password", "listeners": { "render": Lino.quicktip_renderer("Password","(Sign in.password) ") }, "name": "password", "selectOnFocus": true });
    this.items = [ { "anchor": "-20", "autoHeight": true, "items": this.username464, "labelAlign": "left", "layout": "form", "xtype": "panel" }, { "anchor": "-20", "autoHeight": true, "items": this.password465, "labelAlign": "left", "layout": "form", "xtype": "panel" } ];
    this.fields = [ this.username464, this.password465 ];
    this.http_method = "POST"
    Lino.about.About.sign_in_ActionFormPanel.superclass.initComponent.call(this);
  }
});


Lino.cal.EventTypes.merge_row_ActionFormPanel = Ext.extend(Lino.ActionFormPanel,{
  hideCheckBoxLabels: true,
  layout: "form",
  autoHeight: true,
  labelAlign: "top",
  autoScroll: false,
  labelWidth: 0,
  frame: true,
  bodyBorder: false,
  border: false,
  action_name: 'merge_row',
  window_title: "Merge",
  before_row_edit : function(record) {
  },
  autoHeight: true,
  initComponent : function() {
    this.merge_to540 = new Lino.RemoteComboFieldElement({ "allowBlank": false, "anchor": "-20", "autoHeight": true, "detail_action": "Lino.cal.EventTypes.detail", "emptyText": "Select a Calendar entry type...", "fieldLabel": "into...", "hiddenName": "merge_toHidden", "insert_action": "Lino.cal.EventTypes.insert", "listeners": { "render": Lino.quicktip_renderer("into...","(Merge.merge_to) ") }, "name": "merge_to", "pageSize": 20, "related_actor_id": "cal.EventTypes", "selectOnFocus": true, "store": new Lino.ComplexRemoteComboStore({ "proxy": new Ext.data.HttpProxy({ "method": "GET", "url": "/apchoices/cal/EventTypes/merge_row/merge_to" }) }) });
    this.reason541 = new Ext.form.TextField({ "allowBlank": false, "anchor": "-20", "autoHeight": true, "fieldLabel": "Reason", "listeners": { "render": Lino.quicktip_renderer("Reason","(Merge.reason) ") }, "maxLength": 100, "name": "reason", "selectOnFocus": true });
    this.items = [ { "anchor": "-20", "autoHeight": true, "items": this.merge_to540, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "anchor": "-20", "autoHeight": true, "items": this.reason541, "labelAlign": "top", "layout": "form", "xtype": "panel" } ];
    this.fields = [ this.merge_to540, this.reason541 ];
    this.http_method = "GET"
    Lino.cal.EventTypes.merge_row_ActionFormPanel.superclass.initComponent.call(this);
  }
});


Lino.contacts.Persons.merge_row_ActionFormPanel = Ext.extend(Lino.ActionFormPanel,{
  hideCheckBoxLabels: true,
  layout: "form",
  autoHeight: true,
  labelAlign: "top",
  autoScroll: false,
  labelWidth: 0,
  frame: true,
  bodyBorder: false,
  border: false,
  action_name: 'merge_row',
  window_title: "Merge",
  before_row_edit : function(record) {
  },
  autoHeight: true,
  initComponent : function() {
    this.merge_to492 = new Lino.RemoteComboFieldElement({ "allowBlank": false, "anchor": "-20", "autoHeight": true, "detail_action": "Lino.contacts.Persons.detail", "emptyText": "Select a Person...", "fieldLabel": "into...", "hiddenName": "merge_toHidden", "insert_action": "Lino.contacts.Persons.insert", "listeners": { "render": Lino.quicktip_renderer("into...","(Merge.merge_to) ") }, "name": "merge_to", "pageSize": 20, "preferred_width": 20, "related_actor_id": "contacts.Persons", "selectOnFocus": true, "store": new Lino.ComplexRemoteComboStore({ "proxy": new Ext.data.HttpProxy({ "method": "GET", "url": "/apchoices/contacts/Persons/merge_row/merge_to" }) }) });
    this.addresses_Address493 = new Ext.form.Checkbox({ "allowBlank": false, "anchor": "-20", "autoHeight": true, "boxLabel": "Addresses", "checked": false, "hideLabel": true, "listeners": { "render": Lino.quicktip_renderer("Addresses","(Merge.addresses_Address) ") }, "name": "addresses_Address", "selectOnFocus": true });
    this.lists_Member494 = new Ext.form.Checkbox({ "allowBlank": false, "anchor": "-20", "autoHeight": true, "boxLabel": "List memberships", "checked": false, "hideLabel": true, "listeners": { "render": Lino.quicktip_renderer("List memberships","(Merge.lists_Member) ") }, "name": "lists_Member", "selectOnFocus": true });
    var keep_volatiles_1_panel495 = new Ext.Panel({ "anchor": "-20", "autoHeight": true, "autoScroll": false, "border": false, "frame": false, "hideCheckBoxLabels": true, "items": [ { "autoHeight": true, "flex": 50, "items": this.addresses_Address493, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 50, "items": this.lists_Member494, "labelAlign": "top", "layout": "form", "xtype": "panel" } ], "labelAlign": "top", "labelWidth": 0, "layout": "hbox", "layoutConfig": { "align": "stretchmax" } });
    this.phones_ContactDetail498 = new Ext.form.Checkbox({ "allowBlank": false, "anchor": "-20", "autoHeight": true, "boxLabel": "Contact details", "checked": false, "hideLabel": true, "listeners": { "render": Lino.quicktip_renderer("Contact details","(Merge.phones_ContactDetail) ") }, "name": "phones_ContactDetail", "selectOnFocus": true });
    this.sepa_Account499 = new Ext.form.Checkbox({ "allowBlank": false, "anchor": "-20", "autoHeight": true, "boxLabel": "Bank accounts", "checked": false, "hideLabel": true, "listeners": { "render": Lino.quicktip_renderer("Bank accounts","(Merge.sepa_Account) ") }, "name": "sepa_Account", "selectOnFocus": true });
    var keep_volatiles_2_panel500 = new Ext.Panel({ "anchor": "-20", "autoHeight": true, "autoScroll": false, "border": false, "frame": false, "hideCheckBoxLabels": true, "items": [ { "autoHeight": true, "flex": 50, "items": this.phones_ContactDetail498, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 50, "items": this.sepa_Account499, "labelAlign": "top", "layout": "form", "xtype": "panel" } ], "labelAlign": "top", "labelWidth": 0, "layout": "hbox", "layoutConfig": { "align": "stretchmax" } });
    this.topics_Interest503 = new Ext.form.Checkbox({ "allowBlank": false, "anchor": "-20", "autoHeight": true, "boxLabel": "Interests", "checked": false, "hideLabel": true, "listeners": { "render": Lino.quicktip_renderer("Interests","(Merge.topics_Interest) ") }, "name": "topics_Interest", "selectOnFocus": true });
    var keep_volatiles_panel504 = new Ext.form.FieldSet({ "anchor": "-20", "autoHeight": true, "autoScroll": false, "bodyBorder": false, "border": false, "frame": true, "hideCheckBoxLabels": true, "items": [ keep_volatiles_1_panel495, keep_volatiles_2_panel500, { "anchor": "-20", "autoHeight": true, "items": this.topics_Interest503, "labelAlign": "top", "layout": "form", "xtype": "panel" } ], "labelAlign": "top", "labelWidth": 0, "layout": "form", "title": "Also reassign volatile related objects" });
    this.reason506 = new Ext.form.TextField({ "allowBlank": false, "anchor": "-20", "autoHeight": true, "fieldLabel": "Reason", "listeners": { "render": Lino.quicktip_renderer("Reason","(Merge.reason) ") }, "maxLength": 100, "name": "reason", "selectOnFocus": true });
    this.items = [ { "anchor": "-20", "autoHeight": true, "items": this.merge_to492, "labelAlign": "top", "layout": "form", "xtype": "panel" }, keep_volatiles_panel504, { "anchor": "-20", "autoHeight": true, "items": this.reason506, "labelAlign": "top", "layout": "form", "xtype": "panel" } ];
    this.fields = [ this.merge_to492, this.addresses_Address493, this.lists_Member494, this.phones_ContactDetail498, this.sepa_Account499, this.topics_Interest503, this.reason506 ];
    this.http_method = "GET"
    Lino.contacts.Persons.merge_row_ActionFormPanel.superclass.initComponent.call(this);
  }
});


Lino.cal.Tasks.InsertFormPanel = Ext.extend(Lino.FormPanel,{
cls: "l-InsertFormPanel cal-Tasks",
  layout: 'fit',
  auto_save: true,
  actions_hotkeys: [ { "alt": false, "ba": "Lino.row_action_handler('as_pdf_p', 'GET', null)", "ctrl": true, "key": "P", "keycode": 80, "shift": false } ],
  autoHeight: true,
  content_type: 22,
  initComponent : function() {
    var summary653 = new Ext.form.TextField({ "allowBlank": true, "anchor": "-20", "autoHeight": true, "fieldLabel": "Short description", "listeners": { "render": Lino.quicktip_renderer("Short description","(cal.Tasks.summary) ") }, "maxLength": 200, "name": "summary", "selectOnFocus": true });
    var user654 = new Lino.RemoteComboFieldElement({ "allowBlank": true, "anchor": "-20", "autoHeight": true, "detail_action": "Lino.users.AllUsers.detail", "emptyText": "Select a User...", "fieldLabel": "<span style=\"border-bottom: 1px dotted #000000;\">Author</span>", "hiddenName": "userHidden", "insert_action": "Lino.users.AllUsers.insert", "listeners": { "render": Lino.quicktip_renderer("Author","(cal.Tasks.user) The author of this object.\nA pointer to lino.modlib.users.models.User.") }, "name": "user", "pageSize": 20, "preferred_width": 15, "related_actor_id": "users.AllUsers", "selectOnFocus": true, "store": new Lino.ComplexRemoteComboStore({ "proxy": new Ext.data.HttpProxy({ "method": "GET", "url": "/choices/cal/Tasks/user" }) }) });
    var main_panel655 = new Ext.Panel({ "autoHeight": true, "autoScroll": false, "bodyBorder": false, "border": false, "frame": true, "hideCheckBoxLabels": true, "items": [ { "anchor": "-20", "autoHeight": true, "items": summary653, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "anchor": "-20", "autoHeight": true, "items": user654, "labelAlign": "top", "layout": "form", "xtype": "panel" } ], "labelAlign": "top", "labelWidth": 0, "layout": "form" });
    this.items = main_panel655;
    this.before_row_edit = function(record) {
    }
    Lino.cal.Tasks.InsertFormPanel.superclass.initComponent.call(this);
  }
});


Lino.cal.Guests.DetailFormPanel = Ext.extend(Lino.FormPanel,{
cls: "l-DetailFormPanel cal-Guests",
  layout: 'fit',
  auto_save: true,
  actions_hotkeys: [ { "alt": false, "ba": "Lino.row_action_handler('as_pdf_p', 'GET', null)", "ctrl": true, "key": "P", "keycode": 80, "shift": false } ],
  autoHeight: true,
  content_type: 26,
  initComponent : function() {
    var event658 = new Lino.RemoteComboFieldElement({ "allowBlank": false, "anchor": "-20", "autoHeight": true, "detail_action": "Lino.cal.OneEvent.detail", "emptyText": "Select a Calendar entry...", "fieldLabel": "<span style=\"border-bottom: 1px dotted #000000;\">Calendar entry</span>", "hiddenName": "eventHidden", "insert_action": "Lino.cal.OneEvent.insert", "listeners": { "render": Lino.quicktip_renderer("Calendar entry","(cal.Guests.event) The calendar event to which this presence applies.") }, "name": "event", "pageSize": 20, "related_actor_id": "cal.OneEvent", "selectOnFocus": true, "store": new Lino.ComplexRemoteComboStore({ "proxy": new Ext.data.HttpProxy({ "method": "GET", "url": "/choices/cal/Guests/event" }) }) });
    var partner659 = new Lino.RemoteComboFieldElement({ "allowBlank": false, "anchor": "-20", "autoHeight": true, "can_create_choice": true, "detail_action": "Lino.contacts.Persons.detail", "emptyText": "Select a Person...", "fieldLabel": "<span style=\"border-bottom: 1px dotted #000000;\">Person</span>", "forceSelection": false, "hiddenName": "partnerHidden", "insert_action": "Lino.contacts.Persons.insert", "listeners": { "render": Lino.quicktip_renderer("Person","(cal.Guests.partner) The partner to which this presence applies.") }, "name": "partner", "pageSize": 20, "preferred_width": 20, "related_actor_id": "contacts.Persons", "selectOnFocus": true, "store": new Lino.ComplexRemoteComboStore({ "proxy": new Ext.data.HttpProxy({ "method": "GET", "url": "/choices/cal/Guests/partner" }) }) });
    var role660 = new Lino.RemoteComboFieldElement({ "allowBlank": true, "anchor": "-20", "autoHeight": true, "detail_action": "Lino.cal.GuestRoles.detail", "emptyText": "Select a Guest role...", "fieldLabel": "<span style=\"border-bottom: 1px dotted #000000;\">Role</span>", "hiddenName": "roleHidden", "listeners": { "render": Lino.quicktip_renderer("Role","(cal.Guests.role) The role of this partner in this presence.") }, "name": "role", "pageSize": 20, "related_actor_id": "cal.GuestRoles", "selectOnFocus": true, "store": new Lino.ComplexRemoteComboStore({ "proxy": new Ext.data.HttpProxy({ "method": "GET", "url": "/choices/cal/Guests/role" }) }) });
    var main_1_panel661 = new Ext.Panel({ "anchor": "-20", "autoHeight": true, "autoScroll": false, "border": false, "frame": false, "hideCheckBoxLabels": true, "items": [ { "autoHeight": true, "flex": 33, "items": event658, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 33, "items": partner659, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 33, "items": role660, "labelAlign": "top", "layout": "form", "xtype": "panel" } ], "labelAlign": "top", "labelWidth": 0, "layout": "hbox", "layoutConfig": { "align": "stretchmax" } });
    var state665 = new Lino.ChoicesFieldElement({ "allowBlank": false, "anchor": "-20", "autoHeight": true, "fieldLabel": "<span style=\"border-bottom: 1px dotted #000000;\">State</span>", "forceSelection": true, "hiddenName": "stateHidden", "listeners": { "render": Lino.quicktip_renderer("State","(cal.Guests.state) The state of this presence.  See GuestStates.") }, "name": "state", "selectOnFocus": true, "store": Lino.cal.GuestStates });
    var workflow_buttons_disp666 = new Ext.form.DisplayField({ "always_enabled": true, "anchor": "-20", "autoHeight": true, "disabled": true, "fieldLabel": "<span style=\"border-bottom: 1px dotted #000000;\">Workflow</span>", "listeners": { "render": Lino.quicktip_renderer("Workflow","(cal.Guests.workflow_buttons) List of actions that change the workflow state of this object.") }, "name": "workflow_buttons", "value": "<br/>" });
    var main_2_panel667 = new Ext.Panel({ "anchor": "-20", "autoHeight": true, "autoScroll": false, "border": false, "frame": false, "hideCheckBoxLabels": true, "items": [ { "autoHeight": true, "flex": 25, "items": state665, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 75, "items": workflow_buttons_disp666, "labelAlign": "top", "layout": "form", "xtype": "panel" } ], "labelAlign": "top", "labelWidth": 0, "layout": "hbox", "layoutConfig": { "align": "stretchmax" } });
    var remark670 = new Ext.form.TextField({ "allowBlank": true, "anchor": "-20", "autoHeight": true, "fieldLabel": "Remark", "listeners": { "render": Lino.quicktip_renderer("Remark","(cal.Guests.remark) ") }, "maxLength": 200, "name": "remark", "selectOnFocus": true });
    var main_panel671 = new Ext.Panel({ "autoHeight": true, "autoScroll": false, "bodyBorder": false, "border": false, "frame": true, "hideCheckBoxLabels": true, "items": [ main_1_panel661, main_2_panel667, { "anchor": "-20", "autoHeight": true, "items": remark670, "labelAlign": "top", "layout": "form", "xtype": "panel" } ], "labelAlign": "top", "labelWidth": 0, "layout": "form" });
    this.items = main_panel671;
    this.before_row_edit = function(record) {
    }
    Lino.cal.Guests.DetailFormPanel.superclass.initComponent.call(this);
  }
});


Lino.cal.Tasks.DetailFormPanel = Ext.extend(Lino.FormPanel,{
cls: "l-DetailFormPanel cal-Tasks",
  layout: 'fit',
  auto_save: true,
  actions_hotkeys: [ { "alt": false, "ba": "Lino.row_action_handler('as_pdf_p', 'GET', null)", "ctrl": true, "key": "P", "keycode": 80, "shift": false } ],
  content_type: 22,
  initComponent : function() {
    var start_date673 = new Lino.DateField({ "allowBlank": true, "anchor": "-20", "autoHeight": true, "fieldLabel": "Start date", "listeners": { "render": Lino.quicktip_renderer("Start date","(cal.Tasks.start_date) ") }, "name": "start_date", "selectOnFocus": true });
    var priority674 = new Lino.ChoicesFieldElement({ "allowBlank": false, "anchor": "-20", "autoHeight": true, "fieldLabel": "<span style=\"border-bottom: 1px dotted #000000;\">Priority</span>", "forceSelection": true, "hiddenName": "priorityHidden", "listeners": { "render": Lino.quicktip_renderer("Priority","(cal.Tasks.priority) How urgent this task is.") }, "name": "priority", "selectOnFocus": true, "store": Lino.xl.Priorities });
    var due_date675 = new Lino.DateField({ "allowBlank": true, "anchor": "-20", "autoHeight": true, "fieldLabel": "Due date", "listeners": { "render": Lino.quicktip_renderer("Due date","(cal.Tasks.due_date) ") }, "name": "due_date", "selectOnFocus": true });
    var id676 = new Ext.form.NumberField({ "allowBlank": true, "anchor": "-20", "autoHeight": true, "fieldLabel": "ID", "listeners": { "render": Lino.quicktip_renderer("ID","(cal.Tasks.id) ") }, "name": "id", "selectOnFocus": true });
    var workflow_buttons_disp677 = new Ext.form.DisplayField({ "always_enabled": true, "anchor": "-20", "autoHeight": true, "disabled": true, "fieldLabel": "<span style=\"border-bottom: 1px dotted #000000;\">Workflow</span>", "listeners": { "render": Lino.quicktip_renderer("Workflow","(cal.Tasks.workflow_buttons) List of actions that change the workflow state of this object.") }, "name": "workflow_buttons", "value": "<br/>" });
    var main_1_panel678 = new Ext.Panel({ "autoHeight": true, "autoScroll": false, "border": false, "frame": false, "hideCheckBoxLabels": true, "items": [ { "autoHeight": true, "flex": 18, "items": start_date673, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 15, "items": priority674, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 18, "items": due_date675, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 6, "items": id676, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 41, "items": workflow_buttons_disp677, "labelAlign": "top", "layout": "form", "xtype": "panel" } ], "labelAlign": "top", "labelWidth": 0, "layout": "hbox", "layoutConfig": { "align": "stretchmax" } });
    var summary684 = new Ext.form.TextField({ "allowBlank": true, "anchor": "-20", "autoHeight": true, "fieldLabel": "Short description", "listeners": { "render": Lino.quicktip_renderer("Short description","(cal.Tasks.summary) ") }, "maxLength": 200, "name": "summary", "selectOnFocus": true });
    var user685 = new Lino.RemoteComboFieldElement({ "allowBlank": true, "anchor": "-20", "autoHeight": true, "detail_action": "Lino.users.AllUsers.detail", "emptyText": "Select a User...", "fieldLabel": "<span style=\"border-bottom: 1px dotted #000000;\">Author</span>", "hiddenName": "userHidden", "insert_action": "Lino.users.AllUsers.insert", "listeners": { "render": Lino.quicktip_renderer("Author","(cal.Tasks.user) The author of this object.\nA pointer to lino.modlib.users.models.User.") }, "name": "user", "pageSize": 20, "preferred_width": 15, "related_actor_id": "users.AllUsers", "selectOnFocus": true, "store": new Lino.ComplexRemoteComboStore({ "proxy": new Ext.data.HttpProxy({ "method": "GET", "url": "/choices/cal/Tasks/user" }) }) });
    var owner_disp686 = new Ext.form.DisplayField({ "anchor": "-20", "autoHeight": true, "disabled": true, "fieldLabel": "Controlled by", "name": "owner" });
    var created687 = new Ext.form.DisplayField({ "anchor": "-20", "autoHeight": true, "disabled": true, "fieldLabel": "<span style=\"border-bottom: 1px dotted #000000;\">Created</span>", "listeners": { "render": Lino.quicktip_renderer("Created","(cal.Tasks.created) The time when this object was created.") }, "name": "created", "value": "<br>" });
    var modified688 = new Ext.form.DisplayField({ "anchor": "-20", "autoHeight": true, "disabled": true, "fieldLabel": "<span style=\"border-bottom: 1px dotted #000000;\">Modified</span>", "listeners": { "render": Lino.quicktip_renderer("Modified","(cal.Tasks.modified) The time when this database object was last modified.") }, "name": "modified", "value": "<br>" });
    var main_4_panel689 = new Ext.Panel({ "autoHeight": true, "autoScroll": false, "border": false, "frame": false, "hideCheckBoxLabels": true, "items": [ { "autoHeight": true, "flex": 20, "items": owner_disp686, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 40, "items": created687, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 40, "items": modified688, "labelAlign": "top", "layout": "form", "xtype": "panel" } ], "labelAlign": "top", "labelWidth": 0, "layout": "hbox", "layoutConfig": { "align": "stretchmax" } });
    var description693 = new Ext.form.TextArea({ "allowBlank": true, "anchor": "-20 -10", "fieldLabel": "Description", "growMax": 2000, "listeners": { "render": Lino.quicktip_renderer("Description","(cal.Tasks.description) ") }, "name": "description", "selectOnFocus": true });
    var main_panel694 = new Ext.Panel({ "autoScroll": false, "bodyBorder": false, "border": false, "frame": true, "hideCheckBoxLabels": true, "items": [ main_1_panel678, { "autoHeight": true, "items": summary684, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "items": user685, "labelAlign": "top", "layout": "form", "xtype": "panel" }, main_4_panel689, { "flex": 45, "items": description693, "labelAlign": "top", "layout": "form", "xtype": "panel" } ], "labelAlign": "top", "labelWidth": 0, "layout": "vbox", "layoutConfig": { "align": "stretch" } });
    this.items = main_panel694;
    this.before_row_edit = function(record) {
    }
    Lino.cal.Tasks.DetailFormPanel.superclass.initComponent.call(this);
  }
});


Lino.courses.EnrolmentsByPupil.InsertFormPanel = Ext.extend(Lino.FormPanel,{
cls: "l-InsertFormPanel courses-EnrolmentsByPupil",
  layout: 'fit',
  auto_save: true,
  actions_hotkeys: [ { "alt": false, "ba": "Lino.row_action_handler('as_pdf_p', 'GET', null)", "ctrl": true, "key": "P", "keycode": 80, "shift": false }, { "alt": false, "ba": "Lino.row_action_handler('do_print', 'GET', null)", "ctrl": true, "key": "P", "keycode": 80, "shift": false } ],
  autoHeight: true,
  content_type: 52,
  initComponent : function() {
    var course698 = new Lino.RemoteComboFieldElement({ "allowBlank": true, "anchor": "-20", "autoHeight": true, "can_create_choice": false, "detail_action": "Lino.courses.Activities.detail", "emptyText": "Select a Activity...", "fieldLabel": "Activity", "hiddenName": "courseHidden", "insert_action": "Lino.courses.Activities.insert", "listeners": { "render": Lino.quicktip_renderer("Activity","(courses.EnrolmentsByPupil.course) ") }, "name": "course", "pageSize": 20, "related_actor_id": "courses.Activities", "selectOnFocus": true, "store": new Lino.ComplexRemoteComboStore({ "proxy": new Ext.data.HttpProxy({ "method": "GET", "url": "/choices/courses/EnrolmentsByPupil/course" }) }) });
    var remark699 = new Ext.form.TextField({ "allowBlank": true, "anchor": "-20", "autoHeight": true, "fieldLabel": "Remark", "listeners": { "render": Lino.quicktip_renderer("Remark","(courses.EnrolmentsByPupil.remark) ") }, "maxLength": 200, "name": "remark", "selectOnFocus": true });
    var request_date700 = new Lino.DateField({ "allowBlank": false, "anchor": "-20", "autoHeight": true, "fieldLabel": "Date of request", "listeners": { "render": Lino.quicktip_renderer("Date of request","(courses.EnrolmentsByPupil.request_date) ") }, "name": "request_date", "selectOnFocus": true });
    var user701 = new Lino.RemoteComboFieldElement({ "allowBlank": true, "anchor": "-20", "autoHeight": true, "detail_action": "Lino.users.AllUsers.detail", "emptyText": "Select a User...", "fieldLabel": "<span style=\"border-bottom: 1px dotted #000000;\">Author</span>", "hiddenName": "userHidden", "insert_action": "Lino.users.AllUsers.insert", "listeners": { "render": Lino.quicktip_renderer("Author","(courses.EnrolmentsByPupil.user) The author of this object.\nA pointer to lino.modlib.users.models.User.") }, "name": "user", "pageSize": 20, "preferred_width": 15, "related_actor_id": "users.AllUsers", "selectOnFocus": true, "store": new Lino.ComplexRemoteComboStore({ "proxy": new Ext.data.HttpProxy({ "method": "GET", "url": "/choices/courses/EnrolmentsByPupil/user" }) }) });
    var main_3_panel702 = new Ext.Panel({ "anchor": "-20", "autoHeight": true, "autoScroll": false, "border": false, "frame": false, "hideCheckBoxLabels": true, "items": [ { "autoHeight": true, "flex": 39, "items": request_date700, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 60, "items": user701, "labelAlign": "top", "layout": "form", "xtype": "panel" } ], "labelAlign": "top", "labelWidth": 0, "layout": "hbox", "layoutConfig": { "align": "stretchmax" } });
    var main_panel705 = new Ext.Panel({ "autoHeight": true, "autoScroll": false, "bodyBorder": false, "border": false, "frame": true, "hideCheckBoxLabels": true, "items": [ { "anchor": "-20", "autoHeight": true, "items": course698, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "anchor": "-20", "autoHeight": true, "items": remark699, "labelAlign": "top", "layout": "form", "xtype": "panel" }, main_3_panel702 ], "labelAlign": "top", "labelWidth": 0, "layout": "form" });
    this.items = main_panel705;
    this.before_row_edit = function(record) {
      course698.setContextValue('course_area', record ? record.data['course_areaHidden'] : undefined);
      course698.setContextValue('request_date', record ? record.data['request_date'] : undefined);
    }
    this.onRender = function(ct, position) {
      typeof request_date700 !== 'undefined' && request_date700.on('change',Lino.chooser_handler(course698,'request_date'));
      Lino.courses.EnrolmentsByPupil.InsertFormPanel.superclass.onRender.call(this, ct, position);
    }
    Lino.courses.EnrolmentsByPupil.InsertFormPanel.superclass.initComponent.call(this);
  }
});


Lino.checkdata.Problems.DetailFormPanel = Ext.extend(Lino.FormPanel,{
cls: "l-DetailFormPanel checkdata-Problems",
  layout: 'fit',
  auto_save: true,
  actions_hotkeys: [ { "alt": false, "ba": "Lino.row_action_handler('as_pdf_p', 'GET', null)", "ctrl": true, "key": "P", "keycode": 80, "shift": false } ],
  autoHeight: true,
  content_type: 15,
  disable_editing: true,
  initComponent : function() {
    var checker708 = new Lino.ChoicesFieldElement({ "allowBlank": false, "anchor": "-20", "autoHeight": true, "fieldLabel": "<span style=\"border-bottom: 1px dotted #000000;\">Checker</span>", "forceSelection": true, "hiddenName": "checkerHidden", "listeners": { "render": Lino.quicktip_renderer("Checker","(checkdata.Problems.checker) The Checker that reported this\nproblem.") }, "name": "checker", "selectOnFocus": true, "store": Lino.checkdata.Checkers });
    var owner_disp709 = new Ext.form.DisplayField({ "anchor": "-20", "autoHeight": true, "disabled": true, "fieldLabel": "Database object", "name": "owner" });
    var message710 = new Ext.form.TextField({ "allowBlank": false, "anchor": "-20", "autoHeight": true, "fieldLabel": "<span style=\"border-bottom: 1px dotted #000000;\">Message</span>", "listeners": { "render": Lino.quicktip_renderer("Message","(checkdata.Problems.message) The message text. This is a concatenation of all messages that\nwere yielded by the checker.") }, "maxLength": 250, "name": "message", "selectOnFocus": true });
    var user711 = new Lino.RemoteComboFieldElement({ "allowBlank": true, "anchor": "-20", "autoHeight": true, "detail_action": "Lino.users.AllUsers.detail", "emptyText": "Select a User...", "fieldLabel": "<span style=\"border-bottom: 1px dotted #000000;\">Responsible</span>", "hiddenName": "userHidden", "insert_action": "Lino.users.AllUsers.insert", "listeners": { "render": Lino.quicktip_renderer("Responsible","(checkdata.Problems.user) The user responsible for fixing this\nproblem.") }, "name": "user", "pageSize": 20, "preferred_width": 15, "related_actor_id": "users.AllUsers", "selectOnFocus": true, "store": new Lino.ComplexRemoteComboStore({ "proxy": new Ext.data.HttpProxy({ "method": "GET", "url": "/choices/checkdata/Problems/user" }) }) });
    var id712 = new Ext.form.NumberField({ "allowBlank": true, "anchor": "-20", "autoHeight": true, "fieldLabel": "ID", "listeners": { "render": Lino.quicktip_renderer("ID","(checkdata.Problems.id) ") }, "name": "id", "selectOnFocus": true });
    var main_4_panel713 = new Ext.Panel({ "anchor": "-20", "autoHeight": true, "autoScroll": false, "border": false, "frame": false, "hideCheckBoxLabels": true, "items": [ { "autoHeight": true, "flex": 66, "items": user711, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 33, "items": id712, "labelAlign": "top", "layout": "form", "xtype": "panel" } ], "labelAlign": "top", "labelWidth": 0, "layout": "hbox", "layoutConfig": { "align": "stretchmax" } });
    var main_panel716 = new Ext.Panel({ "autoHeight": true, "autoScroll": false, "bodyBorder": false, "border": false, "frame": true, "hideCheckBoxLabels": true, "items": [ { "anchor": "-20", "autoHeight": true, "items": checker708, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "anchor": "-20", "autoHeight": true, "items": owner_disp709, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "anchor": "-20", "autoHeight": true, "items": message710, "labelAlign": "top", "layout": "form", "xtype": "panel" }, main_4_panel713 ], "labelAlign": "top", "labelWidth": 0, "layout": "form" });
    this.items = main_panel716;
    this.before_row_edit = function(record) {
    }
    Lino.checkdata.Problems.DetailFormPanel.superclass.initComponent.call(this);
  }
});


Lino.cal.EventTypes.InsertFormPanel = Ext.extend(Lino.FormPanel,{
cls: "l-InsertFormPanel cal-EventTypes",
  layout: 'fit',
  auto_save: true,
  actions_hotkeys: [ { "alt": false, "ba": "Lino.row_action_handler('as_pdf_p', 'GET', null)", "ctrl": true, "key": "P", "keycode": 80, "shift": false } ],
  autoHeight: true,
  content_type: 18,
  initComponent : function() {
    var name720 = new Ext.form.TextField({ "allowBlank": false, "anchor": "-20", "autoHeight": true, "fieldLabel": "Designation", "listeners": { "render": Lino.quicktip_renderer("Designation","(cal.EventTypes.name) ") }, "maxLength": 200, "name": "name", "selectOnFocus": true });
    var name_de721 = new Ext.form.TextField({ "allowBlank": true, "anchor": "-20", "autoHeight": true, "fieldLabel": "Designation (de)", "listeners": { "render": Lino.quicktip_renderer("Designation (de)","(cal.EventTypes.name_de) ") }, "maxLength": 200, "name": "name_de", "selectOnFocus": true });
    var name_fr722 = new Ext.form.TextField({ "allowBlank": true, "anchor": "-20", "autoHeight": true, "fieldLabel": "Designation (fr)", "listeners": { "render": Lino.quicktip_renderer("Designation (fr)","(cal.EventTypes.name_fr) ") }, "maxLength": 200, "name": "name_fr", "selectOnFocus": true });
    var ref723 = new Ext.form.TextField({ "allowBlank": true, "anchor": "-20", "autoHeight": true, "fieldLabel": "<span style=\"border-bottom: 1px dotted #000000;\">Reference</span>", "listeners": { "render": Lino.quicktip_renderer("Reference","(cal.EventTypes.ref) The reference. This must be either empty or unique.") }, "maxLength": 200, "name": "ref", "selectOnFocus": true });
    var main_1_panel724 = new Ext.Panel({ "anchor": "-20", "autoHeight": true, "autoScroll": false, "border": false, "frame": false, "hideCheckBoxLabels": true, "items": [ { "autoHeight": true, "flex": 31, "items": name720, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 31, "items": name_de721, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 31, "items": name_fr722, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 5, "items": ref723, "labelAlign": "top", "layout": "form", "xtype": "panel" } ], "labelAlign": "top", "labelWidth": 0, "layout": "hbox", "layoutConfig": { "align": "stretchmax" } });
    var event_label729 = new Ext.form.TextField({ "allowBlank": true, "anchor": "-20", "autoHeight": true, "fieldLabel": "<span style=\"border-bottom: 1px dotted #000000;\">Entry label</span>", "listeners": { "render": Lino.quicktip_renderer("Entry label","(cal.EventTypes.event_label) Default text for summary of new entries.") }, "maxLength": 200, "name": "event_label", "selectOnFocus": true });
    var event_label_de730 = new Ext.form.TextField({ "allowBlank": true, "anchor": "-20", "autoHeight": true, "fieldLabel": "Entry label (de)", "listeners": { "render": Lino.quicktip_renderer("Entry label (de)","(cal.EventTypes.event_label_de) ") }, "maxLength": 200, "name": "event_label_de", "selectOnFocus": true });
    var event_label_fr731 = new Ext.form.TextField({ "allowBlank": true, "anchor": "-20", "autoHeight": true, "fieldLabel": "Entry label (fr)", "listeners": { "render": Lino.quicktip_renderer("Entry label (fr)","(cal.EventTypes.event_label_fr) ") }, "maxLength": 200, "name": "event_label_fr", "selectOnFocus": true });
    var main_2_panel732 = new Ext.Panel({ "anchor": "-20", "autoHeight": true, "autoScroll": false, "border": false, "frame": false, "hideCheckBoxLabels": true, "items": [ { "autoHeight": true, "flex": 33, "items": event_label729, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 33, "items": event_label_de730, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 33, "items": event_label_fr731, "labelAlign": "top", "layout": "form", "xtype": "panel" } ], "labelAlign": "top", "labelWidth": 0, "layout": "hbox", "layoutConfig": { "align": "stretchmax" } });
    var main_panel736 = new Ext.Panel({ "autoHeight": true, "autoScroll": false, "bodyBorder": false, "border": false, "frame": true, "hideCheckBoxLabels": true, "items": [ main_1_panel724, main_2_panel732 ], "labelAlign": "top", "layout": "form" });
    this.items = main_panel736;
    this.before_row_edit = function(record) {
    }
    Lino.cal.EventTypes.InsertFormPanel.superclass.initComponent.call(this);
  }
});


Lino.contacts.Partners.DetailFormPanel = Ext.extend(Lino.FormPanel,{
cls: "l-DetailFormPanel contacts-Partners",
  layout: 'fit',
  auto_save: true,
  actions_hotkeys: [ { "alt": false, "ba": "Lino.row_action_handler('print_labels', 'GET', null)", "ctrl": true, "key": "P", "keycode": 80, "shift": false }, { "alt": false, "ba": "Lino.row_action_handler('create_excerpt2', 'GET', null)", "ctrl": true, "key": "P", "keycode": 80, "shift": false } ],
  content_type: 7,
  initComponent : function() {
    var overview_htmlbox737 = new Lino.HtmlBoxPanel({ "always_enabled": true, "bodyStyle": "overflow-x:hidden;", "containing_panel": this, "flex": 50, "items": new Ext.BoxComponent({autoScroll:true}), "layout": "fit", "listeners": { "render": Lino.quicktip_renderer(null,"(contacts.Partners.overview) ") }, "name": "overview", "value": "<br/>" });
    var name738 = new Ext.form.TextField({ "allowBlank": false, "anchor": "-20", "autoHeight": true, "fieldLabel": "<span style=\"border-bottom: 1px dotted #000000;\">Name</span>", "listeners": { "render": Lino.quicktip_renderer("Name","(contacts.Partners.name) The full name of this partner. Used for alphabetic sorting.") }, "maxLength": 200, "name": "name", "selectOnFocus": true });
    var id739 = new Ext.form.NumberField({ "allowBlank": true, "anchor": "-20", "autoHeight": true, "fieldLabel": "ID", "listeners": { "render": Lino.quicktip_renderer("ID","(contacts.Partners.id) ") }, "name": "id", "selectOnFocus": true });
    var contact_box_1_panel740 = new Ext.Panel({ "anchor": "-20", "autoHeight": true, "autoScroll": false, "border": false, "frame": false, "hideCheckBoxLabels": true, "items": [ { "autoHeight": true, "flex": 80, "items": name738, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 19, "items": id739, "labelAlign": "top", "layout": "form", "xtype": "panel" } ], "labelAlign": "top", "labelWidth": 0, "layout": "hbox", "layoutConfig": { "align": "stretchmax" } });
    var url743 = new Lino.URLField({ "allowBlank": true, "anchor": "-20", "autoHeight": true, "fieldLabel": "URL", "listeners": { "render": Lino.quicktip_renderer("URL","(contacts.Partners.url) ") }, "maxLength": 200, "name": "url", "selectOnFocus": true });
    var phone744 = new Ext.form.TextField({ "allowBlank": true, "anchor": "-20", "autoHeight": true, "fieldLabel": "<span style=\"border-bottom: 1px dotted #000000;\">Phone</span>", "listeners": { "render": Lino.quicktip_renderer("Phone","(contacts.Partners.phone) The primary phone number.") }, "maxLength": 200, "name": "phone", "selectOnFocus": true });
    var gsm745 = new Ext.form.TextField({ "allowBlank": true, "anchor": "-20", "autoHeight": true, "fieldLabel": "<span style=\"border-bottom: 1px dotted #000000;\">GSM</span>", "listeners": { "render": Lino.quicktip_renderer("GSM","(contacts.Partners.gsm) The primary mobile phone number.") }, "maxLength": 200, "name": "gsm", "selectOnFocus": true });
    var contact_box_panel746 = new Ext.form.FieldSet({ "autoHeight": true, "autoScroll": false, "bodyBorder": false, "border": false, "flex": 50, "frame": true, "hideCheckBoxLabels": true, "items": [ contact_box_1_panel740, { "anchor": "-20", "autoHeight": true, "items": url743, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "anchor": "-20", "autoHeight": true, "items": phone744, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "anchor": "-20", "autoHeight": true, "items": gsm745, "labelAlign": "top", "layout": "form", "xtype": "panel" } ], "labelAlign": "top", "labelWidth": 0, "layout": "form", "title": "Contact" });
    var main_1_panel750 = new Ext.Panel({ "autoHeight": true, "autoScroll": false, "border": false, "frame": false, "hideCheckBoxLabels": true, "items": [ overview_htmlbox737, contact_box_panel746 ], "labelAlign": "top", "labelWidth": 0, "layout": "hbox", "layoutConfig": { "align": "stretchmax" } });
    var remarks751 = new Lino.RichTextPanel({ "allowBlank": true, "containing_panel": this, "fieldLabel": "Remarks", "flex": 66, "name": "remarks", "region": "center", "selectOnFocus": true, "title": "Remarks" });
    var bottom_box_1_panel753 = new Ext.Panel({ "autoScroll": false, "border": false, "flex": 55, "frame": false, "hideCheckBoxLabels": true, "items": [ remarks751 ], "labelAlign": "top", "labelWidth": 153, "layout": "hbox", "layoutConfig": { "align": "stretch" } });
    var main_panel754 = new Ext.Panel({ "autoScroll": false, "bodyBorder": false, "border": false, "frame": true, "hideCheckBoxLabels": true, "items": [ main_1_panel750, bottom_box_1_panel753 ], "labelAlign": "top", "layout": "vbox", "layoutConfig": { "align": "stretch" } });
    this.items = main_panel754;
    this.before_row_edit = function(record) {
      overview_htmlbox737.refresh();
      remarks751.refresh();
    }
    Lino.contacts.Partners.DetailFormPanel.superclass.initComponent.call(this);
  }
});


Lino.blogs.Entries.InsertFormPanel = Ext.extend(Lino.FormPanel,{
cls: "l-InsertFormPanel blogs-Entries",
  layout: 'fit',
  auto_save: true,
  actions_hotkeys: [ { "alt": false, "ba": "Lino.row_action_handler('as_pdf_p', 'GET', null)", "ctrl": true, "key": "P", "keycode": 80, "shift": false } ],
  autoHeight: true,
  content_type: 59,
  initComponent : function() {
    var title755 = new Ext.form.TextField({ "allowBlank": true, "anchor": "-20", "autoHeight": true, "fieldLabel": "Heading", "listeners": { "render": Lino.quicktip_renderer("Heading","(blogs.Entries.title) ") }, "maxLength": 200, "name": "title", "selectOnFocus": true });
    var entry_type756 = new Lino.RemoteComboFieldElement({ "allowBlank": true, "anchor": "-20", "autoHeight": true, "detail_action": "Lino.blogs.EntryTypes.detail", "emptyText": "Select a Blog Entry Type...", "fieldLabel": "Blog Entry Type", "hiddenName": "entry_typeHidden", "listeners": { "render": Lino.quicktip_renderer("Blog Entry Type","(blogs.Entries.entry_type) ") }, "name": "entry_type", "pageSize": 20, "related_actor_id": "blogs.EntryTypes", "selectOnFocus": true, "store": new Lino.ComplexRemoteComboStore({ "proxy": new Ext.data.HttpProxy({ "method": "GET", "url": "/choices/blogs/Entries/entry_type" }) }) });
    var main_panel757 = new Ext.Panel({ "autoHeight": true, "autoScroll": false, "bodyBorder": false, "border": false, "frame": true, "hideCheckBoxLabels": true, "items": [ { "anchor": "-20", "autoHeight": true, "items": title755, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "anchor": "-20", "autoHeight": true, "items": entry_type756, "labelAlign": "top", "layout": "form", "xtype": "panel" } ], "labelAlign": "top", "labelWidth": 0, "layout": "form" });
    this.items = main_panel757;
    this.before_row_edit = function(record) {
    }
    Lino.blogs.Entries.InsertFormPanel.superclass.initComponent.call(this);
  }
});


Lino.cal.Guests.InsertFormPanel = Ext.extend(Lino.FormPanel,{
cls: "l-InsertFormPanel cal-Guests",
  layout: 'fit',
  auto_save: true,
  actions_hotkeys: [ { "alt": false, "ba": "Lino.row_action_handler('as_pdf_p', 'GET', null)", "ctrl": true, "key": "P", "keycode": 80, "shift": false } ],
  autoHeight: true,
  content_type: 26,
  initComponent : function() {
    var event760 = new Lino.RemoteComboFieldElement({ "allowBlank": false, "anchor": "-20", "autoHeight": true, "detail_action": "Lino.cal.OneEvent.detail", "emptyText": "Select a Calendar entry...", "fieldLabel": "<span style=\"border-bottom: 1px dotted #000000;\">Calendar entry</span>", "hiddenName": "eventHidden", "insert_action": "Lino.cal.OneEvent.insert", "listeners": { "render": Lino.quicktip_renderer("Calendar entry","(cal.Guests.event) The calendar event to which this presence applies.") }, "name": "event", "pageSize": 20, "related_actor_id": "cal.OneEvent", "selectOnFocus": true, "store": new Lino.ComplexRemoteComboStore({ "proxy": new Ext.data.HttpProxy({ "method": "GET", "url": "/choices/cal/Guests/event" }) }) });
    var partner761 = new Lino.RemoteComboFieldElement({ "allowBlank": false, "anchor": "-20", "autoHeight": true, "can_create_choice": true, "detail_action": "Lino.contacts.Persons.detail", "emptyText": "Select a Person...", "fieldLabel": "<span style=\"border-bottom: 1px dotted #000000;\">Person</span>", "forceSelection": false, "hiddenName": "partnerHidden", "insert_action": "Lino.contacts.Persons.insert", "listeners": { "render": Lino.quicktip_renderer("Person","(cal.Guests.partner) The partner to which this presence applies.") }, "name": "partner", "pageSize": 20, "preferred_width": 20, "related_actor_id": "contacts.Persons", "selectOnFocus": true, "store": new Lino.ComplexRemoteComboStore({ "proxy": new Ext.data.HttpProxy({ "method": "GET", "url": "/choices/cal/Guests/partner" }) }) });
    var role762 = new Lino.RemoteComboFieldElement({ "allowBlank": true, "anchor": "-20", "autoHeight": true, "detail_action": "Lino.cal.GuestRoles.detail", "emptyText": "Select a Guest role...", "fieldLabel": "<span style=\"border-bottom: 1px dotted #000000;\">Role</span>", "hiddenName": "roleHidden", "listeners": { "render": Lino.quicktip_renderer("Role","(cal.Guests.role) The role of this partner in this presence.") }, "name": "role", "pageSize": 20, "related_actor_id": "cal.GuestRoles", "selectOnFocus": true, "store": new Lino.ComplexRemoteComboStore({ "proxy": new Ext.data.HttpProxy({ "method": "GET", "url": "/choices/cal/Guests/role" }) }) });
    var main_panel763 = new Ext.Panel({ "autoHeight": true, "autoScroll": false, "bodyBorder": false, "border": false, "frame": true, "hideCheckBoxLabels": true, "items": [ { "anchor": "-20", "autoHeight": true, "items": event760, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "anchor": "-20", "autoHeight": true, "items": partner761, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "anchor": "-20", "autoHeight": true, "items": role762, "labelAlign": "top", "layout": "form", "xtype": "panel" } ], "labelAlign": "top", "labelWidth": 0, "layout": "form" });
    this.items = main_panel763;
    this.before_row_edit = function(record) {
    }
    Lino.cal.Guests.InsertFormPanel.superclass.initComponent.call(this);
  }
});


Lino.comments.CommentTypes.DetailFormPanel = Ext.extend(Lino.FormPanel,{
cls: "l-DetailFormPanel comments-CommentTypes",
  layout: 'fit',
  auto_save: true,
  actions_hotkeys: [ { "alt": false, "ba": "Lino.row_action_handler('as_pdf_p', 'GET', null)", "ctrl": true, "key": "P", "keycode": 80, "shift": false } ],
  content_type: 63,
  initComponent : function() {
    var id767 = new Ext.form.NumberField({ "allowBlank": true, "anchor": "-20", "autoHeight": true, "fieldLabel": "ID", "listeners": { "render": Lino.quicktip_renderer("ID","(comments.CommentTypes.id) ") }, "name": "id", "selectOnFocus": true });
    var name768 = new Ext.form.TextField({ "allowBlank": false, "anchor": "-20", "autoHeight": true, "fieldLabel": "Designation", "listeners": { "render": Lino.quicktip_renderer("Designation","(comments.CommentTypes.name) ") }, "maxLength": 200, "name": "name", "selectOnFocus": true });
    var name_de769 = new Ext.form.TextField({ "allowBlank": true, "anchor": "-20", "autoHeight": true, "fieldLabel": "Designation (de)", "listeners": { "render": Lino.quicktip_renderer("Designation (de)","(comments.CommentTypes.name_de) ") }, "maxLength": 200, "name": "name_de", "selectOnFocus": true });
    var name_fr770 = new Ext.form.TextField({ "allowBlank": true, "anchor": "-20", "autoHeight": true, "fieldLabel": "Designation (fr)", "listeners": { "render": Lino.quicktip_renderer("Designation (fr)","(comments.CommentTypes.name_fr) ") }, "maxLength": 200, "name": "name_fr", "selectOnFocus": true });
    var main_1_panel771 = new Ext.Panel({ "autoHeight": true, "autoScroll": false, "border": false, "frame": false, "hideCheckBoxLabels": true, "items": [ { "autoHeight": true, "flex": 7, "items": id767, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 30, "items": name768, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 30, "items": name_de769, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 30, "items": name_fr770, "labelAlign": "top", "layout": "form", "xtype": "panel" } ], "labelAlign": "top", "labelWidth": 0, "layout": "hbox", "layoutConfig": { "align": "stretchmax" } });
    var main_panel777 = new Ext.Panel({ "autoScroll": false, "bodyBorder": false, "border": false, "frame": true, "hideCheckBoxLabels": true, "items": [ main_1_panel771 ], "labelAlign": "top", "labelWidth": 81, "layout": "vbox", "layoutConfig": { "align": "stretch" } });
    this.items = main_panel777;
    this.before_row_edit = function(record) {
    }
    Lino.comments.CommentTypes.DetailFormPanel.superclass.initComponent.call(this);
  }
});


Lino.comments.CommentTypes.InsertFormPanel = Ext.extend(Lino.FormPanel,{
cls: "l-InsertFormPanel comments-CommentTypes",
  layout: 'fit',
  auto_save: true,
  actions_hotkeys: [ { "alt": false, "ba": "Lino.row_action_handler('as_pdf_p', 'GET', null)", "ctrl": true, "key": "P", "keycode": 80, "shift": false } ],
  autoHeight: true,
  content_type: 63,
  initComponent : function() {
    var name778 = new Ext.form.TextField({ "allowBlank": false, "anchor": "-20", "autoHeight": true, "fieldLabel": "Designation", "listeners": { "render": Lino.quicktip_renderer("Designation","(comments.CommentTypes.name) ") }, "maxLength": 200, "name": "name", "selectOnFocus": true });
    var name_de779 = new Ext.form.TextField({ "allowBlank": true, "anchor": "-20", "autoHeight": true, "fieldLabel": "Designation (de)", "listeners": { "render": Lino.quicktip_renderer("Designation (de)","(comments.CommentTypes.name_de) ") }, "maxLength": 200, "name": "name_de", "selectOnFocus": true });
    var name_fr780 = new Ext.form.TextField({ "allowBlank": true, "anchor": "-20", "autoHeight": true, "fieldLabel": "Designation (fr)", "listeners": { "render": Lino.quicktip_renderer("Designation (fr)","(comments.CommentTypes.name_fr) ") }, "maxLength": 200, "name": "name_fr", "selectOnFocus": true });
    var main_1_panel781 = new Ext.Panel({ "anchor": "-20", "autoHeight": true, "autoScroll": false, "border": false, "frame": false, "hideCheckBoxLabels": true, "items": [ { "autoHeight": true, "flex": 33, "items": name778, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 33, "items": name_de779, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 33, "items": name_fr780, "labelAlign": "top", "layout": "form", "xtype": "panel" } ], "labelAlign": "top", "labelWidth": 0, "layout": "hbox", "layoutConfig": { "align": "stretchmax" } });
    var id785 = new Ext.form.NumberField({ "allowBlank": true, "anchor": "-20", "autoHeight": true, "fieldLabel": "ID", "listeners": { "render": Lino.quicktip_renderer("ID","(comments.CommentTypes.id) ") }, "name": "id", "selectOnFocus": true });
    var main_panel786 = new Ext.Panel({ "autoHeight": true, "autoScroll": false, "bodyBorder": false, "border": false, "frame": true, "hideCheckBoxLabels": true, "items": [ main_1_panel781, { "anchor": "-20", "autoHeight": true, "items": id785, "labelAlign": "top", "layout": "form", "xtype": "panel" } ], "labelAlign": "top", "labelWidth": 0, "layout": "form" });
    this.items = main_panel786;
    this.before_row_edit = function(record) {
    }
    Lino.comments.CommentTypes.InsertFormPanel.superclass.initComponent.call(this);
  }
});


Lino.contacts.Companies.DetailFormPanel = Ext.extend(Lino.FormPanel,{
cls: "l-DetailFormPanel contacts-Companies",
  layout: 'fit',
  auto_save: true,
  actions_hotkeys: [ { "alt": false, "ba": "Lino.row_action_handler('print_labels', 'GET', null)", "ctrl": true, "key": "P", "keycode": 80, "shift": false }, { "alt": false, "ba": "Lino.row_action_handler('create_excerpt2', 'GET', null)", "ctrl": true, "key": "P", "keycode": 80, "shift": false } ],
  content_type: 12,
  initComponent : function() {
    var overview_htmlbox788 = new Lino.HtmlBoxPanel({ "always_enabled": true, "bodyStyle": "overflow-x:hidden;", "containing_panel": this, "flex": 50, "items": new Ext.BoxComponent({autoScroll:true}), "layout": "fit", "listeners": { "render": Lino.quicktip_renderer(null,"(contacts.Companies.overview) ") }, "name": "overview", "value": "<br/>" });
    var name789 = new Ext.form.TextField({ "allowBlank": false, "anchor": "-20", "autoHeight": true, "fieldLabel": "<span style=\"border-bottom: 1px dotted #000000;\">Name</span>", "listeners": { "render": Lino.quicktip_renderer("Name","(contacts.Companies.name) The full name of this partner. Used for alphabetic sorting.") }, "maxLength": 200, "name": "name", "selectOnFocus": true });
    var id790 = new Ext.form.NumberField({ "allowBlank": true, "anchor": "-20", "autoHeight": true, "fieldLabel": "ID", "listeners": { "render": Lino.quicktip_renderer("ID","(contacts.Companies.id) ") }, "name": "id", "selectOnFocus": true });
    var data_box_1_panel791 = new Ext.Panel({ "anchor": "-20", "autoHeight": true, "autoScroll": false, "border": false, "frame": false, "hideCheckBoxLabels": true, "items": [ { "autoHeight": true, "flex": 77, "items": name789, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 22, "items": id790, "labelAlign": "top", "layout": "form", "xtype": "panel" } ], "labelAlign": "top", "labelWidth": 0, "layout": "hbox", "layoutConfig": { "align": "stretchmax" } });
    var language794 = new Lino.ChoicesFieldElement({ "allowBlank": true, "anchor": "-20", "autoHeight": true, "fieldLabel": "<span style=\"border-bottom: 1px dotted #000000;\">Language</span>", "hiddenName": "languageHidden", "listeners": { "render": Lino.quicktip_renderer("Language","(contacts.Companies.language) The language to use when communicating with this partner.") }, "name": "language", "selectOnFocus": true, "store": [ [ "en", "English" ], [ "de", "German" ], [ "fr", "French" ] ] });
    var type795 = new Lino.RemoteComboFieldElement({ "allowBlank": true, "anchor": "-20", "autoHeight": true, "emptyText": "Select a Organization type...", "fieldLabel": "<span style=\"border-bottom: 1px dotted #000000;\">Organization type</span>", "hiddenName": "typeHidden", "listeners": { "render": Lino.quicktip_renderer("Organization type","(contacts.Companies.type) Pointer to the CompanyType.") }, "name": "type", "pageSize": 20, "related_actor_id": "contacts.CompanyTypes", "selectOnFocus": true, "store": new Lino.ComplexRemoteComboStore({ "proxy": new Ext.data.HttpProxy({ "method": "GET", "url": "/choices/contacts/Companies/type" }) }) });
    var data_box_panel796 = new Ext.Panel({ "autoHeight": true, "autoScroll": false, "bodyBorder": false, "border": false, "flex": 50, "frame": true, "hideCheckBoxLabels": true, "items": [ data_box_1_panel791, { "anchor": "-20", "autoHeight": true, "items": language794, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "anchor": "-20", "autoHeight": true, "items": type795, "labelAlign": "top", "layout": "form", "xtype": "panel" } ], "labelAlign": "top", "labelWidth": 0, "layout": "form" });
    var general_1_panel799 = new Ext.Panel({ "autoHeight": true, "autoScroll": false, "border": false, "frame": false, "hideCheckBoxLabels": true, "items": [ overview_htmlbox788, data_box_panel796 ], "labelAlign": "top", "labelWidth": 0, "layout": "hbox", "layoutConfig": { "align": "stretchmax" } });
    var general_panel829 = new Ext.Panel({ "autoScroll": false, "bodyBorder": false, "border": false, "frame": true, "hideCheckBoxLabels": true, "items": [ general_1_panel799 ], "labelAlign": "top", "layout": "vbox", "layoutConfig": { "align": "stretch" }, "listeners": { "activate": Lino.on_tab_activate }, "title": "General" });
    var lists_MembersByPartner_htmlbox900 = new Lino.HtmlBoxPanel({ "always_enabled": true, "bodyStyle": "overflow-x:hidden;", "containing_panel": this, "flex": 20, "items": new Ext.BoxComponent({autoScroll:true}), "layout": "fit", "listeners": { "render": Lino.quicktip_renderer("List memberships","(contacts.Companies.lists.MembersByPartner) ") }, "name": "lists.MembersByPartner", "region": "center", "title": "List memberships", "value": "<br/>" });
    var contact_1_panel901 = new Ext.Panel({ "autoScroll": false, "border": false, "flex": 5, "frame": false, "hideCheckBoxLabels": true, "items": [ lists_MembersByPartner_htmlbox900 ], "labelAlign": "top", "labelWidth": 153, "layout": "hbox", "layoutConfig": { "align": "stretch" }, "region": "north", "split": true });
    var remarks902 = new Lino.RichTextPanel({ "allowBlank": true, "containing_panel": this, "fieldLabel": "Remarks", "flex": 66, "name": "remarks", "selectOnFocus": true, "title": "Remarks" });
    var checkdata_ProblemsByOwner_htmlbox903 = new Lino.HtmlBoxPanel({ "always_enabled": true, "bodyStyle": "overflow-x:hidden;", "containing_panel": this, "flex": 33, "items": new Ext.BoxComponent({autoScroll:true}), "layout": "fit", "listeners": { "render": Lino.quicktip_renderer("Data problems","(contacts.Companies.checkdata.ProblemsByOwner) The base table for problem messages.") }, "name": "checkdata.ProblemsByOwner", "title": "Data problems", "value": "<br/>" });
    var contact_2_panel904 = new Ext.Panel({ "autoScroll": false, "border": false, "flex": 5, "frame": false, "hideCheckBoxLabels": true, "items": [ remarks902, checkdata_ProblemsByOwner_htmlbox903 ], "labelAlign": "top", "labelWidth": 126, "layout": "hbox", "layoutConfig": { "align": "stretch" }, "region": "center", "split": true });
    var contact_panel905 = new Lino.VBorderPanel({ "autoScroll": false, "bodyBorder": false, "border": false, "frame": true, "hideCheckBoxLabels": true, "items": [ contact_1_panel901, contact_2_panel904 ], "labelAlign": "top", "listeners": { "activate": Lino.on_tab_activate }, "title": "Contact" });
    var uploads_UploadsByController_htmlbox906 = new Lino.HtmlBoxPanel({ "always_enabled": true, "bodyStyle": "overflow-x:hidden;", "containing_panel": this, "flex": 28, "items": new Ext.BoxComponent({autoScroll:true}), "layout": "fit", "listeners": { "render": Lino.quicktip_renderer("Upload files","(contacts.Companies.uploads.UploadsByController) Shows the uploads controlled by this database object.") }, "name": "uploads.UploadsByController", "title": "Upload files", "value": "<br/>" });
    var comments_CommentsByRFC_htmlbox907 = new Lino.HtmlBoxPanel({ "always_enabled": true, "bodyStyle": "overflow-x:hidden;", "containing_panel": this, "flex": 71, "items": new Ext.BoxComponent({autoScroll:true}), "layout": "fit", "listeners": { "render": Lino.quicktip_renderer("Comments","(contacts.Companies.comments.CommentsByRFC) Shows the comments for a given database object.") }, "name": "comments.CommentsByRFC", "title": "Comments", "value": "<br/>" });
    var more_1_panel908 = new Ext.Panel({ "autoScroll": false, "border": false, "frame": false, "hideCheckBoxLabels": true, "items": [ uploads_UploadsByController_htmlbox906, comments_CommentsByRFC_htmlbox907 ], "labelAlign": "top", "labelWidth": 117, "layout": "hbox", "layoutConfig": { "align": "stretch" }, "listeners": { "activate": Lino.on_tab_activate }, "title": "More" });
    var main_panel909 = new Ext.TabPanel({ "activeTab": 0, "autoScroll": false, "bodyBorder": false, "border": false, "enableTabScroll": true, "frame": true, "hideCheckBoxLabels": true, "items": [ general_panel829, contact_panel905, more_1_panel908 ], "labelAlign": "top", "split": true });
    this.items = main_panel909;
    this.before_row_edit = function(record) {
      overview_htmlbox788.refresh();
      lists_MembersByPartner_htmlbox900.refresh();
      remarks902.refresh();
      checkdata_ProblemsByOwner_htmlbox903.refresh();
      uploads_UploadsByController_htmlbox906.refresh();
      comments_CommentsByRFC_htmlbox907.refresh();
    }
    Lino.contacts.Companies.DetailFormPanel.superclass.initComponent.call(this);
  }
});


Lino.contacts.UploadVCardFiles.InsertFormPanel = Ext.extend(Lino.FormPanel,{
cls: "l-InsertFormPanel contacts-UploadVCardFiles",
  layout: 'fit',
  auto_save: true,
  actions_hotkeys: [ { "alt": false, "ba": "Lino.row_action_handler('as_pdf_p', 'GET', null)", "ctrl": true, "key": "P", "keycode": 80, "shift": false } ],
  autoHeight: true,
  content_type: 6,
  initComponent : function() {
    var file910 = Lino.file_field_handler(this,{ "allowBlank": true, "anchor": "-20", "autoHeight": true, "fieldLabel": "File", "listeners": { "render": Lino.quicktip_renderer("File","(contacts.UploadVCardFiles.file) ") }, "maxLength": 100, "name": "file", "selectOnFocus": true });
    var main_panel911 = new Ext.Panel({ "autoScroll": false, "bodyBorder": false, "border": false, "frame": true, "hideCheckBoxLabels": true, "items": [ { "autoHeight": true, "items": file910, "labelAlign": "top", "layout": "form", "xtype": "panel" } ], "labelAlign": "top", "labelWidth": 0, "layout": "fit" });
    this.items = main_panel911;
    this.before_row_edit = function(record) {
    }
    Lino.contacts.UploadVCardFiles.InsertFormPanel.superclass.initComponent.call(this);
  }
});


Lino.contacts.Companies.InsertFormPanel = Ext.extend(Lino.FormPanel,{
cls: "l-InsertFormPanel contacts-Companies",
  layout: 'fit',
  auto_save: true,
  actions_hotkeys: [ { "alt": false, "ba": "Lino.row_action_handler('print_labels', 'GET', null)", "ctrl": true, "key": "P", "keycode": 80, "shift": false }, { "alt": false, "ba": "Lino.row_action_handler('create_excerpt2', 'GET', null)", "ctrl": true, "key": "P", "keycode": 80, "shift": false } ],
  autoHeight: true,
  content_type: 12,
  initComponent : function() {
    var name883 = new Ext.form.TextField({ "allowBlank": false, "anchor": "-20", "autoHeight": true, "fieldLabel": "<span style=\"border-bottom: 1px dotted #000000;\">Name</span>", "listeners": { "render": Lino.quicktip_renderer("Name","(contacts.Companies.name) The full name of this partner. Used for alphabetic sorting.") }, "maxLength": 200, "name": "name", "selectOnFocus": true });
    var email884 = new Ext.form.TextField({ "allowBlank": true, "anchor": "-20", "autoHeight": true, "fieldLabel": "<span style=\"border-bottom: 1px dotted #000000;\">e-mail address</span>", "listeners": { "render": Lino.quicktip_renderer("e-mail address","(contacts.Companies.email) The primary email address.") }, "maxLength": 254, "name": "email", "selectOnFocus": true });
    var type885 = new Lino.RemoteComboFieldElement({ "allowBlank": true, "anchor": "-20", "autoHeight": true, "emptyText": "Select a Organization type...", "fieldLabel": "<span style=\"border-bottom: 1px dotted #000000;\">Organization type</span>", "hiddenName": "typeHidden", "listeners": { "render": Lino.quicktip_renderer("Organization type","(contacts.Companies.type) Pointer to the CompanyType.") }, "name": "type", "pageSize": 20, "related_actor_id": "contacts.CompanyTypes", "selectOnFocus": true, "store": new Lino.ComplexRemoteComboStore({ "proxy": new Ext.data.HttpProxy({ "method": "GET", "url": "/choices/contacts/Companies/type" }) }) });
    var main_panel886 = new Ext.Panel({ "autoHeight": true, "autoScroll": false, "bodyBorder": false, "border": false, "frame": true, "hideCheckBoxLabels": true, "items": [ { "anchor": "-20", "autoHeight": true, "items": name883, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "anchor": "-20", "autoHeight": true, "items": email884, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "anchor": "-20", "autoHeight": true, "items": type885, "labelAlign": "top", "layout": "form", "xtype": "panel" } ], "labelAlign": "top", "labelWidth": 0, "layout": "form" });
    this.items = main_panel886;
    this.before_row_edit = function(record) {
    }
    Lino.contacts.Companies.InsertFormPanel.superclass.initComponent.call(this);
  }
});


Lino.comments.Comments.InsertFormPanel = Ext.extend(Lino.FormPanel,{
cls: "l-InsertFormPanel comments-Comments",
  layout: 'fit',
  auto_save: true,
  actions_hotkeys: [ { "alt": false, "ba": "Lino.row_action_handler('as_pdf_p', 'GET', null)", "ctrl": true, "key": "P", "keycode": 80, "shift": false } ],
  content_type: 64,
  initComponent : function() {
    var reply_to913 = new Lino.RemoteComboFieldElement({ "allowBlank": true, "detail_action": "Lino.comments.Comments.detail", "emptyText": "Select a Comment...", "fieldLabel": "Reply to", "flex": 33, "hidden": true, "hiddenName": "reply_toHidden", "insert_action": "Lino.comments.Comments.insert", "listeners": { "render": Lino.quicktip_renderer("Reply to","(comments.Comments.reply_to) ") }, "name": "reply_to", "pageSize": 20, "related_actor_id": "comments.Comments", "selectOnFocus": true, "store": new Lino.ComplexRemoteComboStore({ "proxy": new Ext.data.HttpProxy({ "method": "GET", "url": "/choices/comments/Comments/reply_to" }) }) });
    var owner_disp914 = new Ext.form.DisplayField({ "disabled": true, "fieldLabel": "<span style=\"border-bottom: 1px dotted #000000;\">Topic</span>", "flex": 16, "hidden": true, "name": "owner" });
    var owner_type915 = new Lino.RemoteComboFieldElement({ "allowBlank": true, "detail_action": "Lino.gfks.ContentTypes.detail", "emptyText": "Select a content type...", "fieldLabel": "Topic (type)", "flex": 33, "hidden": true, "hiddenName": "owner_typeHidden", "listeners": { "render": Lino.quicktip_renderer("Topic (type)","(comments.Comments.owner_type) ") }, "name": "owner_type", "pageSize": 20, "related_actor_id": "gfks.ContentTypes", "selectOnFocus": true, "store": new Lino.ComplexRemoteComboStore({ "proxy": new Ext.data.HttpProxy({ "method": "GET", "url": "/choices/comments/Comments/owner_type" }) }) });
    var owner_id916 = new Lino.RemoteComboFieldElement({ "allowBlank": true, "can_create_choice": false, "fieldLabel": "Topic (object)", "flex": 16, "hidden": true, "hiddenName": "owner_idHidden", "listeners": { "render": Lino.quicktip_renderer("Topic (object)","(comments.Comments.owner_id) ") }, "name": "owner_id", "selectOnFocus": true, "store": new Lino.ComplexRemoteComboStore({ "proxy": new Ext.data.HttpProxy({ "method": "GET", "url": "/choices/comments/Comments/owner_id" }) }) });
    var main_1_panel917 = new Ext.Panel({ "autoHeight": true, "autoScroll": false, "border": false, "frame": false, "hidden": true, "hideCheckBoxLabels": true, "items": [ reply_to913, owner_disp914, owner_type915, owner_id916 ], "labelAlign": "top", "labelWidth": 135, "layout": "hbox", "layoutConfig": { "align": "stretchmax" } });
    var body918 = new Lino.RichTextPanel({ "allowBlank": true, "containing_panel": this, "fieldLabel": "<span style=\"border-bottom: 1px dotted #000000;\">Body</span>", "flex": 71, "name": "body", "selectOnFocus": true, "title": "Body" });
    var private919 = new Ext.form.Checkbox({ "allowBlank": false, "anchor": "-20", "autoHeight": true, "boxLabel": "Private", "checked": true, "hideLabel": true, "listeners": { "render": Lino.quicktip_renderer("Private","(comments.Comments.private) ") }, "name": "private", "selectOnFocus": true });
    var main_panel920 = new Ext.Panel({ "autoScroll": false, "bodyBorder": false, "border": false, "frame": true, "hideCheckBoxLabels": true, "items": [ main_1_panel917, body918, { "autoHeight": true, "items": private919, "labelAlign": "top", "layout": "form", "xtype": "panel" } ], "labelAlign": "top", "labelWidth": 45, "layout": "vbox", "layoutConfig": { "align": "stretch" } });
    this.items = main_panel920;
    this.before_row_edit = function(record) {
      owner_id916.setContextValue('owner_type', record ? record.data['owner_typeHidden'] : undefined);
      body918.refresh();
    }
    this.onRender = function(ct, position) {
      typeof owner_type915 !== 'undefined' && owner_type915.on('change',Lino.chooser_handler(owner_id916,'owner_type'));
      Lino.comments.Comments.InsertFormPanel.superclass.onRender.call(this, ct, position);
    }
    Lino.comments.Comments.InsertFormPanel.superclass.initComponent.call(this);
  }
});


Lino.comments.Comments.DetailFormPanel = Ext.extend(Lino.FormPanel,{
cls: "l-DetailFormPanel comments-Comments",
  layout: 'fit',
  auto_save: true,
  actions_hotkeys: [ { "alt": false, "ba": "Lino.row_action_handler('as_pdf_p', 'GET', null)", "ctrl": true, "key": "P", "keycode": 80, "shift": false } ],
  content_type: 64,
  initComponent : function() {
    var owner_disp922 = new Ext.form.DisplayField({ "anchor": "-20", "autoHeight": true, "disabled": true, "fieldLabel": "<span style=\"border-bottom: 1px dotted #000000;\">Topic</span>", "name": "owner" });
    var private923 = new Ext.form.Checkbox({ "allowBlank": false, "anchor": "-20", "autoHeight": true, "boxLabel": "Private", "checked": true, "hideLabel": true, "listeners": { "render": Lino.quicktip_renderer("Private","(comments.Comments.private) ") }, "name": "private", "selectOnFocus": true });
    var general1_1_panel924 = new Ext.Panel({ "autoHeight": true, "autoScroll": false, "border": false, "frame": false, "hideCheckBoxLabels": true, "items": [ { "autoHeight": true, "flex": 50, "items": owner_disp922, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 50, "items": private923, "labelAlign": "top", "layout": "form", "xtype": "panel" } ], "labelAlign": "top", "labelWidth": 0, "layout": "hbox", "layoutConfig": { "align": "stretchmax" } });
    var reply_to927 = new Lino.RemoteComboFieldElement({ "allowBlank": true, "anchor": "-20", "autoHeight": true, "detail_action": "Lino.comments.Comments.detail", "emptyText": "Select a Comment...", "fieldLabel": "Reply to", "hiddenName": "reply_toHidden", "insert_action": "Lino.comments.Comments.insert", "listeners": { "render": Lino.quicktip_renderer("Reply to","(comments.Comments.reply_to) ") }, "name": "reply_to", "pageSize": 20, "related_actor_id": "comments.Comments", "selectOnFocus": true, "store": new Lino.ComplexRemoteComboStore({ "proxy": new Ext.data.HttpProxy({ "method": "GET", "url": "/choices/comments/Comments/reply_to" }) }) });
    var pick_my_emotion_disp928 = new Ext.form.DisplayField({ "always_enabled": true, "anchor": "-20", "autoHeight": true, "disabled": true, "fieldLabel": "Pick Emotion", "listeners": { "render": Lino.quicktip_renderer("Pick Emotion","(comments.Comments.pick_my_emotion) ") }, "name": "pick_my_emotion", "value": "<br/>" });
    var general1_2_panel929 = new Ext.Panel({ "autoHeight": true, "autoScroll": false, "border": false, "frame": false, "hideCheckBoxLabels": true, "items": [ { "autoHeight": true, "flex": 40, "items": reply_to927, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 60, "items": pick_my_emotion_disp928, "labelAlign": "top", "layout": "form", "xtype": "panel" } ], "labelAlign": "top", "labelWidth": 0, "layout": "hbox", "layoutConfig": { "align": "stretchmax" } });
    var body_full_preview932 = new Lino.RichTextPanel({ "containing_panel": this, "disabled": true, "fieldLabel": "<span style=\"border-bottom: 1px dotted #000000;\">Preview (full)</span>", "flex": 55, "name": "body_full_preview", "title": "Preview (full)" });
    var general1_panel933 = new Ext.Panel({ "autoScroll": false, "bodyBorder": false, "border": false, "flex": 50, "frame": true, "hideCheckBoxLabels": true, "items": [ general1_1_panel924, general1_2_panel929, body_full_preview932 ], "labelAlign": "top", "labelWidth": 135, "layout": "vbox", "layoutConfig": { "align": "stretch" }, "region": "center" });
    var general_1_panel935 = new Ext.Panel({ "autoScroll": false, "border": false, "frame": false, "hideCheckBoxLabels": true, "items": [ general1_panel933 ], "labelAlign": "top", "labelWidth": 72, "layout": "hbox", "layoutConfig": { "align": "stretch" }, "listeners": { "activate": Lino.on_tab_activate }, "title": "General" });
    var body936 = new Lino.RichTextPanel({ "allowBlank": true, "containing_panel": this, "fieldLabel": "<span style=\"border-bottom: 1px dotted #000000;\">Body</span>", "flex": 65, "name": "body", "selectOnFocus": true, "title": "Body" });
    var id937 = new Ext.form.NumberField({ "allowBlank": true, "anchor": "-20", "autoHeight": true, "fieldLabel": "ID", "listeners": { "render": Lino.quicktip_renderer("ID","(comments.Comments.id) ") }, "name": "id", "selectOnFocus": true });
    var user938 = new Lino.RemoteComboFieldElement({ "anchor": "-20", "autoHeight": true, "detail_action": "Lino.users.AllUsers.detail", "disabled": true, "emptyText": "Select a User...", "fieldLabel": "<span style=\"border-bottom: 1px dotted #000000;\">Author</span>", "hiddenName": "userHidden", "insert_action": "Lino.users.AllUsers.insert", "listeners": { "render": Lino.quicktip_renderer("Author","(comments.Comments.user) The author of the comment.") }, "name": "user", "pageSize": 20, "preferred_width": 15, "related_actor_id": "users.AllUsers" });
    var more2_1_panel939 = new Ext.Panel({ "anchor": "-20", "autoHeight": true, "autoScroll": false, "border": false, "frame": false, "hideCheckBoxLabels": true, "items": [ { "autoHeight": true, "flex": 20, "items": id937, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 80, "items": user938, "labelAlign": "top", "layout": "form", "xtype": "panel" } ], "labelAlign": "top", "labelWidth": 0, "layout": "hbox", "layoutConfig": { "align": "stretchmax" } });
    var owner_type942 = new Lino.RemoteComboFieldElement({ "allowBlank": true, "anchor": "-20", "autoHeight": true, "detail_action": "Lino.gfks.ContentTypes.detail", "emptyText": "Select a content type...", "fieldLabel": "Topic (type)", "hiddenName": "owner_typeHidden", "listeners": { "render": Lino.quicktip_renderer("Topic (type)","(comments.Comments.owner_type) ") }, "name": "owner_type", "pageSize": 20, "related_actor_id": "gfks.ContentTypes", "selectOnFocus": true, "store": new Lino.ComplexRemoteComboStore({ "proxy": new Ext.data.HttpProxy({ "method": "GET", "url": "/choices/comments/Comments/owner_type" }) }) });
    var owner_id943 = new Lino.RemoteComboFieldElement({ "allowBlank": true, "anchor": "-20", "autoHeight": true, "can_create_choice": false, "fieldLabel": "Topic (object)", "hiddenName": "owner_idHidden", "listeners": { "render": Lino.quicktip_renderer("Topic (object)","(comments.Comments.owner_id) ") }, "name": "owner_id", "selectOnFocus": true, "store": new Lino.ComplexRemoteComboStore({ "proxy": new Ext.data.HttpProxy({ "method": "GET", "url": "/choices/comments/Comments/owner_id" }) }) });
    var more2_2_panel944 = new Ext.Panel({ "anchor": "-20", "autoHeight": true, "autoScroll": false, "border": false, "frame": false, "hideCheckBoxLabels": true, "items": [ { "autoHeight": true, "flex": 66, "items": owner_type942, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 33, "items": owner_id943, "labelAlign": "top", "layout": "form", "xtype": "panel" } ], "labelAlign": "top", "labelWidth": 0, "layout": "hbox", "layoutConfig": { "align": "stretchmax" } });
    var created947 = new Ext.form.DisplayField({ "anchor": "-20", "autoHeight": true, "disabled": true, "fieldLabel": "<span style=\"border-bottom: 1px dotted #000000;\">Created</span>", "listeners": { "render": Lino.quicktip_renderer("Created","(comments.Comments.created) The time when this object was created.") }, "name": "created", "value": "<br>" });
    var modified948 = new Ext.form.DisplayField({ "anchor": "-20", "autoHeight": true, "disabled": true, "fieldLabel": "<span style=\"border-bottom: 1px dotted #000000;\">Modified</span>", "listeners": { "render": Lino.quicktip_renderer("Modified","(comments.Comments.modified) The time when this database object was last modified.") }, "name": "modified", "value": "<br>" });
    var more2_3_panel949 = new Ext.Panel({ "anchor": "-20", "autoHeight": true, "autoScroll": false, "border": false, "frame": false, "hideCheckBoxLabels": true, "items": [ { "autoHeight": true, "flex": 50, "items": created947, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 50, "items": modified948, "labelAlign": "top", "layout": "form", "xtype": "panel" } ], "labelAlign": "top", "labelWidth": 0, "layout": "hbox", "layoutConfig": { "align": "stretchmax" } });
    var comment_type952 = new Lino.RemoteComboFieldElement({ "allowBlank": true, "anchor": "-20", "autoHeight": true, "detail_action": "Lino.comments.CommentTypes.detail", "emptyText": "Select a Comment Type...", "fieldLabel": "Comment Type", "hiddenName": "comment_typeHidden", "insert_action": "Lino.comments.CommentTypes.insert", "listeners": { "render": Lino.quicktip_renderer("Comment Type","(comments.Comments.comment_type) ") }, "name": "comment_type", "pageSize": 20, "related_actor_id": "comments.CommentTypes", "selectOnFocus": true, "store": new Lino.ComplexRemoteComboStore({ "proxy": new Ext.data.HttpProxy({ "method": "GET", "url": "/choices/comments/Comments/comment_type" }) }) });
    var more2_panel953 = new Ext.Panel({ "autoHeight": true, "autoScroll": false, "bodyBorder": false, "border": false, "flex": 34, "frame": true, "hideCheckBoxLabels": true, "items": [ more2_1_panel939, more2_2_panel944, more2_3_panel949, { "anchor": "-20", "autoHeight": true, "items": comment_type952, "labelAlign": "top", "layout": "form", "xtype": "panel" } ], "labelAlign": "top", "labelWidth": 0, "layout": "form" });
    var more_1_panel955 = new Ext.Panel({ "autoHeight": true, "autoScroll": false, "border": false, "frame": false, "hideCheckBoxLabels": true, "items": [ body936, more2_panel953 ], "labelAlign": "top", "labelWidth": 45, "layout": "hbox", "layoutConfig": { "align": "stretchmax" }, "listeners": { "activate": Lino.on_tab_activate }, "title": "More" });
    var main_panel956 = new Ext.TabPanel({ "activeTab": 0, "autoScroll": false, "bodyBorder": false, "border": false, "enableTabScroll": true, "frame": true, "hideCheckBoxLabels": true, "items": [ general_1_panel935, more_1_panel955 ], "labelAlign": "top", "split": true });
    this.items = main_panel956;
    this.before_row_edit = function(record) {
      body_full_preview932.refresh();
      body936.refresh();
      owner_id943.setContextValue('owner_type', record ? record.data['owner_typeHidden'] : undefined);
    }
    this.onRender = function(ct, position) {
      typeof owner_type942 !== 'undefined' && owner_type942.on('change',Lino.chooser_handler(owner_id943,'owner_type'));
      Lino.comments.Comments.DetailFormPanel.superclass.onRender.call(this, ct, position);
    }
    Lino.comments.Comments.DetailFormPanel.superclass.initComponent.call(this);
  }
});


Lino.courses.Enrolments.InsertFormPanel = Ext.extend(Lino.FormPanel,{
cls: "l-InsertFormPanel courses-Enrolments",
  layout: 'fit',
  auto_save: true,
  actions_hotkeys: [ { "alt": false, "ba": "Lino.row_action_handler('as_pdf_p', 'GET', null)", "ctrl": true, "key": "P", "keycode": 80, "shift": false }, { "alt": false, "ba": "Lino.row_action_handler('do_print', 'GET', null)", "ctrl": true, "key": "P", "keycode": 80, "shift": false } ],
  autoHeight: true,
  content_type: 52,
  initComponent : function() {
    var request_date957 = new Lino.DateField({ "allowBlank": false, "anchor": "-20", "autoHeight": true, "fieldLabel": "Date of request", "listeners": { "render": Lino.quicktip_renderer("Date of request","(courses.Enrolments.request_date) ") }, "name": "request_date", "selectOnFocus": true });
    var user958 = new Lino.RemoteComboFieldElement({ "allowBlank": true, "anchor": "-20", "autoHeight": true, "detail_action": "Lino.users.AllUsers.detail", "emptyText": "Select a User...", "fieldLabel": "<span style=\"border-bottom: 1px dotted #000000;\">Author</span>", "hiddenName": "userHidden", "insert_action": "Lino.users.AllUsers.insert", "listeners": { "render": Lino.quicktip_renderer("Author","(courses.Enrolments.user) The author of this object.\nA pointer to lino.modlib.users.models.User.") }, "name": "user", "pageSize": 20, "preferred_width": 15, "related_actor_id": "users.AllUsers", "selectOnFocus": true, "store": new Lino.ComplexRemoteComboStore({ "proxy": new Ext.data.HttpProxy({ "method": "GET", "url": "/choices/courses/Enrolments/user" }) }) });
    var main_1_panel959 = new Ext.Panel({ "anchor": "-20", "autoHeight": true, "autoScroll": false, "border": false, "frame": false, "hideCheckBoxLabels": true, "items": [ { "autoHeight": true, "flex": 39, "items": request_date957, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 60, "items": user958, "labelAlign": "top", "layout": "form", "xtype": "panel" } ], "labelAlign": "top", "labelWidth": 0, "layout": "hbox", "layoutConfig": { "align": "stretchmax" } });
    var course962 = new Lino.RemoteComboFieldElement({ "allowBlank": true, "anchor": "-20", "autoHeight": true, "can_create_choice": false, "detail_action": "Lino.courses.Activities.detail", "emptyText": "Select a Activity...", "fieldLabel": "Activity", "hiddenName": "courseHidden", "insert_action": "Lino.courses.Activities.insert", "listeners": { "render": Lino.quicktip_renderer("Activity","(courses.Enrolments.course) ") }, "name": "course", "pageSize": 20, "related_actor_id": "courses.Activities", "selectOnFocus": true, "store": new Lino.ComplexRemoteComboStore({ "proxy": new Ext.data.HttpProxy({ "method": "GET", "url": "/choices/courses/Enrolments/course" }) }) });
    var pupil963 = new Lino.RemoteComboFieldElement({ "allowBlank": false, "anchor": "-20", "autoHeight": true, "can_create_choice": true, "detail_action": "Lino.contacts.Persons.detail", "emptyText": "Select a Person...", "fieldLabel": "Participant", "forceSelection": false, "hiddenName": "pupilHidden", "insert_action": "Lino.contacts.Persons.insert", "listeners": { "render": Lino.quicktip_renderer("Participant","(courses.Enrolments.pupil) ") }, "name": "pupil", "pageSize": 20, "preferred_width": 20, "related_actor_id": "contacts.Persons", "selectOnFocus": true, "store": new Lino.ComplexRemoteComboStore({ "proxy": new Ext.data.HttpProxy({ "method": "GET", "url": "/choices/courses/Enrolments/pupil" }) }) });
    var main_2_panel964 = new Ext.Panel({ "anchor": "-20", "autoHeight": true, "autoScroll": false, "border": false, "frame": false, "hideCheckBoxLabels": true, "items": [ { "autoHeight": true, "flex": 50, "items": course962, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 50, "items": pupil963, "labelAlign": "top", "layout": "form", "xtype": "panel" } ], "labelAlign": "top", "labelWidth": 0, "layout": "hbox", "layoutConfig": { "align": "stretchmax" } });
    var remark967 = new Ext.form.TextField({ "allowBlank": true, "anchor": "-20", "autoHeight": true, "fieldLabel": "Remark", "listeners": { "render": Lino.quicktip_renderer("Remark","(courses.Enrolments.remark) ") }, "maxLength": 200, "name": "remark", "selectOnFocus": true });
    var main_panel968 = new Ext.Panel({ "autoHeight": true, "autoScroll": false, "bodyBorder": false, "border": false, "frame": true, "hideCheckBoxLabels": true, "items": [ main_1_panel959, main_2_panel964, { "anchor": "-20", "autoHeight": true, "items": remark967, "labelAlign": "top", "layout": "form", "xtype": "panel" } ], "labelAlign": "top", "labelWidth": 0, "layout": "form" });
    this.items = main_panel968;
    this.before_row_edit = function(record) {
      course962.setContextValue('course_area', record ? record.data['course_areaHidden'] : undefined);
      course962.setContextValue('request_date', record ? record.data['request_date'] : undefined);
      pupil963.setContextValue('course', record ? record.data['courseHidden'] : undefined);
    }
    this.onRender = function(ct, position) {
      typeof request_date957 !== 'undefined' && request_date957.on('change',Lino.chooser_handler(course962,'request_date'));
      typeof course962 !== 'undefined' && course962.on('change',Lino.chooser_handler(pupil963,'course'));
      Lino.courses.Enrolments.InsertFormPanel.superclass.onRender.call(this, ct, position);
    }
    Lino.courses.Enrolments.InsertFormPanel.superclass.initComponent.call(this);
  }
});


Lino.courses.EnrolmentsByCourse.InsertFormPanel = Ext.extend(Lino.FormPanel,{
cls: "l-InsertFormPanel courses-EnrolmentsByCourse",
  layout: 'fit',
  auto_save: true,
  actions_hotkeys: [ { "alt": false, "ba": "Lino.row_action_handler('as_pdf_p', 'GET', null)", "ctrl": true, "key": "P", "keycode": 80, "shift": false }, { "alt": false, "ba": "Lino.row_action_handler('do_print', 'GET', null)", "ctrl": true, "key": "P", "keycode": 80, "shift": false } ],
  autoHeight: true,
  content_type: 52,
  initComponent : function() {
    var pupil970 = new Lino.RemoteComboFieldElement({ "allowBlank": false, "anchor": "-20", "autoHeight": true, "can_create_choice": true, "detail_action": "Lino.contacts.Persons.detail", "emptyText": "Select a Person...", "fieldLabel": "Participant", "forceSelection": false, "hiddenName": "pupilHidden", "insert_action": "Lino.contacts.Persons.insert", "listeners": { "render": Lino.quicktip_renderer("Participant","(courses.EnrolmentsByCourse.pupil) ") }, "name": "pupil", "pageSize": 20, "preferred_width": 20, "related_actor_id": "contacts.Persons", "selectOnFocus": true, "store": new Lino.ComplexRemoteComboStore({ "proxy": new Ext.data.HttpProxy({ "method": "GET", "url": "/choices/courses/EnrolmentsByCourse/pupil" }) }) });
    var remark971 = new Ext.form.TextField({ "allowBlank": true, "anchor": "-20", "autoHeight": true, "fieldLabel": "Remark", "listeners": { "render": Lino.quicktip_renderer("Remark","(courses.EnrolmentsByCourse.remark) ") }, "maxLength": 200, "name": "remark", "selectOnFocus": true });
    var request_date972 = new Lino.DateField({ "allowBlank": false, "anchor": "-20", "autoHeight": true, "fieldLabel": "Date of request", "listeners": { "render": Lino.quicktip_renderer("Date of request","(courses.EnrolmentsByCourse.request_date) ") }, "name": "request_date", "selectOnFocus": true });
    var user973 = new Lino.RemoteComboFieldElement({ "allowBlank": true, "anchor": "-20", "autoHeight": true, "detail_action": "Lino.users.AllUsers.detail", "emptyText": "Select a User...", "fieldLabel": "<span style=\"border-bottom: 1px dotted #000000;\">Author</span>", "hiddenName": "userHidden", "insert_action": "Lino.users.AllUsers.insert", "listeners": { "render": Lino.quicktip_renderer("Author","(courses.EnrolmentsByCourse.user) The author of this object.\nA pointer to lino.modlib.users.models.User.") }, "name": "user", "pageSize": 20, "preferred_width": 15, "related_actor_id": "users.AllUsers", "selectOnFocus": true, "store": new Lino.ComplexRemoteComboStore({ "proxy": new Ext.data.HttpProxy({ "method": "GET", "url": "/choices/courses/EnrolmentsByCourse/user" }) }) });
    var main_3_panel974 = new Ext.Panel({ "anchor": "-20", "autoHeight": true, "autoScroll": false, "border": false, "frame": false, "hideCheckBoxLabels": true, "items": [ { "autoHeight": true, "flex": 39, "items": request_date972, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 60, "items": user973, "labelAlign": "top", "layout": "form", "xtype": "panel" } ], "labelAlign": "top", "labelWidth": 0, "layout": "hbox", "layoutConfig": { "align": "stretchmax" } });
    var main_panel977 = new Ext.Panel({ "autoHeight": true, "autoScroll": false, "bodyBorder": false, "border": false, "frame": true, "hideCheckBoxLabels": true, "items": [ { "anchor": "-20", "autoHeight": true, "items": pupil970, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "anchor": "-20", "autoHeight": true, "items": remark971, "labelAlign": "top", "layout": "form", "xtype": "panel" }, main_3_panel974 ], "labelAlign": "top", "labelWidth": 0, "layout": "form" });
    this.items = main_panel977;
    this.before_row_edit = function(record) {
      var bp = this.get_base_params();
      pupil970.setContextValue('mk',bp['mk']);
      pupil970.setContextValue('mt',bp['mt']);
    }
    Lino.courses.EnrolmentsByCourse.InsertFormPanel.superclass.initComponent.call(this);
  }
});


Lino.calview.WeeklyView.DetailFormPanel = Ext.extend(Lino.FormPanel,{
cls: "l-DetailFormPanel calview-WeeklyView",
  layout: 'fit',
  auto_save: true,
  actions_hotkeys: [ { "alt": false, "ba": "Lino.row_action_handler('as_pdf_p', 'GET', null)", "ctrl": true, "key": "P", "keycode": 80, "shift": false } ],
  disable_editing: true,
  initComponent : function() {
    var navigation_panel_htmlbox980 = new Lino.HtmlBoxPanel({ "always_enabled": true, "bodyStyle": "overflow-x:hidden;", "containing_panel": this, "flex": 15, "items": new Ext.BoxComponent({autoScroll:true}), "layout": "fit", "listeners": { "render": Lino.quicktip_renderer(null,"(calview.WeeklyView.navigation_panel) ") }, "name": "navigation_panel", "region": "center", "value": "<br/>" });
    var body_panel993 = new Ext.Panel({ "autoScroll": false, "border": false, "frame": false, "hideCheckBoxLabels": true, "items": [ navigation_panel_htmlbox980 ], "labelAlign": "top", "labelWidth": 0, "layout": "hbox", "layoutConfig": { "align": "stretch" }, "region": "center" });
    var main_panel994 = new Ext.Panel({ "autoScroll": false, "bodyBorder": false, "border": false, "frame": true, "hideCheckBoxLabels": true, "items": [ body_panel993 ], "labelAlign": "top", "layout": "fit" });
    this.items = main_panel994;
    this.before_row_edit = function(record) {
      navigation_panel_htmlbox980.refresh();
    }
    Lino.calview.WeeklyView.DetailFormPanel.superclass.initComponent.call(this);
  }
});


Lino.cal.Rooms.InsertFormPanel = Ext.extend(Lino.FormPanel,{
cls: "l-InsertFormPanel cal-Rooms",
  layout: 'fit',
  auto_save: true,
  actions_hotkeys: [ { "alt": false, "ba": "Lino.row_action_handler('as_pdf_p', 'GET', null)", "ctrl": true, "key": "P", "keycode": 80, "shift": false } ],
  autoHeight: true,
  content_type: 17,
  initComponent : function() {
    var id995 = new Ext.form.NumberField({ "allowBlank": true, "anchor": "-20", "autoHeight": true, "fieldLabel": "ID", "listeners": { "render": Lino.quicktip_renderer("ID","(cal.Rooms.id) ") }, "name": "id", "selectOnFocus": true });
    var name996 = new Ext.form.TextField({ "allowBlank": false, "anchor": "-20", "autoHeight": true, "fieldLabel": "<span style=\"border-bottom: 1px dotted #000000;\">Designation</span>", "listeners": { "render": Lino.quicktip_renderer("Designation","(cal.Rooms.name) The designation of the room. This is not required to be unique.") }, "maxLength": 200, "name": "name", "selectOnFocus": true });
    var name_de997 = new Ext.form.TextField({ "allowBlank": true, "anchor": "-20", "autoHeight": true, "fieldLabel": "Designation (de)", "listeners": { "render": Lino.quicktip_renderer("Designation (de)","(cal.Rooms.name_de) ") }, "maxLength": 200, "name": "name_de", "selectOnFocus": true });
    var name_fr998 = new Ext.form.TextField({ "allowBlank": true, "anchor": "-20", "autoHeight": true, "fieldLabel": "Designation (fr)", "listeners": { "render": Lino.quicktip_renderer("Designation (fr)","(cal.Rooms.name_fr) ") }, "maxLength": 200, "name": "name_fr", "selectOnFocus": true });
    var display_color999 = new Lino.ChoicesFieldElement({ "allowBlank": false, "anchor": "-20", "autoHeight": true, "fieldLabel": "<span style=\"border-bottom: 1px dotted #000000;\">Color</span>", "forceSelection": true, "hiddenName": "display_colorHidden", "listeners": { "render": Lino.quicktip_renderer("Color","(cal.Rooms.display_color) The color to use when displaying entries in this room in the calendar\nview.") }, "name": "display_color", "selectOnFocus": true, "store": Lino.cal.DisplayColors });
    var main_1_panel1000 = new Ext.Panel({ "anchor": "-20", "autoHeight": true, "autoScroll": false, "border": false, "frame": false, "hideCheckBoxLabels": true, "items": [ { "autoHeight": true, "flex": 6, "items": id995, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 26, "items": name996, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 26, "items": name_de997, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 26, "items": name_fr998, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 12, "items": display_color999, "labelAlign": "top", "layout": "form", "xtype": "panel" } ], "labelAlign": "top", "labelWidth": 0, "layout": "hbox", "layoutConfig": { "align": "stretchmax" } });
    var company1006 = new Lino.RemoteComboFieldElement({ "allowBlank": true, "anchor": "-20", "autoHeight": true, "detail_action": "Lino.contacts.Companies.detail", "emptyText": "Select a Organization...", "fieldLabel": "<span style=\"border-bottom: 1px dotted #000000;\">Responsible</span>", "hiddenName": "companyHidden", "insert_action": "Lino.contacts.Companies.insert", "listeners": { "render": Lino.quicktip_renderer("Responsible","(cal.Rooms.company) Pointer to Company.") }, "name": "company", "pageSize": 20, "preferred_width": 20, "related_actor_id": "contacts.Companies", "selectOnFocus": true, "store": new Lino.ComplexRemoteComboStore({ "proxy": new Ext.data.HttpProxy({ "method": "GET", "url": "/choices/cal/Rooms/company" }) }) });
    var contact_person1007 = new Lino.RemoteComboFieldElement({ "allowBlank": true, "anchor": "-20", "autoHeight": true, "can_create_choice": false, "detail_action": "Lino.contacts.Persons.detail", "emptyText": "Select a Person...", "fieldLabel": "<span style=\"border-bottom: 1px dotted #000000;\">Contact person</span>", "hiddenName": "contact_personHidden", "insert_action": "Lino.contacts.Persons.insert", "listeners": { "render": Lino.quicktip_renderer("Contact person","(cal.Rooms.contact_person) Pointer to Person.") }, "name": "contact_person", "pageSize": 20, "preferred_width": 20, "related_actor_id": "contacts.Persons", "selectOnFocus": true, "store": new Lino.ComplexRemoteComboStore({ "proxy": new Ext.data.HttpProxy({ "method": "GET", "url": "/choices/cal/Rooms/contact_person" }) }) });
    var main_panel1008 = new Ext.Panel({ "autoHeight": true, "autoScroll": false, "bodyBorder": false, "border": false, "frame": true, "hideCheckBoxLabels": true, "items": [ main_1_panel1000, { "anchor": "-20", "autoHeight": true, "items": company1006, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "anchor": "-20", "autoHeight": true, "items": contact_person1007, "labelAlign": "top", "layout": "form", "xtype": "panel" } ], "labelAlign": "top", "labelWidth": 0, "layout": "form" });
    this.items = main_panel1008;
    this.before_row_edit = function(record) {
      contact_person1007.setContextValue('company', record ? record.data['companyHidden'] : undefined);
    }
    this.onRender = function(ct, position) {
      typeof company1006 !== 'undefined' && company1006.on('change',Lino.chooser_handler(contact_person1007,'company'));
      Lino.cal.Rooms.InsertFormPanel.superclass.onRender.call(this, ct, position);
    }
    Lino.cal.Rooms.InsertFormPanel.superclass.initComponent.call(this);
  }
});


Lino.cal.EntriesByGuest.InsertFormPanel = Ext.extend(Lino.FormPanel,{
cls: "l-InsertFormPanel cal-EntriesByGuest",
  layout: 'fit',
  auto_save: true,
  actions_hotkeys: [ { "alt": false, "ba": "Lino.row_action_handler('as_pdf_p', 'GET', null)", "ctrl": true, "key": "P", "keycode": 80, "shift": false }, { "alt": false, "ba": "Lino.row_action_handler('do_print', 'GET', null)", "ctrl": true, "key": "P", "keycode": 80, "shift": false } ],
  autoHeight: true,
  content_type: 25,
  initComponent : function() {
    var start_date1011 = new Lino.DateField({ "allowBlank": true, "anchor": "-20", "autoHeight": true, "fieldLabel": "<span style=\"border-bottom: 1px dotted #000000;\">Start date</span>", "listeners": { "render": Lino.quicktip_renderer("Start date","(cal.EntriesByGuest.start_date) The starting date of this calendar entry.  May not be empty.") }, "name": "start_date", "selectOnFocus": true });
    var start_time1012 = new Lino.TimeField({ "allowBlank": true, "anchor": "-20", "autoHeight": true, "fieldLabel": "<span style=\"border-bottom: 1px dotted #000000;\">Start time</span>", "listeners": { "render": Lino.quicktip_renderer("Start time","(cal.EntriesByGuest.start_time) The starting time.  If this is empty, the entry is considered an\nall-day entry.") }, "maxValue": "9:00 PM", "minValue": "7:00", "name": "start_time", "selectOnFocus": true });
    var end_time1013 = new Lino.TimeField({ "allowBlank": true, "anchor": "-20", "autoHeight": true, "fieldLabel": "<span style=\"border-bottom: 1px dotted #000000;\">End Time</span>", "listeners": { "render": Lino.quicktip_renderer("End Time","(cal.EntriesByGuest.end_time) The ending time.  If this is before the starting time, and no ending\ndate is given, Lino considers the entry to end the day after.") }, "maxValue": "9:00 PM", "minValue": "7:00", "name": "end_time", "selectOnFocus": true });
    var main_1_panel1014 = new Ext.Panel({ "anchor": "-20", "autoHeight": true, "autoScroll": false, "border": false, "frame": false, "hideCheckBoxLabels": true, "items": [ { "autoHeight": true, "flex": 44, "items": start_date1011, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 27, "items": start_time1012, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 27, "items": end_time1013, "labelAlign": "top", "layout": "form", "xtype": "panel" } ], "labelAlign": "top", "labelWidth": 0, "layout": "hbox", "layoutConfig": { "align": "stretchmax" } });
    var summary1018 = new Ext.form.TextField({ "allowBlank": true, "anchor": "-20", "autoHeight": true, "fieldLabel": "<span style=\"border-bottom: 1px dotted #000000;\">Short description</span>", "listeners": { "render": Lino.quicktip_renderer("Short description","(cal.EntriesByGuest.summary) A one-line descriptive text.") }, "maxLength": 200, "name": "summary", "selectOnFocus": true });
    var event_type1019 = new Lino.RemoteComboFieldElement({ "allowBlank": true, "anchor": "-20", "autoHeight": true, "detail_action": "Lino.cal.EventTypes.detail", "emptyText": "Select a Calendar entry type...", "fieldLabel": "<span style=\"border-bottom: 1px dotted #000000;\">Calendar entry type</span>", "hiddenName": "event_typeHidden", "insert_action": "Lino.cal.EventTypes.insert", "listeners": { "render": Lino.quicktip_renderer("Calendar entry type","(cal.EntriesByGuest.event_type) The type of this calendar entry.") }, "name": "event_type", "pageSize": 20, "related_actor_id": "cal.EventTypes", "selectOnFocus": true, "store": new Lino.ComplexRemoteComboStore({ "proxy": new Ext.data.HttpProxy({ "method": "GET", "url": "/choices/cal/EntriesByGuest/event_type" }) }) });
    var main_panel1020 = new Ext.Panel({ "autoHeight": true, "autoScroll": false, "bodyBorder": false, "border": false, "frame": true, "hideCheckBoxLabels": true, "items": [ main_1_panel1014, { "anchor": "-20", "autoHeight": true, "items": summary1018, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "anchor": "-20", "autoHeight": true, "items": event_type1019, "labelAlign": "top", "layout": "form", "xtype": "panel" } ], "labelAlign": "top", "labelWidth": 0, "layout": "form" });
    this.items = main_panel1020;
    this.before_row_edit = function(record) {
    }
    Lino.cal.EntriesByGuest.InsertFormPanel.superclass.initComponent.call(this);
  }
});


Lino.cal.Rooms.DetailFormPanel = Ext.extend(Lino.FormPanel,{
cls: "l-DetailFormPanel cal-Rooms",
  layout: 'fit',
  auto_save: true,
  actions_hotkeys: [ { "alt": false, "ba": "Lino.row_action_handler('as_pdf_p', 'GET', null)", "ctrl": true, "key": "P", "keycode": 80, "shift": false } ],
  content_type: 17,
  initComponent : function() {
    var id1023 = new Ext.form.NumberField({ "allowBlank": true, "anchor": "-20", "autoHeight": true, "fieldLabel": "ID", "listeners": { "render": Lino.quicktip_renderer("ID","(cal.Rooms.id) ") }, "name": "id", "selectOnFocus": true });
    var name1024 = new Ext.form.TextField({ "allowBlank": false, "anchor": "-20", "autoHeight": true, "fieldLabel": "<span style=\"border-bottom: 1px dotted #000000;\">Designation</span>", "listeners": { "render": Lino.quicktip_renderer("Designation","(cal.Rooms.name) The designation of the room. This is not required to be unique.") }, "maxLength": 200, "name": "name", "selectOnFocus": true });
    var name_de1025 = new Ext.form.TextField({ "allowBlank": true, "anchor": "-20", "autoHeight": true, "fieldLabel": "Designation (de)", "listeners": { "render": Lino.quicktip_renderer("Designation (de)","(cal.Rooms.name_de) ") }, "maxLength": 200, "name": "name_de", "selectOnFocus": true });
    var name_fr1026 = new Ext.form.TextField({ "allowBlank": true, "anchor": "-20", "autoHeight": true, "fieldLabel": "Designation (fr)", "listeners": { "render": Lino.quicktip_renderer("Designation (fr)","(cal.Rooms.name_fr) ") }, "maxLength": 200, "name": "name_fr", "selectOnFocus": true });
    var main_1_panel1027 = new Ext.Panel({ "autoHeight": true, "autoScroll": false, "border": false, "frame": false, "hideCheckBoxLabels": true, "items": [ { "autoHeight": true, "flex": 7, "items": id1023, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 30, "items": name1024, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 30, "items": name_de1025, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 30, "items": name_fr1026, "labelAlign": "top", "layout": "form", "xtype": "panel" } ], "labelAlign": "top", "labelWidth": 0, "layout": "hbox", "layoutConfig": { "align": "stretchmax" } });
    var company1032 = new Lino.RemoteComboFieldElement({ "allowBlank": true, "anchor": "-20", "autoHeight": true, "detail_action": "Lino.contacts.Companies.detail", "emptyText": "Select a Organization...", "fieldLabel": "<span style=\"border-bottom: 1px dotted #000000;\">Responsible</span>", "hiddenName": "companyHidden", "insert_action": "Lino.contacts.Companies.insert", "listeners": { "render": Lino.quicktip_renderer("Responsible","(cal.Rooms.company) Pointer to Company.") }, "name": "company", "pageSize": 20, "preferred_width": 20, "related_actor_id": "contacts.Companies", "selectOnFocus": true, "store": new Lino.ComplexRemoteComboStore({ "proxy": new Ext.data.HttpProxy({ "method": "GET", "url": "/choices/cal/Rooms/company" }) }) });
    var contact_person1033 = new Lino.RemoteComboFieldElement({ "allowBlank": true, "anchor": "-20", "autoHeight": true, "can_create_choice": false, "detail_action": "Lino.contacts.Persons.detail", "emptyText": "Select a Person...", "fieldLabel": "<span style=\"border-bottom: 1px dotted #000000;\">Contact person</span>", "hiddenName": "contact_personHidden", "insert_action": "Lino.contacts.Persons.insert", "listeners": { "render": Lino.quicktip_renderer("Contact person","(cal.Rooms.contact_person) Pointer to Person.") }, "name": "contact_person", "pageSize": 20, "preferred_width": 20, "related_actor_id": "contacts.Persons", "selectOnFocus": true, "store": new Lino.ComplexRemoteComboStore({ "proxy": new Ext.data.HttpProxy({ "method": "GET", "url": "/choices/cal/Rooms/contact_person" }) }) });
    var display_color1034 = new Lino.ChoicesFieldElement({ "allowBlank": false, "anchor": "-20", "autoHeight": true, "fieldLabel": "<span style=\"border-bottom: 1px dotted #000000;\">Color</span>", "forceSelection": true, "hiddenName": "display_colorHidden", "listeners": { "render": Lino.quicktip_renderer("Color","(cal.Rooms.display_color) The color to use when displaying entries in this room in the calendar\nview.") }, "name": "display_color", "selectOnFocus": true, "store": Lino.cal.DisplayColors });
    var main_2_panel1035 = new Ext.Panel({ "autoHeight": true, "autoScroll": false, "border": false, "frame": false, "hideCheckBoxLabels": true, "items": [ { "autoHeight": true, "flex": 40, "items": company1032, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 40, "items": contact_person1033, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 20, "items": display_color1034, "labelAlign": "top", "layout": "form", "xtype": "panel" } ], "labelAlign": "top", "labelWidth": 0, "layout": "hbox", "layoutConfig": { "align": "stretchmax" } });
    var description1039 = new Lino.RichTextPanel({ "allowBlank": true, "containing_panel": this, "fieldLabel": "Description", "flex": 41, "name": "description", "selectOnFocus": true, "title": "Description" });
    var main_panel1124 = new Ext.Panel({ "autoScroll": false, "bodyBorder": false, "border": false, "frame": true, "hideCheckBoxLabels": true, "items": [ main_1_panel1027, main_2_panel1035, description1039 ], "labelAlign": "top", "labelWidth": 108, "layout": "vbox", "layoutConfig": { "align": "stretch" } });
    this.items = main_panel1124;
    this.before_row_edit = function(record) {
      contact_person1033.setContextValue('company', record ? record.data['companyHidden'] : undefined);
      description1039.refresh();
    }
    this.onRender = function(ct, position) {
      typeof company1032 !== 'undefined' && company1032.on('change',Lino.chooser_handler(contact_person1033,'company'));
      Lino.cal.Rooms.DetailFormPanel.superclass.onRender.call(this, ct, position);
    }
    Lino.cal.Rooms.DetailFormPanel.superclass.initComponent.call(this);
  }
});


Lino.cal.EventTypes.DetailFormPanel = Ext.extend(Lino.FormPanel,{
cls: "l-DetailFormPanel cal-EventTypes",
  layout: 'fit',
  auto_save: true,
  actions_hotkeys: [ { "alt": false, "ba": "Lino.row_action_handler('as_pdf_p', 'GET', null)", "ctrl": true, "key": "P", "keycode": 80, "shift": false } ],
  content_type: 18,
  initComponent : function() {
    var ref1125 = new Ext.form.TextField({ "allowBlank": true, "anchor": "-20", "autoHeight": true, "fieldLabel": "<span style=\"border-bottom: 1px dotted #000000;\">Reference</span>", "listeners": { "render": Lino.quicktip_renderer("Reference","(cal.EventTypes.ref) The reference. This must be either empty or unique.") }, "maxLength": 200, "name": "ref", "selectOnFocus": true });
    var id1126 = new Ext.form.NumberField({ "allowBlank": true, "anchor": "-20", "autoHeight": true, "fieldLabel": "ID", "listeners": { "render": Lino.quicktip_renderer("ID","(cal.EventTypes.id) ") }, "name": "id", "selectOnFocus": true });
    var planner_column1127 = new Lino.ChoicesFieldElement({ "allowBlank": true, "anchor": "-20", "autoHeight": true, "fieldLabel": "Planner column", "forceSelection": true, "hiddenName": "planner_columnHidden", "listeners": { "render": Lino.quicktip_renderer("Planner column","(cal.EventTypes.planner_column) ") }, "name": "planner_column", "selectOnFocus": true, "store": [['','<br>']].concat(Lino.cal.PlannerColumns) });
    var default_duration1128 = new Ext.form.TextField({ "allowBlank": true, "anchor": "-20", "autoHeight": true, "boxMinWidth": Lino.chars2width(6), "fieldLabel": "<span style=\"border-bottom: 1px dotted #000000;\">Default duration</span>", "listeners": { "render": Lino.quicktip_renderer("Default duration","(cal.EventTypes.default_duration) An optional default duration for calendar entries of this type.") }, "maxLength": 6, "name": "default_duration", "selectOnFocus": true });
    var main_1_panel1129 = new Ext.Panel({ "autoHeight": true, "autoScroll": false, "border": false, "frame": false, "hideCheckBoxLabels": true, "items": [ { "autoHeight": true, "flex": 14, "items": ref1125, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 18, "items": id1126, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 40, "items": planner_column1127, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 25, "items": default_duration1128, "labelAlign": "top", "layout": "form", "xtype": "panel" } ], "labelAlign": "top", "labelWidth": 0, "layout": "hbox", "layoutConfig": { "align": "stretchmax" } });
    var name1134 = new Ext.form.TextField({ "allowBlank": false, "anchor": "-20", "autoHeight": true, "fieldLabel": "Designation", "listeners": { "render": Lino.quicktip_renderer("Designation","(cal.EventTypes.name) ") }, "maxLength": 200, "name": "name", "selectOnFocus": true });
    var name_de1135 = new Ext.form.TextField({ "allowBlank": true, "anchor": "-20", "autoHeight": true, "fieldLabel": "Designation (de)", "listeners": { "render": Lino.quicktip_renderer("Designation (de)","(cal.EventTypes.name_de) ") }, "maxLength": 200, "name": "name_de", "selectOnFocus": true });
    var name_fr1136 = new Ext.form.TextField({ "allowBlank": true, "anchor": "-20", "autoHeight": true, "fieldLabel": "Designation (fr)", "listeners": { "render": Lino.quicktip_renderer("Designation (fr)","(cal.EventTypes.name_fr) ") }, "maxLength": 200, "name": "name_fr", "selectOnFocus": true });
    var main_2_panel1137 = new Ext.Panel({ "autoHeight": true, "autoScroll": false, "border": false, "frame": false, "hideCheckBoxLabels": true, "items": [ { "autoHeight": true, "flex": 33, "items": name1134, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 33, "items": name_de1135, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 33, "items": name_fr1136, "labelAlign": "top", "layout": "form", "xtype": "panel" } ], "labelAlign": "top", "labelWidth": 0, "layout": "hbox", "layoutConfig": { "align": "stretchmax" } });
    var event_label1141 = new Ext.form.TextField({ "allowBlank": true, "anchor": "-20", "autoHeight": true, "fieldLabel": "<span style=\"border-bottom: 1px dotted #000000;\">Entry label</span>", "listeners": { "render": Lino.quicktip_renderer("Entry label","(cal.EventTypes.event_label) Default text for summary of new entries.") }, "maxLength": 200, "name": "event_label", "selectOnFocus": true });
    var event_label_de1142 = new Ext.form.TextField({ "allowBlank": true, "anchor": "-20", "autoHeight": true, "fieldLabel": "Entry label (de)", "listeners": { "render": Lino.quicktip_renderer("Entry label (de)","(cal.EventTypes.event_label_de) ") }, "maxLength": 200, "name": "event_label_de", "selectOnFocus": true });
    var event_label_fr1143 = new Ext.form.TextField({ "allowBlank": true, "anchor": "-20", "autoHeight": true, "fieldLabel": "Entry label (fr)", "listeners": { "render": Lino.quicktip_renderer("Entry label (fr)","(cal.EventTypes.event_label_fr) ") }, "maxLength": 200, "name": "event_label_fr", "selectOnFocus": true });
    var main_3_panel1144 = new Ext.Panel({ "autoHeight": true, "autoScroll": false, "border": false, "frame": false, "hideCheckBoxLabels": true, "items": [ { "autoHeight": true, "flex": 33, "items": event_label1141, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 33, "items": event_label_de1142, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 33, "items": event_label_fr1143, "labelAlign": "top", "layout": "form", "xtype": "panel" } ], "labelAlign": "top", "labelWidth": 0, "layout": "hbox", "layoutConfig": { "align": "stretchmax" } });
    var start_date1148 = new Lino.DateField({ "allowBlank": true, "anchor": "-20", "autoHeight": true, "fieldLabel": "Start date", "listeners": { "render": Lino.quicktip_renderer("Start date","(cal.EventTypes.start_date) ") }, "name": "start_date", "selectOnFocus": true });
    var max_days1149 = new Ext.form.NumberField({ "allowBlank": false, "anchor": "-20", "autoHeight": true, "fieldLabel": "<span style=\"border-bottom: 1px dotted #000000;\">Maximum days</span>", "listeners": { "render": Lino.quicktip_renderer("Maximum days","(cal.EventTypes.max_days) The maximal number of days allowed as duration. 0 means no limit.") }, "name": "max_days", "selectOnFocus": true, "value": 1 });
    var max_conflicting1150 = new Ext.form.NumberField({ "allowBlank": false, "anchor": "-20", "autoHeight": true, "fieldLabel": "<span style=\"border-bottom: 1px dotted #000000;\">Simultaneous entries</span>", "listeners": { "render": Lino.quicktip_renderer("Simultaneous entries","(cal.EventTypes.max_conflicting) How many conflicting events should be tolerated.") }, "name": "max_conflicting", "selectOnFocus": true, "value": 1 });
    var email_template1151 = new Lino.SimpleRemoteComboFieldElement({ "allowBlank": true, "anchor": "-20", "autoHeight": true, "can_create_choice": false, "fieldLabel": "<span style=\"border-bottom: 1px dotted #000000;\">Email template</span>", "listeners": { "render": Lino.quicktip_renderer("Email template","(cal.EventTypes.email_template) The name of the file to be used as template when creating an email from a mailable of this type.") }, "name": "email_template", "selectOnFocus": true, "store": new Lino.ComplexRemoteComboStore({ "proxy": new Ext.data.HttpProxy({ "method": "GET", "url": "/choices/cal/EventTypes/email_template" }) }) });
    var attach_to_email1152 = new Ext.form.Checkbox({ "allowBlank": false, "anchor": "-20", "autoHeight": true, "boxLabel": "Attach to email", "checked": false, "hideLabel": true, "listeners": { "render": Lino.quicktip_renderer("Attach to email","(cal.EventTypes.attach_to_email) Whether the printable file should be attached to the email\nwhen creating an email from a mailable of this type.\n") }, "name": "attach_to_email", "selectOnFocus": true });
    var main_4_panel1153 = new Ext.Panel({ "autoHeight": true, "autoScroll": false, "border": false, "frame": false, "hideCheckBoxLabels": true, "items": [ { "autoHeight": true, "flex": 30, "items": start_date1148, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 11, "items": max_days1149, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 11, "items": max_conflicting1150, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 23, "items": email_template1151, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 23, "items": attach_to_email1152, "labelAlign": "top", "layout": "form", "xtype": "panel" } ], "labelAlign": "top", "labelWidth": 0, "layout": "hbox", "layoutConfig": { "align": "stretchmax" } });
    var is_appointment1159 = new Ext.form.Checkbox({ "allowBlank": false, "anchor": "-20", "autoHeight": true, "boxLabel": "Appointment", "checked": true, "hideLabel": true, "listeners": { "render": Lino.quicktip_renderer("Appointment","(cal.EventTypes.is_appointment) Whether entries of this type are considered \"appointments\" (i.e. whose\ntime and place have been agreed upon with other users or external\nparties).") }, "name": "is_appointment", "selectOnFocus": true });
    var force_guest_states1160 = new Ext.form.Checkbox({ "allowBlank": false, "anchor": "-20", "autoHeight": true, "boxLabel": "Automatic presences", "checked": false, "hideLabel": true, "listeners": { "render": Lino.quicktip_renderer("Automatic presences","(cal.EventTypes.force_guest_states) Whether presence states should be forced to those defined by the\nentry state.") }, "name": "force_guest_states", "selectOnFocus": true });
    var fill_presences1161 = new Ext.form.Checkbox({ "allowBlank": false, "anchor": "-20", "autoHeight": true, "boxLabel": "Fill guests", "checked": false, "hideLabel": true, "listeners": { "render": Lino.quicktip_renderer("Fill guests","(cal.EventTypes.fill_presences) Whether guests should be automatically filled for calendar entries of\nthis type.") }, "name": "fill_presences", "selectOnFocus": true });
    var all_rooms1162 = new Ext.form.Checkbox({ "allowBlank": false, "anchor": "-20", "autoHeight": true, "boxLabel": "Locks all rooms", "checked": false, "hideLabel": true, "listeners": { "render": Lino.quicktip_renderer("Locks all rooms","(cal.EventTypes.all_rooms) ") }, "name": "all_rooms", "selectOnFocus": true });
    var locks_user1163 = new Ext.form.Checkbox({ "allowBlank": false, "anchor": "-20", "autoHeight": true, "boxLabel": "Locks the user", "checked": false, "hideLabel": true, "listeners": { "render": Lino.quicktip_renderer("Locks the user","(cal.EventTypes.locks_user) Whether calendar entries of this type make the user\nunavailable for other locking events at the same time.") }, "name": "locks_user", "selectOnFocus": true });
    var transparent1164 = new Ext.form.Checkbox({ "allowBlank": false, "anchor": "-20", "autoHeight": true, "boxLabel": "Transparent", "checked": false, "hideLabel": true, "listeners": { "render": Lino.quicktip_renderer("Transparent","(cal.EventTypes.transparent) Allow entries of this type to conflict with other events.") }, "name": "transparent", "selectOnFocus": true });
    var main_5_panel1165 = new Ext.Panel({ "autoHeight": true, "autoScroll": false, "border": false, "frame": false, "hideCheckBoxLabels": true, "items": [ { "autoHeight": true, "flex": 16, "items": is_appointment1159, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 16, "items": force_guest_states1160, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 16, "items": fill_presences1161, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 16, "items": all_rooms1162, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 16, "items": locks_user1163, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 16, "items": transparent1164, "labelAlign": "top", "layout": "form", "xtype": "panel" } ], "labelAlign": "top", "labelWidth": 0, "layout": "hbox", "layoutConfig": { "align": "stretchmax" } });
    var main_panel1202 = new Ext.Panel({ "autoScroll": false, "bodyBorder": false, "border": false, "frame": true, "hideCheckBoxLabels": true, "items": [ main_1_panel1129, main_2_panel1137, main_3_panel1144, main_4_panel1153, main_5_panel1165 ], "labelAlign": "top", "layout": "vbox", "layoutConfig": { "align": "stretch" } });
    this.items = main_panel1202;
    this.before_row_edit = function(record) {
    }
    Lino.cal.EventTypes.DetailFormPanel.superclass.initComponent.call(this);
  }
});


Lino.uploads.Uploads.DetailFormPanel = Ext.extend(Lino.FormPanel,{
cls: "l-DetailFormPanel uploads-Uploads",
  layout: 'fit',
  auto_save: true,
  actions_hotkeys: [ { "alt": false, "ba": "Lino.row_action_handler('as_pdf_p', 'GET', null)", "ctrl": true, "key": "P", "keycode": 80, "shift": false } ],
  autoHeight: true,
  content_type: 30,
  initComponent : function() {
    var file1203 = Lino.file_field_handler(this,{ "allowBlank": true, "anchor": "-20", "autoHeight": true, "fieldLabel": "<span style=\"border-bottom: 1px dotted #000000;\">File</span>", "listeners": { "render": Lino.quicktip_renderer("File","(uploads.Uploads.file) Pointer to the uploaded file itself (a Django FileField).") }, "maxLength": 100, "name": "file", "selectOnFocus": true });
    var user1204 = new Lino.RemoteComboFieldElement({ "allowBlank": true, "anchor": "-20", "autoHeight": true, "detail_action": "Lino.users.AllUsers.detail", "emptyText": "Select a User...", "fieldLabel": "<span style=\"border-bottom: 1px dotted #000000;\">Uploaded by</span>", "hiddenName": "userHidden", "insert_action": "Lino.users.AllUsers.insert", "listeners": { "render": Lino.quicktip_renderer("Uploaded by","(uploads.Uploads.user) The author of this object.\nA pointer to lino.modlib.users.models.User.") }, "name": "user", "pageSize": 20, "preferred_width": 15, "related_actor_id": "users.AllUsers", "selectOnFocus": true, "store": new Lino.ComplexRemoteComboStore({ "proxy": new Ext.data.HttpProxy({ "method": "GET", "url": "/choices/uploads/Uploads/user" }) }) });
    var main_1_panel1205 = new Ext.Panel({ "anchor": "-20", "autoHeight": true, "autoScroll": false, "border": false, "frame": false, "hideCheckBoxLabels": true, "items": [ { "autoHeight": true, "flex": 51, "items": file1203, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 48, "items": user1204, "labelAlign": "top", "layout": "form", "xtype": "panel" } ], "labelAlign": "top", "labelWidth": 0, "layout": "hbox", "layoutConfig": { "align": "stretchmax" } });
    var volume1208 = new Lino.RemoteComboFieldElement({ "allowBlank": true, "anchor": "-20", "autoHeight": true, "detail_action": "Lino.uploads.Volumes.detail", "emptyText": "Select a Library volume...", "fieldLabel": "<span style=\"border-bottom: 1px dotted #000000;\">Library volume</span>", "hiddenName": "volumeHidden", "insert_action": "Lino.uploads.Volumes.insert", "listeners": { "render": Lino.quicktip_renderer("Library volume","(uploads.Uploads.volume) A pointer to the library volume where this file is stored.") }, "name": "volume", "pageSize": 20, "preferred_width": 5, "related_actor_id": "uploads.Volumes", "selectOnFocus": true, "store": new Lino.ComplexRemoteComboStore({ "proxy": new Ext.data.HttpProxy({ "method": "GET", "url": "/choices/uploads/Uploads/volume" }) }) });
    var library_file1209 = new Lino.SimpleRemoteComboFieldElement({ "allowBlank": true, "anchor": "-20", "autoHeight": true, "can_create_choice": false, "fieldLabel": "<span style=\"border-bottom: 1px dotted #000000;\">Library file</span>", "listeners": { "render": Lino.quicktip_renderer("Library file","(uploads.Uploads.library_file) The path of this file, relative the volume's root.") }, "name": "library_file", "selectOnFocus": true, "store": new Lino.ComplexRemoteComboStore({ "proxy": new Ext.data.HttpProxy({ "method": "GET", "url": "/choices/uploads/Uploads/library_file" }) }) });
    var main_2_panel1210 = new Ext.Panel({ "anchor": "-20", "autoHeight": true, "autoScroll": false, "border": false, "frame": false, "hideCheckBoxLabels": true, "items": [ { "autoHeight": true, "flex": 20, "items": volume1208, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 80, "items": library_file1209, "labelAlign": "top", "layout": "form", "xtype": "panel" } ], "labelAlign": "top", "labelWidth": 0, "layout": "hbox", "layoutConfig": { "align": "stretchmax" } });
    var upload_area1213 = new Lino.ChoicesFieldElement({ "allowBlank": false, "anchor": "-20", "autoHeight": true, "fieldLabel": "<span style=\"border-bottom: 1px dotted #000000;\">Upload area</span>", "forceSelection": true, "hiddenName": "upload_areaHidden", "listeners": { "render": Lino.quicktip_renderer("Upload area","(uploads.Uploads.upload_area) The upload area this file belongs to.") }, "name": "upload_area", "selectOnFocus": true, "store": Lino.uploads.UploadAreas });
    var type1214 = new Lino.RemoteComboFieldElement({ "allowBlank": true, "anchor": "-20", "autoHeight": true, "can_create_choice": false, "detail_action": "Lino.uploads.UploadTypes.detail", "emptyText": "Select a Upload type...", "fieldLabel": "<span style=\"border-bottom: 1px dotted #000000;\">Upload type</span>", "hiddenName": "typeHidden", "insert_action": "Lino.uploads.UploadTypes.insert", "listeners": { "render": Lino.quicktip_renderer("Upload type","(uploads.Uploads.type) The type of this upload.") }, "name": "type", "pageSize": 20, "related_actor_id": "uploads.UploadTypes", "selectOnFocus": true, "store": new Lino.ComplexRemoteComboStore({ "proxy": new Ext.data.HttpProxy({ "method": "GET", "url": "/choices/uploads/Uploads/type" }) }) });
    var description1215 = new Ext.form.TextField({ "allowBlank": true, "anchor": "-20", "autoHeight": true, "fieldLabel": "<span style=\"border-bottom: 1px dotted #000000;\">Description</span>", "listeners": { "render": Lino.quicktip_renderer("Description","(uploads.Uploads.description) A short description entered manually by the user.") }, "maxLength": 200, "name": "description", "selectOnFocus": true });
    var main_3_panel1216 = new Ext.Panel({ "anchor": "-20", "autoHeight": true, "autoScroll": false, "border": false, "frame": false, "hideCheckBoxLabels": true, "items": [ { "autoHeight": true, "flex": 19, "items": upload_area1213, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 39, "items": type1214, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 41, "items": description1215, "labelAlign": "top", "layout": "form", "xtype": "panel" } ], "labelAlign": "top", "labelWidth": 0, "layout": "hbox", "layoutConfig": { "align": "stretchmax" } });
    var owner_disp1220 = new Ext.form.DisplayField({ "anchor": "-20", "autoHeight": true, "disabled": true, "fieldLabel": "Controlled by", "name": "owner" });
    var main_panel1221 = new Ext.Panel({ "autoHeight": true, "autoScroll": false, "bodyBorder": false, "border": false, "frame": true, "hideCheckBoxLabels": true, "items": [ main_1_panel1205, main_2_panel1210, main_3_panel1216, { "anchor": "-20", "autoHeight": true, "items": owner_disp1220, "labelAlign": "top", "layout": "form", "xtype": "panel" } ], "labelAlign": "top", "labelWidth": 0, "layout": "form" });
    this.items = main_panel1221;
    this.before_row_edit = function(record) {
      library_file1209.setContextValue('volume', record ? record.data['volumeHidden'] : undefined);
      type1214.setContextValue('upload_area', record ? record.data['upload_areaHidden'] : undefined);
    }
    this.onRender = function(ct, position) {
      typeof volume1208 !== 'undefined' && volume1208.on('change',Lino.chooser_handler(library_file1209,'volume'));
      typeof upload_area1213 !== 'undefined' && upload_area1213.on('change',Lino.chooser_handler(type1214,'upload_area'));
      Lino.uploads.Uploads.DetailFormPanel.superclass.onRender.call(this, ct, position);
    }
    Lino.uploads.Uploads.DetailFormPanel.superclass.initComponent.call(this);
  }
});


Lino.cal.RecurrentEvents.DetailFormPanel = Ext.extend(Lino.FormPanel,{
cls: "l-DetailFormPanel cal-RecurrentEvents",
  layout: 'fit',
  auto_save: true,
  actions_hotkeys: [ { "alt": false, "ba": "Lino.row_action_handler('as_pdf_p', 'GET', null)", "ctrl": true, "key": "P", "keycode": 80, "shift": false } ],
  content_type: 24,
  initComponent : function() {
    var name1223 = new Ext.form.TextField({ "allowBlank": false, "anchor": "-20", "autoHeight": true, "fieldLabel": "<span style=\"border-bottom: 1px dotted #000000;\">Designation</span>", "listeners": { "render": Lino.quicktip_renderer("Designation","(cal.RecurrentEvents.name) See lino.utils.mldbc.mixins.BabelNamed.name.") }, "maxLength": 200, "name": "name", "selectOnFocus": true });
    var name_de1224 = new Ext.form.TextField({ "allowBlank": true, "anchor": "-20", "autoHeight": true, "fieldLabel": "Designation (de)", "listeners": { "render": Lino.quicktip_renderer("Designation (de)","(cal.RecurrentEvents.name_de) ") }, "maxLength": 200, "name": "name_de", "selectOnFocus": true });
    var name_fr1225 = new Ext.form.TextField({ "allowBlank": true, "anchor": "-20", "autoHeight": true, "fieldLabel": "Designation (fr)", "listeners": { "render": Lino.quicktip_renderer("Designation (fr)","(cal.RecurrentEvents.name_fr) ") }, "maxLength": 200, "name": "name_fr", "selectOnFocus": true });
    var main_1_panel1226 = new Ext.Panel({ "autoHeight": true, "autoScroll": false, "border": false, "frame": false, "hideCheckBoxLabels": true, "items": [ { "autoHeight": true, "flex": 33, "items": name1223, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 33, "items": name_de1224, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 33, "items": name_fr1225, "labelAlign": "top", "layout": "form", "xtype": "panel" } ], "labelAlign": "top", "labelWidth": 0, "layout": "hbox", "layoutConfig": { "align": "stretchmax" } });
    var id1230 = new Ext.form.NumberField({ "allowBlank": true, "anchor": "-20", "autoHeight": true, "fieldLabel": "ID", "listeners": { "render": Lino.quicktip_renderer("ID","(cal.RecurrentEvents.id) ") }, "name": "id", "selectOnFocus": true });
    var user1231 = new Lino.RemoteComboFieldElement({ "allowBlank": true, "anchor": "-20", "autoHeight": true, "detail_action": "Lino.users.AllUsers.detail", "emptyText": "Select a User...", "fieldLabel": "<span style=\"border-bottom: 1px dotted #000000;\">Author</span>", "hiddenName": "userHidden", "insert_action": "Lino.users.AllUsers.insert", "listeners": { "render": Lino.quicktip_renderer("Author","(cal.RecurrentEvents.user) The author of this object.\nA pointer to lino.modlib.users.models.User.") }, "name": "user", "pageSize": 20, "preferred_width": 15, "related_actor_id": "users.AllUsers", "selectOnFocus": true, "store": new Lino.ComplexRemoteComboStore({ "proxy": new Ext.data.HttpProxy({ "method": "GET", "url": "/choices/cal/RecurrentEvents/user" }) }) });
    var event_type1232 = new Lino.RemoteComboFieldElement({ "allowBlank": true, "anchor": "-20", "autoHeight": true, "detail_action": "Lino.cal.EventTypes.detail", "emptyText": "Select a Calendar entry type...", "fieldLabel": "Calendar entry type", "hiddenName": "event_typeHidden", "insert_action": "Lino.cal.EventTypes.insert", "listeners": { "render": Lino.quicktip_renderer("Calendar entry type","(cal.RecurrentEvents.event_type) ") }, "name": "event_type", "pageSize": 20, "related_actor_id": "cal.EventTypes", "selectOnFocus": true, "store": new Lino.ComplexRemoteComboStore({ "proxy": new Ext.data.HttpProxy({ "method": "GET", "url": "/choices/cal/RecurrentEvents/event_type" }) }) });
    var main_2_panel1233 = new Ext.Panel({ "autoHeight": true, "autoScroll": false, "border": false, "frame": false, "hideCheckBoxLabels": true, "items": [ { "autoHeight": true, "flex": 11, "items": id1230, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 44, "items": user1231, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 44, "items": event_type1232, "labelAlign": "top", "layout": "form", "xtype": "panel" } ], "labelAlign": "top", "labelWidth": 0, "layout": "hbox", "layoutConfig": { "align": "stretchmax" } });
    var start_date1237 = new Lino.DateField({ "allowBlank": true, "anchor": "-20", "autoHeight": true, "fieldLabel": "<span style=\"border-bottom: 1px dotted #000000;\">Start date</span>", "listeners": { "render": Lino.quicktip_renderer("Start date","(cal.RecurrentEvents.start_date) The start date of the first meeting to be generated.") }, "name": "start_date", "selectOnFocus": true });
    var start_time1238 = new Lino.TimeField({ "allowBlank": true, "anchor": "-20", "autoHeight": true, "fieldLabel": "Start time", "listeners": { "render": Lino.quicktip_renderer("Start time","(cal.RecurrentEvents.start_time) ") }, "maxValue": "9:00 PM", "minValue": "7:00", "name": "start_time", "selectOnFocus": true });
    var end_date1239 = new Lino.DateField({ "allowBlank": true, "anchor": "-20", "autoHeight": true, "fieldLabel": "<span style=\"border-bottom: 1px dotted #000000;\">End Date</span>", "listeners": { "render": Lino.quicktip_renderer("End Date","(cal.RecurrentEvents.end_date) The end date of the first meeting to be generated.  Leave\nthis field empty if the meetings last less than one day.") }, "name": "end_date", "selectOnFocus": true });
    var end_time1240 = new Lino.TimeField({ "allowBlank": true, "anchor": "-20", "autoHeight": true, "fieldLabel": "End Time", "listeners": { "render": Lino.quicktip_renderer("End Time","(cal.RecurrentEvents.end_time) ") }, "maxValue": "9:00 PM", "minValue": "7:00", "name": "end_time", "selectOnFocus": true });
    var main_3_panel1241 = new Ext.Panel({ "autoHeight": true, "autoScroll": false, "border": false, "frame": false, "hideCheckBoxLabels": true, "items": [ { "autoHeight": true, "flex": 30, "items": start_date1237, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 19, "items": start_time1238, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 30, "items": end_date1239, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 19, "items": end_time1240, "labelAlign": "top", "layout": "form", "xtype": "panel" } ], "labelAlign": "top", "labelWidth": 0, "layout": "hbox", "layoutConfig": { "align": "stretchmax" } });
    var every_unit1246 = new Lino.ChoicesFieldElement({ "allowBlank": false, "anchor": "-20", "autoHeight": true, "fieldLabel": "<span style=\"border-bottom: 1px dotted #000000;\">Recurrency</span>", "forceSelection": true, "hiddenName": "every_unitHidden", "listeners": { "render": Lino.quicktip_renderer("Recurrency","(cal.RecurrentEvents.every_unit) Inherited from RecurrentSet.every_unit.") }, "name": "every_unit", "selectOnFocus": true, "store": Lino.cal.Recurrencies, "value": "yearly" });
    var every1247 = new Ext.form.NumberField({ "allowBlank": false, "anchor": "-20", "autoHeight": true, "fieldLabel": "<span style=\"border-bottom: 1px dotted #000000;\">Repeat every</span>", "listeners": { "render": Lino.quicktip_renderer("Repeat every","(cal.RecurrentEvents.every) The frequency of periodic iteration: daily, weekly, monthly or yearly.") }, "name": "every", "selectOnFocus": true, "value": 1 });
    var positions1248 = new Ext.form.TextField({ "allowBlank": true, "anchor": "-20", "autoHeight": true, "fieldLabel": "<span style=\"border-bottom: 1px dotted #000000;\">Positions</span>", "listeners": { "render": Lino.quicktip_renderer("Positions","(cal.RecurrentEvents.positions) Space-separated list of one or several positions within the recurrency\ncycle.") }, "maxLength": 50, "name": "positions", "selectOnFocus": true });
    var max_events1249 = new Ext.form.NumberField({ "allowBlank": true, "anchor": "-20", "autoHeight": true, "fieldLabel": "<span style=\"border-bottom: 1px dotted #000000;\">Number of events</span>", "listeners": { "render": Lino.quicktip_renderer("Number of events","(cal.RecurrentEvents.max_events) Maximum number of calendar entries to generate.") }, "name": "max_events", "selectOnFocus": true });
    var main_4_panel1250 = new Ext.Panel({ "autoHeight": true, "autoScroll": false, "border": false, "frame": false, "hideCheckBoxLabels": true, "items": [ { "autoHeight": true, "flex": 40, "items": every_unit1246, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 9, "items": every1247, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 40, "items": positions1248, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 9, "items": max_events1249, "labelAlign": "top", "layout": "form", "xtype": "panel" } ], "labelAlign": "top", "labelWidth": 0, "layout": "hbox", "layoutConfig": { "align": "stretchmax" } });
    var monday1255 = new Ext.form.Checkbox({ "allowBlank": false, "anchor": "-20", "autoHeight": true, "boxLabel": "Monday", "checked": false, "hideLabel": true, "listeners": { "render": Lino.quicktip_renderer("Monday","(cal.RecurrentEvents.monday) ") }, "name": "monday", "selectOnFocus": true });
    var tuesday1256 = new Ext.form.Checkbox({ "allowBlank": false, "anchor": "-20", "autoHeight": true, "boxLabel": "Tuesday", "checked": false, "hideLabel": true, "listeners": { "render": Lino.quicktip_renderer("Tuesday","(cal.RecurrentEvents.tuesday) ") }, "name": "tuesday", "selectOnFocus": true });
    var wednesday1257 = new Ext.form.Checkbox({ "allowBlank": false, "anchor": "-20", "autoHeight": true, "boxLabel": "Wednesday", "checked": false, "hideLabel": true, "listeners": { "render": Lino.quicktip_renderer("Wednesday","(cal.RecurrentEvents.wednesday) ") }, "name": "wednesday", "selectOnFocus": true });
    var thursday1258 = new Ext.form.Checkbox({ "allowBlank": false, "anchor": "-20", "autoHeight": true, "boxLabel": "Thursday", "checked": false, "hideLabel": true, "listeners": { "render": Lino.quicktip_renderer("Thursday","(cal.RecurrentEvents.thursday) ") }, "name": "thursday", "selectOnFocus": true });
    var friday1259 = new Ext.form.Checkbox({ "allowBlank": false, "anchor": "-20", "autoHeight": true, "boxLabel": "Friday", "checked": false, "hideLabel": true, "listeners": { "render": Lino.quicktip_renderer("Friday","(cal.RecurrentEvents.friday) ") }, "name": "friday", "selectOnFocus": true });
    var saturday1260 = new Ext.form.Checkbox({ "allowBlank": false, "anchor": "-20", "autoHeight": true, "boxLabel": "Saturday", "checked": false, "hideLabel": true, "listeners": { "render": Lino.quicktip_renderer("Saturday","(cal.RecurrentEvents.saturday) ") }, "name": "saturday", "selectOnFocus": true });
    var sunday1261 = new Ext.form.Checkbox({ "allowBlank": false, "anchor": "-20", "autoHeight": true, "boxLabel": "Sunday", "checked": false, "hideLabel": true, "listeners": { "render": Lino.quicktip_renderer("Sunday","(cal.RecurrentEvents.sunday) ") }, "name": "sunday", "selectOnFocus": true });
    var main_5_panel1262 = new Ext.Panel({ "autoHeight": true, "autoScroll": false, "border": false, "frame": false, "hideCheckBoxLabels": true, "items": [ { "autoHeight": true, "flex": 14, "items": monday1255, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 14, "items": tuesday1256, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 14, "items": wednesday1257, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 14, "items": thursday1258, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 14, "items": friday1259, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 14, "items": saturday1260, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 14, "items": sunday1261, "labelAlign": "top", "layout": "form", "xtype": "panel" } ], "labelAlign": "top", "labelWidth": 0, "layout": "hbox", "layoutConfig": { "align": "stretchmax" } });
    var description1270 = new Lino.RichTextPanel({ "allowBlank": true, "containing_panel": this, "fieldLabel": "Description", "flex": 66, "name": "description", "region": "center", "selectOnFocus": true, "title": "Description" });
    var main_6_panel1272 = new Ext.Panel({ "autoScroll": false, "border": false, "flex": 50, "frame": false, "hideCheckBoxLabels": true, "items": [ description1270 ], "labelAlign": "top", "labelWidth": 153, "layout": "hbox", "layoutConfig": { "align": "stretch" } });
    var main_panel1273 = new Ext.Panel({ "autoScroll": false, "bodyBorder": false, "border": false, "frame": true, "hideCheckBoxLabels": true, "items": [ main_1_panel1226, main_2_panel1233, main_3_panel1241, main_4_panel1250, main_5_panel1262, main_6_panel1272 ], "labelAlign": "top", "layout": "vbox", "layoutConfig": { "align": "stretch" } });
    this.items = main_panel1273;
    this.before_row_edit = function(record) {
      description1270.refresh();
    }
    Lino.cal.RecurrentEvents.DetailFormPanel.superclass.initComponent.call(this);
  }
});


Lino.cal.RecurrentEvents.InsertFormPanel = Ext.extend(Lino.FormPanel,{
cls: "l-InsertFormPanel cal-RecurrentEvents",
  layout: 'fit',
  auto_save: true,
  actions_hotkeys: [ { "alt": false, "ba": "Lino.row_action_handler('as_pdf_p', 'GET', null)", "ctrl": true, "key": "P", "keycode": 80, "shift": false } ],
  autoHeight: true,
  content_type: 24,
  initComponent : function() {
    var name1274 = new Ext.form.TextField({ "allowBlank": false, "anchor": "-20", "autoHeight": true, "fieldLabel": "<span style=\"border-bottom: 1px dotted #000000;\">Designation</span>", "listeners": { "render": Lino.quicktip_renderer("Designation","(cal.RecurrentEvents.name) See lino.utils.mldbc.mixins.BabelNamed.name.") }, "maxLength": 200, "name": "name", "selectOnFocus": true });
    var name_de1275 = new Ext.form.TextField({ "allowBlank": true, "anchor": "-20", "autoHeight": true, "fieldLabel": "Designation (de)", "listeners": { "render": Lino.quicktip_renderer("Designation (de)","(cal.RecurrentEvents.name_de) ") }, "maxLength": 200, "name": "name_de", "selectOnFocus": true });
    var name_fr1276 = new Ext.form.TextField({ "allowBlank": true, "anchor": "-20", "autoHeight": true, "fieldLabel": "Designation (fr)", "listeners": { "render": Lino.quicktip_renderer("Designation (fr)","(cal.RecurrentEvents.name_fr) ") }, "maxLength": 200, "name": "name_fr", "selectOnFocus": true });
    var main_1_panel1277 = new Ext.Panel({ "anchor": "-20", "autoHeight": true, "autoScroll": false, "border": false, "frame": false, "hideCheckBoxLabels": true, "items": [ { "autoHeight": true, "flex": 33, "items": name1274, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 33, "items": name_de1275, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 33, "items": name_fr1276, "labelAlign": "top", "layout": "form", "xtype": "panel" } ], "labelAlign": "top", "labelWidth": 0, "layout": "hbox", "layoutConfig": { "align": "stretchmax" } });
    var start_date1281 = new Lino.DateField({ "allowBlank": true, "anchor": "-20", "autoHeight": true, "fieldLabel": "<span style=\"border-bottom: 1px dotted #000000;\">Start date</span>", "listeners": { "render": Lino.quicktip_renderer("Start date","(cal.RecurrentEvents.start_date) The start date of the first meeting to be generated.") }, "name": "start_date", "selectOnFocus": true });
    var end_date1282 = new Lino.DateField({ "allowBlank": true, "anchor": "-20", "autoHeight": true, "fieldLabel": "<span style=\"border-bottom: 1px dotted #000000;\">End Date</span>", "listeners": { "render": Lino.quicktip_renderer("End Date","(cal.RecurrentEvents.end_date) The end date of the first meeting to be generated.  Leave\nthis field empty if the meetings last less than one day.") }, "name": "end_date", "selectOnFocus": true });
    var every_unit1283 = new Lino.ChoicesFieldElement({ "allowBlank": false, "anchor": "-20", "autoHeight": true, "fieldLabel": "<span style=\"border-bottom: 1px dotted #000000;\">Recurrency</span>", "forceSelection": true, "hiddenName": "every_unitHidden", "listeners": { "render": Lino.quicktip_renderer("Recurrency","(cal.RecurrentEvents.every_unit) Inherited from RecurrentSet.every_unit.") }, "name": "every_unit", "selectOnFocus": true, "store": Lino.cal.Recurrencies, "value": "yearly" });
    var event_type1284 = new Lino.RemoteComboFieldElement({ "allowBlank": true, "anchor": "-20", "autoHeight": true, "detail_action": "Lino.cal.EventTypes.detail", "emptyText": "Select a Calendar entry type...", "fieldLabel": "Calendar entry type", "hiddenName": "event_typeHidden", "insert_action": "Lino.cal.EventTypes.insert", "listeners": { "render": Lino.quicktip_renderer("Calendar entry type","(cal.RecurrentEvents.event_type) ") }, "name": "event_type", "pageSize": 20, "related_actor_id": "cal.EventTypes", "selectOnFocus": true, "store": new Lino.ComplexRemoteComboStore({ "proxy": new Ext.data.HttpProxy({ "method": "GET", "url": "/choices/cal/RecurrentEvents/event_type" }) }) });
    var main_2_panel1285 = new Ext.Panel({ "anchor": "-20", "autoHeight": true, "autoScroll": false, "border": false, "frame": false, "hideCheckBoxLabels": true, "items": [ { "autoHeight": true, "flex": 19, "items": start_date1281, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 19, "items": end_date1282, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 31, "items": every_unit1283, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 29, "items": event_type1284, "labelAlign": "top", "layout": "form", "xtype": "panel" } ], "labelAlign": "top", "labelWidth": 0, "layout": "hbox", "layoutConfig": { "align": "stretchmax" } });
    var main_panel1290 = new Ext.Panel({ "autoHeight": true, "autoScroll": false, "bodyBorder": false, "border": false, "frame": true, "hideCheckBoxLabels": true, "items": [ main_1_panel1277, main_2_panel1285 ], "labelAlign": "top", "layout": "form" });
    this.items = main_panel1290;
    this.before_row_edit = function(record) {
    }
    Lino.cal.RecurrentEvents.InsertFormPanel.superclass.initComponent.call(this);
  }
});


Lino.courses.Enrolments.DetailFormPanel = Ext.extend(Lino.FormPanel,{
cls: "l-DetailFormPanel courses-Enrolments",
  layout: 'fit',
  auto_save: true,
  actions_hotkeys: [ { "alt": false, "ba": "Lino.row_action_handler('as_pdf_p', 'GET', null)", "ctrl": true, "key": "P", "keycode": 80, "shift": false }, { "alt": false, "ba": "Lino.row_action_handler('do_print', 'GET', null)", "ctrl": true, "key": "P", "keycode": 80, "shift": false } ],
  content_type: 52,
  initComponent : function() {
    var request_date1291 = new Lino.DateField({ "allowBlank": false, "anchor": "-20", "autoHeight": true, "fieldLabel": "Date of request", "listeners": { "render": Lino.quicktip_renderer("Date of request","(courses.Enrolments.request_date) ") }, "name": "request_date", "selectOnFocus": true });
    var user1292 = new Lino.RemoteComboFieldElement({ "allowBlank": true, "anchor": "-20", "autoHeight": true, "detail_action": "Lino.users.AllUsers.detail", "emptyText": "Select a User...", "fieldLabel": "<span style=\"border-bottom: 1px dotted #000000;\">Author</span>", "hiddenName": "userHidden", "insert_action": "Lino.users.AllUsers.insert", "listeners": { "render": Lino.quicktip_renderer("Author","(courses.Enrolments.user) The author of this object.\nA pointer to lino.modlib.users.models.User.") }, "name": "user", "pageSize": 20, "preferred_width": 15, "related_actor_id": "users.AllUsers", "selectOnFocus": true, "store": new Lino.ComplexRemoteComboStore({ "proxy": new Ext.data.HttpProxy({ "method": "GET", "url": "/choices/courses/Enrolments/user" }) }) });
    var start_date1293 = new Lino.DateField({ "allowBlank": true, "anchor": "-20", "autoHeight": true, "fieldLabel": "Start date", "listeners": { "render": Lino.quicktip_renderer("Start date","(courses.Enrolments.start_date) ") }, "name": "start_date", "selectOnFocus": true });
    var end_date1294 = new Lino.DateField({ "allowBlank": true, "anchor": "-20", "autoHeight": true, "fieldLabel": "End date", "listeners": { "render": Lino.quicktip_renderer("End date","(courses.Enrolments.end_date) ") }, "name": "end_date", "selectOnFocus": true });
    var main_1_panel1295 = new Ext.Panel({ "autoHeight": true, "autoScroll": false, "border": false, "frame": false, "hideCheckBoxLabels": true, "items": [ { "autoHeight": true, "flex": 24, "items": request_date1291, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 37, "items": user1292, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 18, "items": start_date1293, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 18, "items": end_date1294, "labelAlign": "top", "layout": "form", "xtype": "panel" } ], "labelAlign": "top", "labelWidth": 0, "layout": "hbox", "layoutConfig": { "align": "stretchmax" } });
    var course1300 = new Lino.RemoteComboFieldElement({ "allowBlank": true, "anchor": "-20", "autoHeight": true, "can_create_choice": false, "detail_action": "Lino.courses.Activities.detail", "emptyText": "Select a Activity...", "fieldLabel": "Activity", "hiddenName": "courseHidden", "insert_action": "Lino.courses.Activities.insert", "listeners": { "render": Lino.quicktip_renderer("Activity","(courses.Enrolments.course) ") }, "name": "course", "pageSize": 20, "related_actor_id": "courses.Activities", "selectOnFocus": true, "store": new Lino.ComplexRemoteComboStore({ "proxy": new Ext.data.HttpProxy({ "method": "GET", "url": "/choices/courses/Enrolments/course" }) }) });
    var pupil1301 = new Lino.RemoteComboFieldElement({ "allowBlank": false, "anchor": "-20", "autoHeight": true, "can_create_choice": true, "detail_action": "Lino.contacts.Persons.detail", "emptyText": "Select a Person...", "fieldLabel": "Participant", "forceSelection": false, "hiddenName": "pupilHidden", "insert_action": "Lino.contacts.Persons.insert", "listeners": { "render": Lino.quicktip_renderer("Participant","(courses.Enrolments.pupil) ") }, "name": "pupil", "pageSize": 20, "preferred_width": 20, "related_actor_id": "contacts.Persons", "selectOnFocus": true, "store": new Lino.ComplexRemoteComboStore({ "proxy": new Ext.data.HttpProxy({ "method": "GET", "url": "/choices/courses/Enrolments/pupil" }) }) });
    var main_2_panel1302 = new Ext.Panel({ "autoHeight": true, "autoScroll": false, "border": false, "frame": false, "hideCheckBoxLabels": true, "items": [ { "autoHeight": true, "flex": 50, "items": course1300, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 50, "items": pupil1301, "labelAlign": "top", "layout": "form", "xtype": "panel" } ], "labelAlign": "top", "labelWidth": 0, "layout": "hbox", "layoutConfig": { "align": "stretchmax" } });
    var remark1305 = new Ext.form.TextField({ "allowBlank": true, "anchor": "-20", "autoHeight": true, "fieldLabel": "Remark", "listeners": { "render": Lino.quicktip_renderer("Remark","(courses.Enrolments.remark) ") }, "maxLength": 200, "name": "remark", "selectOnFocus": true });
    var workflow_buttons_disp1306 = new Ext.form.DisplayField({ "always_enabled": true, "anchor": "-20", "autoHeight": true, "disabled": true, "fieldLabel": "<span style=\"border-bottom: 1px dotted #000000;\">Workflow</span>", "listeners": { "render": Lino.quicktip_renderer("Workflow","(courses.Enrolments.workflow_buttons) List of actions that change the workflow state of this object.") }, "name": "workflow_buttons", "value": "<br/>" });
    var main_3_panel1307 = new Ext.Panel({ "autoHeight": true, "autoScroll": false, "border": false, "frame": false, "hideCheckBoxLabels": true, "items": [ { "autoHeight": true, "flex": 41, "items": remark1305, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 58, "items": workflow_buttons_disp1306, "labelAlign": "top", "layout": "form", "xtype": "panel" } ], "labelAlign": "top", "labelWidth": 0, "layout": "hbox", "layoutConfig": { "align": "stretchmax" } });
    var confirmation_details1310 = new Lino.RichTextPanel({ "allowBlank": true, "containing_panel": this, "fieldLabel": "Confirmation details", "flex": 50, "name": "confirmation_details", "selectOnFocus": true, "title": "Confirmation details" });
    var main_panel1311 = new Ext.Panel({ "autoScroll": false, "bodyBorder": false, "border": false, "frame": true, "hideCheckBoxLabels": true, "items": [ main_1_panel1295, main_2_panel1302, main_3_panel1307, confirmation_details1310 ], "labelAlign": "top", "labelWidth": 189, "layout": "vbox", "layoutConfig": { "align": "stretch" } });
    this.items = main_panel1311;
    this.before_row_edit = function(record) {
      course1300.setContextValue('course_area', record ? record.data['course_areaHidden'] : undefined);
      course1300.setContextValue('request_date', record ? record.data['request_date'] : undefined);
      pupil1301.setContextValue('course', record ? record.data['courseHidden'] : undefined);
      confirmation_details1310.refresh();
    }
    this.onRender = function(ct, position) {
      typeof request_date1291 !== 'undefined' && request_date1291.on('change',Lino.chooser_handler(course1300,'request_date'));
      typeof course1300 !== 'undefined' && course1300.on('change',Lino.chooser_handler(pupil1301,'course'));
      Lino.courses.Enrolments.DetailFormPanel.superclass.onRender.call(this, ct, position);
    }
    Lino.courses.Enrolments.DetailFormPanel.superclass.initComponent.call(this);
  }
});


Lino.cal.Calendars.InsertFormPanel = Ext.extend(Lino.FormPanel,{
cls: "l-InsertFormPanel cal-Calendars",
  layout: 'fit',
  auto_save: true,
  actions_hotkeys: [ { "alt": false, "ba": "Lino.row_action_handler('as_pdf_p', 'GET', null)", "ctrl": true, "key": "P", "keycode": 80, "shift": false } ],
  autoHeight: true,
  content_type: 20,
  initComponent : function() {
    var name1312 = new Ext.form.TextField({ "allowBlank": false, "anchor": "-20", "autoHeight": true, "fieldLabel": "Designation", "listeners": { "render": Lino.quicktip_renderer("Designation","(cal.Calendars.name) ") }, "maxLength": 200, "name": "name", "selectOnFocus": true });
    var name_de1313 = new Ext.form.TextField({ "allowBlank": true, "anchor": "-20", "autoHeight": true, "fieldLabel": "Designation (de)", "listeners": { "render": Lino.quicktip_renderer("Designation (de)","(cal.Calendars.name_de) ") }, "maxLength": 200, "name": "name_de", "selectOnFocus": true });
    var name_fr1314 = new Ext.form.TextField({ "allowBlank": true, "anchor": "-20", "autoHeight": true, "fieldLabel": "Designation (fr)", "listeners": { "render": Lino.quicktip_renderer("Designation (fr)","(cal.Calendars.name_fr) ") }, "maxLength": 200, "name": "name_fr", "selectOnFocus": true });
    var main_1_panel1315 = new Ext.Panel({ "anchor": "-20", "autoHeight": true, "autoScroll": false, "border": false, "frame": false, "hideCheckBoxLabels": true, "items": [ { "autoHeight": true, "flex": 33, "items": name1312, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 33, "items": name_de1313, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 33, "items": name_fr1314, "labelAlign": "top", "layout": "form", "xtype": "panel" } ], "labelAlign": "top", "labelWidth": 0, "layout": "hbox", "layoutConfig": { "align": "stretchmax" } });
    var color1319 = new Ext.form.NumberField({ "allowBlank": false, "anchor": "-20", "autoHeight": true, "fieldLabel": "<span style=\"border-bottom: 1px dotted #000000;\">color</span>", "listeners": { "render": Lino.quicktip_renderer("color","(cal.Calendars.color) The color to use for entries of this calendar (in\nlino_xl.lib.extensible).") }, "name": "color", "selectOnFocus": true });
    var main_panel1320 = new Ext.Panel({ "autoHeight": true, "autoScroll": false, "bodyBorder": false, "border": false, "frame": true, "hideCheckBoxLabels": true, "items": [ main_1_panel1315, { "anchor": "-20", "autoHeight": true, "items": color1319, "labelAlign": "top", "layout": "form", "xtype": "panel" } ], "labelAlign": "top", "labelWidth": 0, "layout": "form" });
    this.items = main_panel1320;
    this.before_row_edit = function(record) {
    }
    Lino.cal.Calendars.InsertFormPanel.superclass.initComponent.call(this);
  }
});


Lino.comments.CommentsByRFC.InsertFormPanel = Ext.extend(Lino.FormPanel,{
cls: "l-InsertFormPanel comments-CommentsByRFC",
  layout: 'fit',
  auto_save: true,
  actions_hotkeys: [ { "alt": false, "ba": "Lino.row_action_handler('as_pdf_p', 'GET', null)", "ctrl": true, "key": "P", "keycode": 80, "shift": false } ],
  content_type: 64,
  initComponent : function() {
    var reply_to1322 = new Lino.RemoteComboFieldElement({ "allowBlank": true, "detail_action": "Lino.comments.Comments.detail", "emptyText": "Select a Comment...", "fieldLabel": "Reply to", "hidden": true, "hiddenName": "reply_toHidden", "insert_action": "Lino.comments.Comments.insert", "listeners": { "render": Lino.quicktip_renderer("Reply to","(comments.CommentsByRFC.reply_to) ") }, "name": "reply_to", "pageSize": 20, "related_actor_id": "comments.Comments", "selectOnFocus": true, "store": new Lino.ComplexRemoteComboStore({ "proxy": new Ext.data.HttpProxy({ "method": "GET", "url": "/choices/comments/CommentsByRFC/reply_to" }) }) });
    var body1323 = new Lino.RichTextPanel({ "allowBlank": true, "containing_panel": this, "fieldLabel": "<span style=\"border-bottom: 1px dotted #000000;\">Body</span>", "flex": 71, "name": "body", "selectOnFocus": true, "title": "Body" });
    var private1324 = new Ext.form.Checkbox({ "allowBlank": false, "anchor": "-20", "autoHeight": true, "boxLabel": "Private", "checked": true, "hideLabel": true, "listeners": { "render": Lino.quicktip_renderer("Private","(comments.CommentsByRFC.private) ") }, "name": "private", "selectOnFocus": true });
    var main_panel1325 = new Ext.Panel({ "autoScroll": false, "bodyBorder": false, "border": false, "frame": true, "hideCheckBoxLabels": true, "items": [ reply_to1322, body1323, { "autoHeight": true, "items": private1324, "labelAlign": "top", "layout": "form", "xtype": "panel" } ], "labelAlign": "top", "labelWidth": 81, "layout": "vbox", "layoutConfig": { "align": "stretch" } });
    this.items = main_panel1325;
    this.before_row_edit = function(record) {
      body1323.refresh();
    }
    Lino.comments.CommentsByRFC.InsertFormPanel.superclass.initComponent.call(this);
  }
});


Lino.excerpts.ExcerptTypes.DetailFormPanel = Ext.extend(Lino.FormPanel,{
cls: "l-DetailFormPanel excerpts-ExcerptTypes",
  layout: 'fit',
  auto_save: true,
  actions_hotkeys: [ { "alt": false, "ba": "Lino.row_action_handler('as_pdf_p', 'GET', null)", "ctrl": true, "key": "P", "keycode": 80, "shift": false } ],
  content_type: 60,
  initComponent : function() {
    var id1327 = new Ext.form.NumberField({ "allowBlank": true, "anchor": "-20", "autoHeight": true, "fieldLabel": "ID", "listeners": { "render": Lino.quicktip_renderer("ID","(excerpts.ExcerptTypes.id) ") }, "name": "id", "selectOnFocus": true });
    var name1328 = new Ext.form.TextField({ "allowBlank": false, "anchor": "-20", "autoHeight": true, "fieldLabel": "<span style=\"border-bottom: 1px dotted #000000;\">Designation</span>", "listeners": { "render": Lino.quicktip_renderer("Designation","(excerpts.ExcerptTypes.name) The designation of this excerpt type.\nOne field for every language.") }, "maxLength": 200, "name": "name", "selectOnFocus": true });
    var name_de1329 = new Ext.form.TextField({ "allowBlank": true, "anchor": "-20", "autoHeight": true, "fieldLabel": "Designation (de)", "listeners": { "render": Lino.quicktip_renderer("Designation (de)","(excerpts.ExcerptTypes.name_de) ") }, "maxLength": 200, "name": "name_de", "selectOnFocus": true });
    var name_fr1330 = new Ext.form.TextField({ "allowBlank": true, "anchor": "-20", "autoHeight": true, "fieldLabel": "Designation (fr)", "listeners": { "render": Lino.quicktip_renderer("Designation (fr)","(excerpts.ExcerptTypes.name_fr) ") }, "maxLength": 200, "name": "name_fr", "selectOnFocus": true });
    var main_1_panel1331 = new Ext.Panel({ "autoHeight": true, "autoScroll": false, "border": false, "frame": false, "hideCheckBoxLabels": true, "items": [ { "autoHeight": true, "flex": 7, "items": id1327, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 30, "items": name1328, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 30, "items": name_de1329, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 30, "items": name_fr1330, "labelAlign": "top", "layout": "form", "xtype": "panel" } ], "labelAlign": "top", "labelWidth": 0, "layout": "hbox", "layoutConfig": { "align": "stretchmax" } });
    var content_type1336 = new Lino.RemoteComboFieldElement({ "allowBlank": false, "anchor": "-20", "autoHeight": true, "detail_action": "Lino.gfks.ContentTypes.detail", "emptyText": "Select a content type...", "fieldLabel": "<span style=\"border-bottom: 1px dotted #000000;\">Model</span>", "hiddenName": "content_typeHidden", "listeners": { "render": Lino.quicktip_renderer("Model","(excerpts.ExcerptTypes.content_type) The database model for which this excerpt type is to be used.") }, "name": "content_type", "pageSize": 20, "related_actor_id": "gfks.ContentTypes", "selectOnFocus": true, "store": new Lino.ComplexRemoteComboStore({ "proxy": new Ext.data.HttpProxy({ "method": "GET", "url": "/choices/excerpts/ExcerptTypes/content_type" }) }) });
    var build_method1337 = new Lino.ChoicesFieldElement({ "allowBlank": true, "anchor": "-20", "autoHeight": true, "fieldLabel": "<span style=\"border-bottom: 1px dotted #000000;\">Print method</span>", "forceSelection": true, "hiddenName": "build_methodHidden", "listeners": { "render": Lino.quicktip_renderer("Print method","(excerpts.ExcerptTypes.build_method) See lino.modlib.printing.mixins.PrintableType.build_method.") }, "name": "build_method", "selectOnFocus": true, "store": [['','<br>']].concat(Lino.printing.BuildMethods) });
    var template1338 = new Lino.SimpleRemoteComboFieldElement({ "allowBlank": true, "anchor": "-20", "autoHeight": true, "can_create_choice": false, "fieldLabel": "<span style=\"border-bottom: 1px dotted #000000;\">Template</span>", "listeners": { "render": Lino.quicktip_renderer("Template","(excerpts.ExcerptTypes.template) The main template to be used when printing an excerpt of this type.") }, "name": "template", "selectOnFocus": true, "store": new Lino.ComplexRemoteComboStore({ "proxy": new Ext.data.HttpProxy({ "method": "GET", "url": "/choices/excerpts/ExcerptTypes/template" }) }) });
    var body_template1339 = new Lino.SimpleRemoteComboFieldElement({ "allowBlank": true, "anchor": "-20", "autoHeight": true, "can_create_choice": false, "fieldLabel": "<span style=\"border-bottom: 1px dotted #000000;\">Body template</span>", "listeners": { "render": Lino.quicktip_renderer("Body template","(excerpts.ExcerptTypes.body_template) The body template to use when printing an excerpt of this type.") }, "name": "body_template", "selectOnFocus": true, "store": new Lino.ComplexRemoteComboStore({ "proxy": new Ext.data.HttpProxy({ "method": "GET", "url": "/choices/excerpts/ExcerptTypes/body_template" }) }) });
    var email_template1340 = new Lino.SimpleRemoteComboFieldElement({ "allowBlank": true, "anchor": "-20", "autoHeight": true, "can_create_choice": false, "fieldLabel": "<span style=\"border-bottom: 1px dotted #000000;\">Email template</span>", "listeners": { "render": Lino.quicktip_renderer("Email template","(excerpts.ExcerptTypes.email_template) The template to use when sending this an excerpt of this type\nby email.") }, "name": "email_template", "selectOnFocus": true, "store": new Lino.ComplexRemoteComboStore({ "proxy": new Ext.data.HttpProxy({ "method": "GET", "url": "/choices/excerpts/ExcerptTypes/email_template" }) }) });
    var shortcut1341 = new Ext.form.TextField({ "allowBlank": true, "anchor": "-20", "autoHeight": true, "fieldLabel": "<span style=\"border-bottom: 1px dotted #000000;\">Excerpt shortcut</span>", "listeners": { "render": Lino.quicktip_renderer("Excerpt shortcut","(excerpts.ExcerptTypes.shortcut) Optional pointer to a shortcut field.  If this is not empty, then\nthe given shortcut field will manage excerpts of this type.") }, "maxLength": 50, "name": "shortcut", "selectOnFocus": true });
    var main_2_panel1342 = new Ext.Panel({ "autoHeight": true, "autoScroll": false, "border": false, "frame": false, "hideCheckBoxLabels": true, "items": [ { "autoHeight": true, "flex": 15, "items": content_type1336, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 15, "items": build_method1337, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 15, "items": template1338, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 15, "items": body_template1339, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 15, "items": email_template1340, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 21, "items": shortcut1341, "labelAlign": "top", "layout": "form", "xtype": "panel" } ], "labelAlign": "top", "labelWidth": 0, "layout": "hbox", "layoutConfig": { "align": "stretchmax" } });
    var primary1349 = new Ext.form.Checkbox({ "allowBlank": false, "anchor": "-20", "autoHeight": true, "boxLabel": "Primary", "checked": false, "hideLabel": true, "listeners": { "render": Lino.quicktip_renderer("Primary","(excerpts.ExcerptTypes.primary) Whether this is the default type to use for this model. There's at most one primary type per model. Enabling this field will automatically make the other types non-primary.") }, "name": "primary", "selectOnFocus": true });
    var print_directly1350 = new Ext.form.Checkbox({ "allowBlank": false, "anchor": "-20", "autoHeight": true, "boxLabel": "Print directly", "checked": true, "hideLabel": true, "listeners": { "render": Lino.quicktip_renderer("Print directly","(excerpts.ExcerptTypes.print_directly) ") }, "name": "print_directly", "selectOnFocus": true });
    var certifying1351 = new Ext.form.Checkbox({ "allowBlank": false, "anchor": "-20", "autoHeight": true, "boxLabel": "Certifying", "checked": false, "hideLabel": true, "listeners": { "render": Lino.quicktip_renderer("Certifying","(excerpts.ExcerptTypes.certifying) Whether an excerpt of this type is a unique printout.") }, "name": "certifying", "selectOnFocus": true });
    var print_recipient1352 = new Ext.form.Checkbox({ "allowBlank": false, "anchor": "-20", "autoHeight": true, "boxLabel": "Print recipient", "checked": true, "hideLabel": true, "listeners": { "render": Lino.quicktip_renderer("Print recipient","(excerpts.ExcerptTypes.print_recipient) Whether to print a recipient field in document.") }, "name": "print_recipient", "selectOnFocus": true });
    var backward_compat1353 = new Ext.form.Checkbox({ "allowBlank": false, "anchor": "-20", "autoHeight": true, "boxLabel": "Backward compatible", "checked": false, "hideLabel": true, "listeners": { "render": Lino.quicktip_renderer("Backward compatible","(excerpts.ExcerptTypes.backward_compat) Check this to have `this` in template context point to owner instead of excerpt.") }, "name": "backward_compat", "selectOnFocus": true });
    var attach_to_email1354 = new Ext.form.Checkbox({ "allowBlank": false, "anchor": "-20", "autoHeight": true, "boxLabel": "Attach to email", "checked": false, "hideLabel": true, "listeners": { "render": Lino.quicktip_renderer("Attach to email","(excerpts.ExcerptTypes.attach_to_email) Whether the printable file should be attached to the email\nwhen creating an email from a mailable of this type.\n") }, "name": "attach_to_email", "selectOnFocus": true });
    var main_3_panel1355 = new Ext.Panel({ "autoHeight": true, "autoScroll": false, "border": false, "frame": false, "hideCheckBoxLabels": true, "items": [ { "autoHeight": true, "flex": 16, "items": primary1349, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 16, "items": print_directly1350, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 16, "items": certifying1351, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 16, "items": print_recipient1352, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 16, "items": backward_compat1353, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 16, "items": attach_to_email1354, "labelAlign": "top", "layout": "form", "xtype": "panel" } ], "labelAlign": "top", "labelWidth": 0, "layout": "hbox", "layoutConfig": { "align": "stretchmax" } });
    var main_panel1409 = new Ext.Panel({ "autoScroll": false, "bodyBorder": false, "border": false, "frame": true, "hideCheckBoxLabels": true, "items": [ main_1_panel1331, main_2_panel1342, main_3_panel1355 ], "labelAlign": "top", "layout": "vbox", "layoutConfig": { "align": "stretch" } });
    this.items = main_panel1409;
    this.before_row_edit = function(record) {
      template1338.setContextValue('build_method', record ? record.data['build_methodHidden'] : undefined);
      template1338.setContextValue('content_type', record ? record.data['content_typeHidden'] : undefined);
      body_template1339.setContextValue('content_type', record ? record.data['content_typeHidden'] : undefined);
      email_template1340.setContextValue('content_type', record ? record.data['content_typeHidden'] : undefined);
    }
    this.onRender = function(ct, position) {
      typeof build_method1337 !== 'undefined' && build_method1337.on('change',Lino.chooser_handler(template1338,'build_method'));
      typeof content_type1336 !== 'undefined' && content_type1336.on('change',Lino.chooser_handler(template1338,'content_type'));
      typeof content_type1336 !== 'undefined' && content_type1336.on('change',Lino.chooser_handler(body_template1339,'content_type'));
      typeof content_type1336 !== 'undefined' && content_type1336.on('change',Lino.chooser_handler(email_template1340,'content_type'));
      Lino.excerpts.ExcerptTypes.DetailFormPanel.superclass.onRender.call(this, ct, position);
    }
    Lino.excerpts.ExcerptTypes.DetailFormPanel.superclass.initComponent.call(this);
  }
});


Lino.cal.Calendars.DetailFormPanel = Ext.extend(Lino.FormPanel,{
cls: "l-DetailFormPanel cal-Calendars",
  layout: 'fit',
  auto_save: true,
  actions_hotkeys: [ { "alt": false, "ba": "Lino.row_action_handler('as_pdf_p', 'GET', null)", "ctrl": true, "key": "P", "keycode": 80, "shift": false } ],
  content_type: 20,
  initComponent : function() {
    var name1410 = new Ext.form.TextField({ "allowBlank": false, "anchor": "-20", "autoHeight": true, "fieldLabel": "Designation", "listeners": { "render": Lino.quicktip_renderer("Designation","(cal.Calendars.name) ") }, "maxLength": 200, "name": "name", "selectOnFocus": true });
    var name_de1411 = new Ext.form.TextField({ "allowBlank": true, "anchor": "-20", "autoHeight": true, "fieldLabel": "Designation (de)", "listeners": { "render": Lino.quicktip_renderer("Designation (de)","(cal.Calendars.name_de) ") }, "maxLength": 200, "name": "name_de", "selectOnFocus": true });
    var name_fr1412 = new Ext.form.TextField({ "allowBlank": true, "anchor": "-20", "autoHeight": true, "fieldLabel": "Designation (fr)", "listeners": { "render": Lino.quicktip_renderer("Designation (fr)","(cal.Calendars.name_fr) ") }, "maxLength": 200, "name": "name_fr", "selectOnFocus": true });
    var color1413 = new Ext.form.NumberField({ "allowBlank": false, "anchor": "-20", "autoHeight": true, "fieldLabel": "<span style=\"border-bottom: 1px dotted #000000;\">color</span>", "listeners": { "render": Lino.quicktip_renderer("color","(cal.Calendars.color) The color to use for entries of this calendar (in\nlino_xl.lib.extensible).") }, "name": "color", "selectOnFocus": true });
    var id1414 = new Ext.form.NumberField({ "allowBlank": true, "anchor": "-20", "autoHeight": true, "fieldLabel": "ID", "listeners": { "render": Lino.quicktip_renderer("ID","(cal.Calendars.id) ") }, "name": "id", "selectOnFocus": true });
    var main_1_panel1415 = new Ext.Panel({ "autoHeight": true, "autoScroll": false, "border": false, "frame": false, "hideCheckBoxLabels": true, "items": [ { "autoHeight": true, "flex": 28, "items": name1410, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 28, "items": name_de1411, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 28, "items": name_fr1412, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 6, "items": color1413, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 6, "items": id1414, "labelAlign": "top", "layout": "form", "xtype": "panel" } ], "labelAlign": "top", "labelWidth": 0, "layout": "hbox", "layoutConfig": { "align": "stretchmax" } });
    var description1421 = new Lino.RichTextPanel({ "allowBlank": true, "containing_panel": this, "fieldLabel": "Description", "flex": 52, "name": "description", "region": "center", "selectOnFocus": true, "title": "Description" });
    var main_2_panel1430 = new Ext.Panel({ "autoScroll": false, "border": false, "flex": 83, "frame": false, "hideCheckBoxLabels": true, "items": [ description1421 ], "labelAlign": "top", "labelWidth": 108, "layout": "hbox", "layoutConfig": { "align": "stretch" } });
    var main_panel1431 = new Ext.Panel({ "autoScroll": false, "bodyBorder": false, "border": false, "frame": true, "hideCheckBoxLabels": true, "items": [ main_1_panel1415, main_2_panel1430 ], "labelAlign": "top", "layout": "vbox", "layoutConfig": { "align": "stretch" } });
    this.items = main_panel1431;
    this.before_row_edit = function(record) {
      description1421.refresh();
    }
    Lino.cal.Calendars.DetailFormPanel.superclass.initComponent.call(this);
  }
});


Lino.excerpts.ExcerptTypes.InsertFormPanel = Ext.extend(Lino.FormPanel,{
cls: "l-InsertFormPanel excerpts-ExcerptTypes",
  layout: 'fit',
  auto_save: true,
  actions_hotkeys: [ { "alt": false, "ba": "Lino.row_action_handler('as_pdf_p', 'GET', null)", "ctrl": true, "key": "P", "keycode": 80, "shift": false } ],
  autoHeight: true,
  content_type: 60,
  initComponent : function() {
    var name1432 = new Ext.form.TextField({ "allowBlank": false, "anchor": "-20", "autoHeight": true, "fieldLabel": "<span style=\"border-bottom: 1px dotted #000000;\">Designation</span>", "listeners": { "render": Lino.quicktip_renderer("Designation","(excerpts.ExcerptTypes.name) The designation of this excerpt type.\nOne field for every language.") }, "maxLength": 200, "name": "name", "selectOnFocus": true });
    var name_de1433 = new Ext.form.TextField({ "allowBlank": true, "anchor": "-20", "autoHeight": true, "fieldLabel": "Designation (de)", "listeners": { "render": Lino.quicktip_renderer("Designation (de)","(excerpts.ExcerptTypes.name_de) ") }, "maxLength": 200, "name": "name_de", "selectOnFocus": true });
    var name_fr1434 = new Ext.form.TextField({ "allowBlank": true, "anchor": "-20", "autoHeight": true, "fieldLabel": "Designation (fr)", "listeners": { "render": Lino.quicktip_renderer("Designation (fr)","(excerpts.ExcerptTypes.name_fr) ") }, "maxLength": 200, "name": "name_fr", "selectOnFocus": true });
    var main_1_panel1435 = new Ext.Panel({ "anchor": "-20", "autoHeight": true, "autoScroll": false, "border": false, "frame": false, "hideCheckBoxLabels": true, "items": [ { "autoHeight": true, "flex": 33, "items": name1432, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 33, "items": name_de1433, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 33, "items": name_fr1434, "labelAlign": "top", "layout": "form", "xtype": "panel" } ], "labelAlign": "top", "labelWidth": 0, "layout": "hbox", "layoutConfig": { "align": "stretchmax" } });
    var content_type1439 = new Lino.RemoteComboFieldElement({ "allowBlank": false, "anchor": "-20", "autoHeight": true, "detail_action": "Lino.gfks.ContentTypes.detail", "emptyText": "Select a content type...", "fieldLabel": "<span style=\"border-bottom: 1px dotted #000000;\">Model</span>", "hiddenName": "content_typeHidden", "listeners": { "render": Lino.quicktip_renderer("Model","(excerpts.ExcerptTypes.content_type) The database model for which this excerpt type is to be used.") }, "name": "content_type", "pageSize": 20, "related_actor_id": "gfks.ContentTypes", "selectOnFocus": true, "store": new Lino.ComplexRemoteComboStore({ "proxy": new Ext.data.HttpProxy({ "method": "GET", "url": "/choices/excerpts/ExcerptTypes/content_type" }) }) });
    var primary1440 = new Ext.form.Checkbox({ "allowBlank": false, "anchor": "-20", "autoHeight": true, "boxLabel": "Primary", "checked": false, "hideLabel": true, "listeners": { "render": Lino.quicktip_renderer("Primary","(excerpts.ExcerptTypes.primary) Whether this is the default type to use for this model. There's at most one primary type per model. Enabling this field will automatically make the other types non-primary.") }, "name": "primary", "selectOnFocus": true });
    var certifying1441 = new Ext.form.Checkbox({ "allowBlank": false, "anchor": "-20", "autoHeight": true, "boxLabel": "Certifying", "checked": false, "hideLabel": true, "listeners": { "render": Lino.quicktip_renderer("Certifying","(excerpts.ExcerptTypes.certifying) Whether an excerpt of this type is a unique printout.") }, "name": "certifying", "selectOnFocus": true });
    var main_2_panel1442 = new Ext.Panel({ "anchor": "-20", "autoHeight": true, "autoScroll": false, "border": false, "frame": false, "hideCheckBoxLabels": true, "items": [ { "autoHeight": true, "flex": 50, "items": content_type1439, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 25, "items": primary1440, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 25, "items": certifying1441, "labelAlign": "top", "layout": "form", "xtype": "panel" } ], "labelAlign": "top", "labelWidth": 0, "layout": "hbox", "layoutConfig": { "align": "stretchmax" } });
    var build_method1446 = new Lino.ChoicesFieldElement({ "allowBlank": true, "anchor": "-20", "autoHeight": true, "fieldLabel": "<span style=\"border-bottom: 1px dotted #000000;\">Print method</span>", "forceSelection": true, "hiddenName": "build_methodHidden", "listeners": { "render": Lino.quicktip_renderer("Print method","(excerpts.ExcerptTypes.build_method) See lino.modlib.printing.mixins.PrintableType.build_method.") }, "name": "build_method", "selectOnFocus": true, "store": [['','<br>']].concat(Lino.printing.BuildMethods) });
    var template1447 = new Lino.SimpleRemoteComboFieldElement({ "allowBlank": true, "anchor": "-20", "autoHeight": true, "can_create_choice": false, "fieldLabel": "<span style=\"border-bottom: 1px dotted #000000;\">Template</span>", "listeners": { "render": Lino.quicktip_renderer("Template","(excerpts.ExcerptTypes.template) The main template to be used when printing an excerpt of this type.") }, "name": "template", "selectOnFocus": true, "store": new Lino.ComplexRemoteComboStore({ "proxy": new Ext.data.HttpProxy({ "method": "GET", "url": "/choices/excerpts/ExcerptTypes/template" }) }) });
    var body_template1448 = new Lino.SimpleRemoteComboFieldElement({ "allowBlank": true, "anchor": "-20", "autoHeight": true, "can_create_choice": false, "fieldLabel": "<span style=\"border-bottom: 1px dotted #000000;\">Body template</span>", "listeners": { "render": Lino.quicktip_renderer("Body template","(excerpts.ExcerptTypes.body_template) The body template to use when printing an excerpt of this type.") }, "name": "body_template", "selectOnFocus": true, "store": new Lino.ComplexRemoteComboStore({ "proxy": new Ext.data.HttpProxy({ "method": "GET", "url": "/choices/excerpts/ExcerptTypes/body_template" }) }) });
    var main_3_panel1449 = new Ext.Panel({ "anchor": "-20", "autoHeight": true, "autoScroll": false, "border": false, "frame": false, "hideCheckBoxLabels": true, "items": [ { "autoHeight": true, "flex": 53, "items": build_method1446, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 23, "items": template1447, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 23, "items": body_template1448, "labelAlign": "top", "layout": "form", "xtype": "panel" } ], "labelAlign": "top", "labelWidth": 0, "layout": "hbox", "layoutConfig": { "align": "stretchmax" } });
    var main_panel1453 = new Ext.Panel({ "autoHeight": true, "autoScroll": false, "bodyBorder": false, "border": false, "frame": true, "hideCheckBoxLabels": true, "items": [ main_1_panel1435, main_2_panel1442, main_3_panel1449 ], "labelAlign": "top", "layout": "form" });
    this.items = main_panel1453;
    this.before_row_edit = function(record) {
      template1447.setContextValue('build_method', record ? record.data['build_methodHidden'] : undefined);
      template1447.setContextValue('content_type', record ? record.data['content_typeHidden'] : undefined);
      body_template1448.setContextValue('content_type', record ? record.data['content_typeHidden'] : undefined);
    }
    this.onRender = function(ct, position) {
      typeof build_method1446 !== 'undefined' && build_method1446.on('change',Lino.chooser_handler(template1447,'build_method'));
      typeof content_type1439 !== 'undefined' && content_type1439.on('change',Lino.chooser_handler(template1447,'content_type'));
      typeof content_type1439 !== 'undefined' && content_type1439.on('change',Lino.chooser_handler(body_template1448,'content_type'));
      Lino.excerpts.ExcerptTypes.InsertFormPanel.superclass.onRender.call(this, ct, position);
    }
    Lino.excerpts.ExcerptTypes.InsertFormPanel.superclass.initComponent.call(this);
  }
});


Lino.cal.Events.DetailFormPanel = Ext.extend(Lino.FormPanel,{
cls: "l-DetailFormPanel cal-Events",
  layout: 'fit',
  auto_save: true,
  actions_hotkeys: [ { "alt": false, "ba": "Lino.row_action_handler('as_pdf_p', 'GET', null)", "ctrl": true, "key": "P", "keycode": 80, "shift": false }, { "alt": false, "ba": "Lino.row_action_handler('do_print', 'GET', null)", "ctrl": true, "key": "P", "keycode": 80, "shift": false } ],
  content_type: 25,
  initComponent : function() {
    var event_type1067 = new Lino.RemoteComboFieldElement({ "allowBlank": true, "anchor": "-20", "autoHeight": true, "detail_action": "Lino.cal.EventTypes.detail", "emptyText": "Select a Calendar entry type...", "fieldLabel": "<span style=\"border-bottom: 1px dotted #000000;\">Calendar entry type</span>", "hiddenName": "event_typeHidden", "insert_action": "Lino.cal.EventTypes.insert", "listeners": { "render": Lino.quicktip_renderer("Calendar entry type","(cal.Events.event_type) The type of this calendar entry.") }, "name": "event_type", "pageSize": 20, "related_actor_id": "cal.EventTypes", "selectOnFocus": true, "store": new Lino.ComplexRemoteComboStore({ "proxy": new Ext.data.HttpProxy({ "method": "GET", "url": "/choices/cal/Events/event_type" }) }) });
    var summary1068 = new Ext.form.TextField({ "allowBlank": true, "anchor": "-20", "autoHeight": true, "fieldLabel": "<span style=\"border-bottom: 1px dotted #000000;\">Short description</span>", "listeners": { "render": Lino.quicktip_renderer("Short description","(cal.Events.summary) A one-line descriptive text.") }, "maxLength": 200, "name": "summary", "selectOnFocus": true });
    var user1069 = new Lino.RemoteComboFieldElement({ "allowBlank": true, "anchor": "-20", "autoHeight": true, "detail_action": "Lino.users.AllUsers.detail", "emptyText": "Select a User...", "fieldLabel": "<span style=\"border-bottom: 1px dotted #000000;\">Responsible user</span>", "hiddenName": "userHidden", "insert_action": "Lino.users.AllUsers.insert", "listeners": { "render": Lino.quicktip_renderer("Responsible user","(cal.Events.user) The responsible user.") }, "name": "user", "pageSize": 20, "preferred_width": 15, "related_actor_id": "users.AllUsers", "selectOnFocus": true, "store": new Lino.ComplexRemoteComboStore({ "proxy": new Ext.data.HttpProxy({ "method": "GET", "url": "/choices/cal/Events/user" }) }) });
    var main_1_panel1070 = new Ext.Panel({ "autoHeight": true, "autoScroll": false, "border": false, "frame": false, "hideCheckBoxLabels": true, "items": [ { "autoHeight": true, "flex": 32, "items": event_type1067, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 34, "items": summary1068, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 32, "items": user1069, "labelAlign": "top", "layout": "form", "xtype": "panel" } ], "labelAlign": "top", "labelWidth": 0, "layout": "hbox", "layoutConfig": { "align": "stretchmax" } });
    var start_date1074 = new Lino.DateField({ "allowBlank": true, "anchor": "-20", "autoHeight": true, "fieldLabel": "<span style=\"border-bottom: 1px dotted #000000;\">Start date</span>", "listeners": { "render": Lino.quicktip_renderer("Start date","(cal.Events.start_date) The starting date of this calendar entry.  May not be empty.") }, "name": "start_date", "selectOnFocus": true });
    var start_time1075 = new Lino.TimeField({ "allowBlank": true, "anchor": "-20", "autoHeight": true, "fieldLabel": "<span style=\"border-bottom: 1px dotted #000000;\">Start time</span>", "listeners": { "render": Lino.quicktip_renderer("Start time","(cal.Events.start_time) The starting time.  If this is empty, the entry is considered an\nall-day entry.") }, "maxValue": "9:00 PM", "minValue": "7:00", "name": "start_time", "selectOnFocus": true });
    var start_panel1076 = new Ext.Panel({ "autoHeight": true, "autoScroll": false, "border": false, "flex": 33, "frame": false, "hideCheckBoxLabels": true, "items": [ { "autoHeight": true, "flex": 61, "items": start_date1074, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 38, "items": start_time1075, "labelAlign": "top", "layout": "form", "xtype": "panel" } ], "labelAlign": "top", "labelWidth": 0, "layout": "hbox", "layoutConfig": { "align": "stretchmax" } });
    var end_date1079 = new Lino.DateField({ "allowBlank": true, "anchor": "-20", "autoHeight": true, "fieldLabel": "<span style=\"border-bottom: 1px dotted #000000;\">End Date</span>", "listeners": { "render": Lino.quicktip_renderer("End Date","(cal.Events.end_date) The ending date of this calendar entry.\nLeave empty for same-day entries.") }, "name": "end_date", "selectOnFocus": true });
    var end_time1080 = new Lino.TimeField({ "allowBlank": true, "anchor": "-20", "autoHeight": true, "fieldLabel": "<span style=\"border-bottom: 1px dotted #000000;\">End Time</span>", "listeners": { "render": Lino.quicktip_renderer("End Time","(cal.Events.end_time) The ending time.  If this is before the starting time, and no ending\ndate is given, Lino considers the entry to end the day after.") }, "maxValue": "9:00 PM", "minValue": "7:00", "name": "end_time", "selectOnFocus": true });
    var end_panel1081 = new Ext.Panel({ "autoHeight": true, "autoScroll": false, "border": false, "flex": 33, "frame": false, "hideCheckBoxLabels": true, "items": [ { "autoHeight": true, "flex": 61, "items": end_date1079, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 38, "items": end_time1080, "labelAlign": "top", "layout": "form", "xtype": "panel" } ], "labelAlign": "top", "labelWidth": 0, "layout": "hbox", "layoutConfig": { "align": "stretchmax" } });
    var assigned_to1084 = new Lino.RemoteComboFieldElement({ "allowBlank": true, "anchor": "-20", "autoHeight": true, "detail_action": "Lino.users.AllUsers.detail", "emptyText": "Select a User...", "fieldLabel": "<span style=\"border-bottom: 1px dotted #000000;\">Assigned to</span>", "hiddenName": "assigned_toHidden", "insert_action": "Lino.users.AllUsers.insert", "listeners": { "render": Lino.quicktip_renderer("Assigned to","(cal.Events.assigned_to) Another user who is expected to take responsibility for this\nentry.") }, "name": "assigned_to", "pageSize": 20, "preferred_width": 15, "related_actor_id": "users.AllUsers", "selectOnFocus": true, "store": new Lino.ComplexRemoteComboStore({ "proxy": new Ext.data.HttpProxy({ "method": "GET", "url": "/choices/cal/Events/assigned_to" }) }) });
    var main_2_panel1085 = new Ext.Panel({ "autoHeight": true, "autoScroll": false, "border": false, "frame": false, "hideCheckBoxLabels": true, "items": [ start_panel1076, end_panel1081, { "autoHeight": true, "flex": 32, "items": assigned_to1084, "labelAlign": "top", "layout": "form", "xtype": "panel" } ], "labelAlign": "top", "labelWidth": 0, "layout": "hbox", "layoutConfig": { "align": "stretchmax" } });
    var room1087 = new Lino.RemoteComboFieldElement({ "allowBlank": true, "anchor": "-20", "autoHeight": true, "detail_action": "Lino.cal.Rooms.detail", "emptyText": "Select a Room...", "fieldLabel": "Room", "hiddenName": "roomHidden", "insert_action": "Lino.cal.Rooms.insert", "listeners": { "render": Lino.quicktip_renderer("Room","(cal.Events.room) ") }, "name": "room", "pageSize": 20, "related_actor_id": "cal.Rooms", "selectOnFocus": true, "store": new Lino.ComplexRemoteComboStore({ "proxy": new Ext.data.HttpProxy({ "method": "GET", "url": "/choices/cal/Events/room" }) }) });
    var owner_disp1088 = new Ext.form.DisplayField({ "anchor": "-20", "autoHeight": true, "disabled": true, "fieldLabel": "<span style=\"border-bottom: 1px dotted #000000;\">Controlled by</span>", "name": "owner" });
    var workflow_buttons_disp1089 = new Ext.form.DisplayField({ "always_enabled": true, "anchor": "-20", "autoHeight": true, "disabled": true, "fieldLabel": "<span style=\"border-bottom: 1px dotted #000000;\">Workflow</span>", "listeners": { "render": Lino.quicktip_renderer("Workflow","(cal.Events.workflow_buttons) List of actions that change the workflow state of this object.") }, "name": "workflow_buttons", "value": "<br/>" });
    var main_3_panel1090 = new Ext.Panel({ "autoHeight": true, "autoScroll": false, "border": false, "frame": false, "hideCheckBoxLabels": true, "items": [ { "autoHeight": true, "flex": 33, "items": room1087, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 16, "items": owner_disp1088, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 50, "items": workflow_buttons_disp1089, "labelAlign": "top", "layout": "form", "xtype": "panel" } ], "labelAlign": "top", "labelWidth": 0, "layout": "hbox", "layoutConfig": { "align": "stretchmax" } });
    var description1094 = new Ext.form.TextArea({ "allowBlank": true, "anchor": "-20 -10", "fieldLabel": "<span style=\"border-bottom: 1px dotted #000000;\">Description</span>", "growMax": 2000, "listeners": { "render": Lino.quicktip_renderer("Description","(cal.Events.description) A longer descriptive text.") }, "name": "description", "region": "center", "selectOnFocus": true });
    var main_4_panel1106 = new Ext.Panel({ "autoScroll": false, "border": false, "flex": 50, "frame": false, "hideCheckBoxLabels": true, "items": [ { "flex": 33, "items": description1094, "labelAlign": "top", "layout": "form", "xtype": "panel" } ], "labelAlign": "top", "labelWidth": 0, "layout": "hbox", "layoutConfig": { "align": "stretch" } });
    var main_panel1108 = new Ext.Panel({ "autoScroll": false, "bodyBorder": false, "border": false, "frame": true, "hideCheckBoxLabels": true, "items": [ main_1_panel1070, main_2_panel1085, main_3_panel1090, main_4_panel1106 ], "labelAlign": "top", "layout": "vbox", "layoutConfig": { "align": "stretch" } });
    this.items = main_panel1108;
    this.before_row_edit = function(record) {
    }
    Lino.cal.Events.DetailFormPanel.superclass.initComponent.call(this);
  }
});


Lino.tinymce.TextFieldTemplates.InsertFormPanel = Ext.extend(Lino.FormPanel,{
cls: "l-InsertFormPanel tinymce-TextFieldTemplates",
  layout: 'fit',
  auto_save: true,
  actions_hotkeys: [ { "alt": false, "ba": "Lino.row_action_handler('as_pdf_p', 'GET', null)", "ctrl": true, "key": "P", "keycode": 80, "shift": false } ],
  autoHeight: true,
  content_type: 62,
  initComponent : function() {
    var name1454 = new Ext.form.TextField({ "allowBlank": false, "anchor": "-20", "autoHeight": true, "fieldLabel": "Designation", "listeners": { "render": Lino.quicktip_renderer("Designation","(tinymce.TextFieldTemplates.name) ") }, "maxLength": 200, "name": "name", "selectOnFocus": true });
    var user1455 = new Lino.RemoteComboFieldElement({ "allowBlank": true, "anchor": "-20", "autoHeight": true, "detail_action": "Lino.users.AllUsers.detail", "emptyText": "Select a User...", "fieldLabel": "<span style=\"border-bottom: 1px dotted #000000;\">Author</span>", "hiddenName": "userHidden", "insert_action": "Lino.users.AllUsers.insert", "listeners": { "render": Lino.quicktip_renderer("Author","(tinymce.TextFieldTemplates.user) The author of this object.\nA pointer to lino.modlib.users.models.User.") }, "name": "user", "pageSize": 20, "preferred_width": 15, "related_actor_id": "users.AllUsers", "selectOnFocus": true, "store": new Lino.ComplexRemoteComboStore({ "proxy": new Ext.data.HttpProxy({ "method": "GET", "url": "/choices/tinymce/TextFieldTemplates/user" }) }) });
    var main_panel1456 = new Ext.Panel({ "autoHeight": true, "autoScroll": false, "bodyBorder": false, "border": false, "frame": true, "hideCheckBoxLabels": true, "items": [ { "anchor": "-20", "autoHeight": true, "items": name1454, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "anchor": "-20", "autoHeight": true, "items": user1455, "labelAlign": "top", "layout": "form", "xtype": "panel" } ], "labelAlign": "top", "labelWidth": 0, "layout": "form" });
    this.items = main_panel1456;
    this.before_row_edit = function(record) {
    }
    Lino.tinymce.TextFieldTemplates.InsertFormPanel.superclass.initComponent.call(this);
  }
});


Lino.cal.Events.InsertFormPanel = Ext.extend(Lino.FormPanel,{
cls: "l-InsertFormPanel cal-Events",
  layout: 'fit',
  auto_save: true,
  actions_hotkeys: [ { "alt": false, "ba": "Lino.row_action_handler('as_pdf_p', 'GET', null)", "ctrl": true, "key": "P", "keycode": 80, "shift": false }, { "alt": false, "ba": "Lino.row_action_handler('do_print', 'GET', null)", "ctrl": true, "key": "P", "keycode": 80, "shift": false } ],
  autoHeight: true,
  content_type: 25,
  initComponent : function() {
    var start_date1109 = new Lino.DateField({ "allowBlank": true, "anchor": "-20", "autoHeight": true, "fieldLabel": "<span style=\"border-bottom: 1px dotted #000000;\">Start date</span>", "listeners": { "render": Lino.quicktip_renderer("Start date","(cal.Events.start_date) The starting date of this calendar entry.  May not be empty.") }, "name": "start_date", "selectOnFocus": true });
    var start_time1110 = new Lino.TimeField({ "allowBlank": true, "anchor": "-20", "autoHeight": true, "fieldLabel": "<span style=\"border-bottom: 1px dotted #000000;\">Start time</span>", "listeners": { "render": Lino.quicktip_renderer("Start time","(cal.Events.start_time) The starting time.  If this is empty, the entry is considered an\nall-day entry.") }, "maxValue": "9:00 PM", "minValue": "7:00", "name": "start_time", "selectOnFocus": true });
    var end_date1111 = new Lino.DateField({ "allowBlank": true, "anchor": "-20", "autoHeight": true, "fieldLabel": "<span style=\"border-bottom: 1px dotted #000000;\">End Date</span>", "listeners": { "render": Lino.quicktip_renderer("End Date","(cal.Events.end_date) The ending date of this calendar entry.\nLeave empty for same-day entries.") }, "name": "end_date", "selectOnFocus": true });
    var end_time1112 = new Lino.TimeField({ "allowBlank": true, "anchor": "-20", "autoHeight": true, "fieldLabel": "<span style=\"border-bottom: 1px dotted #000000;\">End Time</span>", "listeners": { "render": Lino.quicktip_renderer("End Time","(cal.Events.end_time) The ending time.  If this is before the starting time, and no ending\ndate is given, Lino considers the entry to end the day after.") }, "maxValue": "9:00 PM", "minValue": "7:00", "name": "end_time", "selectOnFocus": true });
    var main_1_panel1113 = new Ext.Panel({ "anchor": "-20", "autoHeight": true, "autoScroll": false, "border": false, "frame": false, "hideCheckBoxLabels": true, "items": [ { "autoHeight": true, "flex": 30, "items": start_date1109, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 19, "items": start_time1110, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 30, "items": end_date1111, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 19, "items": end_time1112, "labelAlign": "top", "layout": "form", "xtype": "panel" } ], "labelAlign": "top", "labelWidth": 0, "layout": "hbox", "layoutConfig": { "align": "stretchmax" } });
    var summary1118 = new Ext.form.TextField({ "allowBlank": true, "anchor": "-20", "autoHeight": true, "fieldLabel": "<span style=\"border-bottom: 1px dotted #000000;\">Short description</span>", "listeners": { "render": Lino.quicktip_renderer("Short description","(cal.Events.summary) A one-line descriptive text.") }, "maxLength": 200, "name": "summary", "selectOnFocus": true });
    var main_panel1119 = new Ext.Panel({ "autoHeight": true, "autoScroll": false, "bodyBorder": false, "border": false, "frame": true, "hideCheckBoxLabels": true, "items": [ main_1_panel1113, { "anchor": "-20", "autoHeight": true, "items": summary1118, "labelAlign": "top", "layout": "form", "xtype": "panel" } ], "labelAlign": "top", "labelWidth": 0, "layout": "form" });
    this.items = main_panel1119;
    this.before_row_edit = function(record) {
    }
    Lino.cal.Events.InsertFormPanel.superclass.initComponent.call(this);
  }
});


Lino.excerpts.Excerpts.DetailFormPanel = Ext.extend(Lino.FormPanel,{
cls: "l-DetailFormPanel excerpts-Excerpts",
  layout: 'fit',
  auto_save: true,
  actions_hotkeys: [ { "alt": false, "ba": "Lino.row_action_handler('as_pdf_p', 'GET', null)", "ctrl": true, "key": "P", "keycode": 80, "shift": false }, { "alt": false, "ba": "Lino.row_action_handler('do_print', 'GET', null)", "ctrl": true, "key": "P", "keycode": 80, "shift": false } ],
  content_type: 61,
  initComponent : function() {
    var id1375 = new Ext.form.NumberField({ "allowBlank": true, "anchor": "-20", "autoHeight": true, "fieldLabel": "ID", "listeners": { "render": Lino.quicktip_renderer("ID","(excerpts.Excerpts.id) ") }, "name": "id", "selectOnFocus": true });
    var excerpt_type1376 = new Lino.RemoteComboFieldElement({ "allowBlank": false, "anchor": "-20", "autoHeight": true, "can_create_choice": false, "detail_action": "Lino.excerpts.ExcerptTypes.detail", "emptyText": "Select a Excerpt Type...", "fieldLabel": "<span style=\"border-bottom: 1px dotted #000000;\">Excerpt Type</span>", "hiddenName": "excerpt_typeHidden", "insert_action": "Lino.excerpts.ExcerptTypes.insert", "listeners": { "render": Lino.quicktip_renderer("Excerpt Type","(excerpts.Excerpts.excerpt_type) The type of this excerpt (ForeignKey to ExcerptType).") }, "name": "excerpt_type", "pageSize": 20, "related_actor_id": "excerpts.ExcerptTypes", "selectOnFocus": true, "store": new Lino.ComplexRemoteComboStore({ "proxy": new Ext.data.HttpProxy({ "method": "GET", "url": "/choices/excerpts/Excerpts/excerpt_type" }) }) });
    var main_1_panel1377 = new Ext.Panel({ "anchor": "-20", "autoHeight": true, "autoScroll": false, "border": false, "frame": false, "hideCheckBoxLabels": true, "items": [ { "autoHeight": true, "flex": 16, "items": id1375, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 83, "items": excerpt_type1376, "labelAlign": "top", "layout": "form", "xtype": "panel" } ], "labelAlign": "top", "labelWidth": 0, "layout": "hbox", "layoutConfig": { "align": "stretchmax" } });
    var user1380 = new Lino.RemoteComboFieldElement({ "allowBlank": true, "anchor": "-20", "autoHeight": true, "detail_action": "Lino.users.AllUsers.detail", "emptyText": "Select a User...", "fieldLabel": "<span style=\"border-bottom: 1px dotted #000000;\">Author</span>", "hiddenName": "userHidden", "insert_action": "Lino.users.AllUsers.insert", "listeners": { "render": Lino.quicktip_renderer("Author","(excerpts.Excerpts.user) The author of this object.\nA pointer to lino.modlib.users.models.User.") }, "name": "user", "pageSize": 20, "preferred_width": 15, "related_actor_id": "users.AllUsers", "selectOnFocus": true, "store": new Lino.ComplexRemoteComboStore({ "proxy": new Ext.data.HttpProxy({ "method": "GET", "url": "/choices/excerpts/Excerpts/user" }) }) });
    var build_method1381 = new Lino.ChoicesFieldElement({ "allowBlank": true, "anchor": "-20", "autoHeight": true, "fieldLabel": "Print method", "forceSelection": true, "hiddenName": "build_methodHidden", "listeners": { "render": Lino.quicktip_renderer("Print method","(excerpts.Excerpts.build_method) ") }, "name": "build_method", "selectOnFocus": true, "store": [['','<br>']].concat(Lino.printing.BuildMethods) });
    var main_2_panel1382 = new Ext.Panel({ "anchor": "-20", "autoHeight": true, "autoScroll": false, "border": false, "frame": false, "hideCheckBoxLabels": true, "items": [ { "autoHeight": true, "flex": 30, "items": user1380, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 69, "items": build_method1381, "labelAlign": "top", "layout": "form", "xtype": "panel" } ], "labelAlign": "top", "labelWidth": 0, "layout": "hbox", "layoutConfig": { "align": "stretchmax" } });
    var company1385 = new Lino.RemoteComboFieldElement({ "allowBlank": true, "anchor": "-20", "autoHeight": true, "detail_action": "Lino.contacts.Companies.detail", "emptyText": "Select a Organization...", "fieldLabel": "<span style=\"border-bottom: 1px dotted #000000;\">Recipient (Organization)</span>", "hiddenName": "companyHidden", "insert_action": "Lino.contacts.Companies.insert", "listeners": { "render": Lino.quicktip_renderer("Recipient (Organization)","(excerpts.Excerpts.company) The optional company of the recipient of this\nexcerpt.  See ContactRelated.company.") }, "name": "company", "pageSize": 20, "preferred_width": 20, "related_actor_id": "contacts.Companies", "selectOnFocus": true, "store": new Lino.ComplexRemoteComboStore({ "proxy": new Ext.data.HttpProxy({ "method": "GET", "url": "/choices/excerpts/Excerpts/company" }) }) });
    var contact_person1386 = new Lino.RemoteComboFieldElement({ "allowBlank": true, "anchor": "-20", "autoHeight": true, "can_create_choice": false, "detail_action": "Lino.contacts.Persons.detail", "emptyText": "Select a Person...", "fieldLabel": "<span style=\"border-bottom: 1px dotted #000000;\">Recipient (Person)</span>", "hiddenName": "contact_personHidden", "insert_action": "Lino.contacts.Persons.insert", "listeners": { "render": Lino.quicktip_renderer("Recipient (Person)","(excerpts.Excerpts.contact_person) The optional contact person of the recipient of this\nexcerpt.  See ContactRelated.contact_person.") }, "name": "contact_person", "pageSize": 20, "preferred_width": 20, "related_actor_id": "contacts.Persons", "selectOnFocus": true, "store": new Lino.ComplexRemoteComboStore({ "proxy": new Ext.data.HttpProxy({ "method": "GET", "url": "/choices/excerpts/Excerpts/contact_person" }) }) });
    var language1387 = new Lino.ChoicesFieldElement({ "allowBlank": true, "anchor": "-20", "autoHeight": true, "fieldLabel": "<span style=\"border-bottom: 1px dotted #000000;\">Language</span>", "hiddenName": "languageHidden", "listeners": { "render": Lino.quicktip_renderer("Language","(excerpts.Excerpts.language) The language used for printing this excerpt.") }, "name": "language", "selectOnFocus": true, "store": [ [ "en", "English" ], [ "de", "German" ], [ "fr", "French" ] ] });
    var main_3_panel1388 = new Ext.Panel({ "anchor": "-20", "autoHeight": true, "autoScroll": false, "border": false, "frame": false, "hideCheckBoxLabels": true, "items": [ { "autoHeight": true, "flex": 33, "items": company1385, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 33, "items": contact_person1386, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 33, "items": language1387, "labelAlign": "top", "layout": "form", "xtype": "panel" } ], "labelAlign": "top", "labelWidth": 0, "layout": "hbox", "layoutConfig": { "align": "stretchmax" } });
    var owner_disp1392 = new Ext.form.DisplayField({ "anchor": "-20", "autoHeight": true, "disabled": true, "fieldLabel": "<span style=\"border-bottom: 1px dotted #000000;\">Controlled by</span>", "name": "owner" });
    var build_time1393 = new Ext.form.DisplayField({ "anchor": "-20", "autoHeight": true, "disabled": true, "fieldLabel": "<span style=\"border-bottom: 1px dotted #000000;\">build time</span>", "listeners": { "render": Lino.quicktip_renderer("build time","(excerpts.Excerpts.build_time) Timestamp of the built target file. Contains None\nif no build hasn't been called yet.") }, "name": "build_time", "value": "<br>" });
    var main_4_panel1394 = new Ext.Panel({ "anchor": "-20", "autoHeight": true, "autoScroll": false, "border": false, "frame": false, "hideCheckBoxLabels": true, "items": [ { "autoHeight": true, "flex": 38, "items": owner_disp1392, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 61, "items": build_time1393, "labelAlign": "top", "layout": "form", "xtype": "panel" } ], "labelAlign": "top", "labelWidth": 0, "layout": "hbox", "layoutConfig": { "align": "stretchmax" } });
    var main_panel1397 = new Ext.Panel({ "autoHeight": true, "autoScroll": false, "bodyBorder": false, "border": false, "frame": true, "hideCheckBoxLabels": true, "items": [ main_1_panel1377, main_2_panel1382, main_3_panel1388, main_4_panel1394 ], "labelAlign": "top", "layout": "form" });
    this.items = main_panel1397;
    this.before_row_edit = function(record) {
      excerpt_type1376.setContextValue('owner', record ? record.data['owner'] : undefined);
      contact_person1386.setContextValue('company', record ? record.data['companyHidden'] : undefined);
    }
    this.onRender = function(ct, position) {
      typeof owner_disp1392 !== 'undefined' && owner_disp1392.on('change',Lino.chooser_handler(excerpt_type1376,'owner'));
      typeof company1385 !== 'undefined' && company1385.on('change',Lino.chooser_handler(contact_person1386,'company'));
      Lino.excerpts.Excerpts.DetailFormPanel.superclass.onRender.call(this, ct, position);
    }
    Lino.excerpts.Excerpts.DetailFormPanel.superclass.initComponent.call(this);
  }
});


Lino.topics.Interests.DetailFormPanel = Ext.extend(Lino.FormPanel,{
cls: "l-DetailFormPanel topics-Interests",
  layout: 'fit',
  auto_save: true,
  actions_hotkeys: [ { "alt": false, "ba": "Lino.row_action_handler('as_pdf_p', 'GET', null)", "ctrl": true, "key": "P", "keycode": 80, "shift": false } ],
  content_type: 53,
  initComponent : function() {
    var partner1459 = new Lino.RemoteComboFieldElement({ "allowBlank": true, "anchor": "-20", "autoHeight": true, "detail_action": "Lino.contacts.Partners.detail", "emptyText": "Select a Partner...", "fieldLabel": "Partner", "hiddenName": "partnerHidden", "listeners": { "render": Lino.quicktip_renderer("Partner","(topics.Interests.partner) ") }, "name": "partner", "pageSize": 20, "preferred_width": 20, "related_actor_id": "contacts.Partners", "selectOnFocus": true, "store": new Lino.ComplexRemoteComboStore({ "proxy": new Ext.data.HttpProxy({ "method": "GET", "url": "/choices/topics/Interests/partner" }) }) });
    var topic1460 = new Lino.RemoteComboFieldElement({ "allowBlank": false, "anchor": "-20", "autoHeight": true, "detail_action": "Lino.topics.Topics.detail", "emptyText": "Select a Topic...", "fieldLabel": "Topic", "hiddenName": "topicHidden", "insert_action": "Lino.topics.Topics.insert", "listeners": { "render": Lino.quicktip_renderer("Topic","(topics.Interests.topic) ") }, "name": "topic", "pageSize": 20, "related_actor_id": "topics.Topics", "selectOnFocus": true, "store": new Lino.ComplexRemoteComboStore({ "proxy": new Ext.data.HttpProxy({ "method": "GET", "url": "/choices/topics/Interests/topic" }) }) });
    var owner_disp1461 = new Ext.form.DisplayField({ "anchor": "-20", "autoHeight": true, "disabled": true, "fieldLabel": "Controlled by", "name": "owner" });
    var main_2_panel1462 = new Ext.Panel({ "autoHeight": true, "autoScroll": false, "border": false, "frame": false, "hideCheckBoxLabels": true, "items": [ { "autoHeight": true, "flex": 66, "items": topic1460, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 33, "items": owner_disp1461, "labelAlign": "top", "layout": "form", "xtype": "panel" } ], "labelAlign": "top", "labelWidth": 0, "layout": "hbox", "layoutConfig": { "align": "stretchmax" } });
    var remark1465 = new Ext.form.TextArea({ "allowBlank": true, "anchor": "-20 -10", "fieldLabel": "Remark", "growMax": 2000, "listeners": { "render": Lino.quicktip_renderer("Remark","(topics.Interests.remark) ") }, "name": "remark", "selectOnFocus": true });
    var main_panel1466 = new Ext.Panel({ "autoScroll": false, "bodyBorder": false, "border": false, "frame": true, "hideCheckBoxLabels": true, "items": [ { "autoHeight": true, "items": partner1459, "labelAlign": "top", "layout": "form", "xtype": "panel" }, main_2_panel1462, { "flex": 71, "items": remark1465, "labelAlign": "top", "layout": "form", "xtype": "panel" } ], "labelAlign": "top", "labelWidth": 0, "layout": "vbox", "layoutConfig": { "align": "stretch" } });
    this.items = main_panel1466;
    this.before_row_edit = function(record) {
    }
    Lino.topics.Interests.DetailFormPanel.superclass.initComponent.call(this);
  }
});


Lino.excerpts.Excerpts.InsertFormPanel = Ext.extend(Lino.FormPanel,{
cls: "l-InsertFormPanel excerpts-Excerpts",
  layout: 'fit',
  auto_save: true,
  actions_hotkeys: [ { "alt": false, "ba": "Lino.row_action_handler('as_pdf_p', 'GET', null)", "ctrl": true, "key": "P", "keycode": 80, "shift": false }, { "alt": false, "ba": "Lino.row_action_handler('do_print', 'GET', null)", "ctrl": true, "key": "P", "keycode": 80, "shift": false } ],
  autoHeight: true,
  content_type: 61,
  initComponent : function() {
    var excerpt_type1398 = new Lino.RemoteComboFieldElement({ "allowBlank": false, "anchor": "-20", "autoHeight": true, "can_create_choice": false, "detail_action": "Lino.excerpts.ExcerptTypes.detail", "emptyText": "Select a Excerpt Type...", "fieldLabel": "<span style=\"border-bottom: 1px dotted #000000;\">Excerpt Type</span>", "hiddenName": "excerpt_typeHidden", "insert_action": "Lino.excerpts.ExcerptTypes.insert", "listeners": { "render": Lino.quicktip_renderer("Excerpt Type","(excerpts.Excerpts.excerpt_type) The type of this excerpt (ForeignKey to ExcerptType).") }, "name": "excerpt_type", "pageSize": 20, "related_actor_id": "excerpts.ExcerptTypes", "selectOnFocus": true, "store": new Lino.ComplexRemoteComboStore({ "proxy": new Ext.data.HttpProxy({ "method": "GET", "url": "/choices/excerpts/Excerpts/excerpt_type" }) }) });
    var company1399 = new Lino.RemoteComboFieldElement({ "allowBlank": true, "anchor": "-20", "autoHeight": true, "detail_action": "Lino.contacts.Companies.detail", "emptyText": "Select a Organization...", "fieldLabel": "<span style=\"border-bottom: 1px dotted #000000;\">Recipient (Organization)</span>", "hiddenName": "companyHidden", "insert_action": "Lino.contacts.Companies.insert", "listeners": { "render": Lino.quicktip_renderer("Recipient (Organization)","(excerpts.Excerpts.company) The optional company of the recipient of this\nexcerpt.  See ContactRelated.company.") }, "name": "company", "pageSize": 20, "preferred_width": 20, "related_actor_id": "contacts.Companies", "selectOnFocus": true, "store": new Lino.ComplexRemoteComboStore({ "proxy": new Ext.data.HttpProxy({ "method": "GET", "url": "/choices/excerpts/Excerpts/company" }) }) });
    var contact_person1400 = new Lino.RemoteComboFieldElement({ "allowBlank": true, "anchor": "-20", "autoHeight": true, "can_create_choice": false, "detail_action": "Lino.contacts.Persons.detail", "emptyText": "Select a Person...", "fieldLabel": "<span style=\"border-bottom: 1px dotted #000000;\">Recipient (Person)</span>", "hiddenName": "contact_personHidden", "insert_action": "Lino.contacts.Persons.insert", "listeners": { "render": Lino.quicktip_renderer("Recipient (Person)","(excerpts.Excerpts.contact_person) The optional contact person of the recipient of this\nexcerpt.  See ContactRelated.contact_person.") }, "name": "contact_person", "pageSize": 20, "preferred_width": 20, "related_actor_id": "contacts.Persons", "selectOnFocus": true, "store": new Lino.ComplexRemoteComboStore({ "proxy": new Ext.data.HttpProxy({ "method": "GET", "url": "/choices/excerpts/Excerpts/contact_person" }) }) });
    var main_2_panel1401 = new Ext.Panel({ "anchor": "-20", "autoHeight": true, "autoScroll": false, "border": false, "frame": false, "hideCheckBoxLabels": true, "items": [ { "autoHeight": true, "flex": 50, "items": company1399, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 50, "items": contact_person1400, "labelAlign": "top", "layout": "form", "xtype": "panel" } ], "labelAlign": "top", "labelWidth": 0, "layout": "hbox", "layoutConfig": { "align": "stretchmax" } });
    var main_panel1404 = new Ext.Panel({ "autoHeight": true, "autoScroll": false, "bodyBorder": false, "border": false, "frame": true, "hideCheckBoxLabels": true, "items": [ { "anchor": "-20", "autoHeight": true, "items": excerpt_type1398, "labelAlign": "top", "layout": "form", "xtype": "panel" }, main_2_panel1401 ], "labelAlign": "top", "labelWidth": 0, "layout": "form" });
    this.items = main_panel1404;
    this.before_row_edit = function(record) {
      excerpt_type1398.setContextValue('owner', record ? record.data['owner'] : undefined);
      contact_person1400.setContextValue('company', record ? record.data['companyHidden'] : undefined);
    }
    this.onRender = function(ct, position) {
      typeof company1399 !== 'undefined' && company1399.on('change',Lino.chooser_handler(contact_person1400,'company'));
      Lino.excerpts.Excerpts.InsertFormPanel.superclass.onRender.call(this, ct, position);
    }
    Lino.excerpts.Excerpts.InsertFormPanel.superclass.initComponent.call(this);
  }
});


Lino.courses.Activities.InsertFormPanel = Ext.extend(Lino.FormPanel,{
cls: "l-InsertFormPanel courses-Activities",
  layout: 'fit',
  auto_save: true,
  actions_hotkeys: [ { "alt": false, "ba": "Lino.row_action_handler('as_pdf_p', 'GET', null)", "ctrl": true, "key": "P", "keycode": 80, "shift": false }, { "alt": false, "ba": "Lino.row_action_handler('print_presence_sheet_html', 'GET', null)", "ctrl": true, "key": "P", "keycode": 80, "shift": false } ],
  autoHeight: true,
  content_type: 51,
  initComponent : function() {
    var line1469 = new Lino.RemoteComboFieldElement({ "allowBlank": false, "anchor": "-20", "autoHeight": true, "detail_action": "Lino.courses.Lines.detail", "emptyText": "Select a Activity line...", "fieldLabel": "Activity line", "hiddenName": "lineHidden", "insert_action": "Lino.courses.Lines.insert", "listeners": { "render": Lino.quicktip_renderer("Activity line","(courses.Activities.line) ") }, "name": "line", "pageSize": 20, "related_actor_id": "courses.Lines", "selectOnFocus": true, "store": new Lino.ComplexRemoteComboStore({ "proxy": new Ext.data.HttpProxy({ "method": "GET", "url": "/choices/courses/Activities/line" }) }) });
    var teacher1470 = new Lino.RemoteComboFieldElement({ "allowBlank": true, "anchor": "-20", "autoHeight": true, "detail_action": "Lino.contacts.Persons.detail", "emptyText": "Select a Person...", "fieldLabel": "Instructor", "hiddenName": "teacherHidden", "insert_action": "Lino.contacts.Persons.insert", "listeners": { "render": Lino.quicktip_renderer("Instructor","(courses.Activities.teacher) ") }, "name": "teacher", "pageSize": 20, "preferred_width": 20, "related_actor_id": "contacts.Persons", "selectOnFocus": true, "store": new Lino.ComplexRemoteComboStore({ "proxy": new Ext.data.HttpProxy({ "method": "GET", "url": "/choices/courses/Activities/teacher" }) }) });
    var main_1_panel1471 = new Ext.Panel({ "anchor": "-20", "autoHeight": true, "autoScroll": false, "border": false, "frame": false, "hideCheckBoxLabels": true, "items": [ { "autoHeight": true, "flex": 50, "items": line1469, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 50, "items": teacher1470, "labelAlign": "top", "layout": "form", "xtype": "panel" } ], "labelAlign": "top", "labelWidth": 0, "layout": "hbox", "layoutConfig": { "align": "stretchmax" } });
    var name1474 = new Ext.form.TextField({ "allowBlank": true, "anchor": "-20", "autoHeight": true, "fieldLabel": "Designation", "listeners": { "render": Lino.quicktip_renderer("Designation","(courses.Activities.name) ") }, "maxLength": 100, "name": "name", "selectOnFocus": true });
    var start_date1475 = new Lino.DateField({ "allowBlank": true, "anchor": "-20", "autoHeight": true, "fieldLabel": "<span style=\"border-bottom: 1px dotted #000000;\">Start date</span>", "listeners": { "render": Lino.quicktip_renderer("Start date","(courses.Activities.start_date) The start date of the first meeting to be generated.") }, "name": "start_date", "selectOnFocus": true });
    var main_2_panel1476 = new Ext.Panel({ "anchor": "-20", "autoHeight": true, "autoScroll": false, "border": false, "frame": false, "hideCheckBoxLabels": true, "items": [ { "autoHeight": true, "flex": 61, "items": name1474, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 38, "items": start_date1475, "labelAlign": "top", "layout": "form", "xtype": "panel" } ], "labelAlign": "top", "labelWidth": 0, "layout": "hbox", "layoutConfig": { "align": "stretchmax" } });
    var main_panel1479 = new Ext.Panel({ "autoHeight": true, "autoScroll": false, "bodyBorder": false, "border": false, "frame": true, "hideCheckBoxLabels": true, "items": [ main_1_panel1471, main_2_panel1476 ], "labelAlign": "top", "layout": "form" });
    this.items = main_panel1479;
    this.before_row_edit = function(record) {
    }
    Lino.courses.Activities.InsertFormPanel.superclass.initComponent.call(this);
  }
});


Lino.addresses.Addresses.InsertFormPanel = Ext.extend(Lino.FormPanel,{
cls: "l-InsertFormPanel addresses-Addresses",
  layout: 'fit',
  auto_save: true,
  actions_hotkeys: [ { "alt": false, "ba": "Lino.row_action_handler('print_labels', 'GET', null)", "ctrl": true, "key": "P", "keycode": 80, "shift": false } ],
  autoHeight: true,
  content_type: 42,
  initComponent : function() {
    var country1480 = new Lino.RemoteComboFieldElement({ "allowBlank": true, "anchor": "-20", "autoHeight": true, "can_create_choice": false, "detail_action": "Lino.countries.Countries.detail", "emptyText": "Select a Country...", "fieldLabel": "Country", "hiddenName": "countryHidden", "insert_action": "Lino.countries.Countries.insert", "listeners": { "render": Lino.quicktip_renderer("Country","(addresses.Addresses.country) ") }, "name": "country", "pageSize": 20, "related_actor_id": "countries.Countries", "selectOnFocus": true, "store": new Lino.ComplexRemoteComboStore({ "proxy": new Ext.data.HttpProxy({ "method": "GET", "url": "/choices/addresses/Addresses/country" }) }) });
    var city1481 = new Lino.RemoteComboFieldElement({ "allowBlank": true, "anchor": "-20", "autoHeight": true, "can_create_choice": true, "detail_action": "Lino.countries.Places.detail", "emptyText": "Select a Place...", "fieldLabel": "<span style=\"border-bottom: 1px dotted #000000;\">Locality</span>", "forceSelection": false, "hiddenName": "cityHidden", "insert_action": "Lino.countries.Places.insert", "listeners": { "render": Lino.quicktip_renderer("Locality","(addresses.Addresses.city) The locality, i.e. usually a village, city or town.") }, "name": "city", "pageSize": 20, "related_actor_id": "countries.Places", "selectOnFocus": true, "store": new Lino.ComplexRemoteComboStore({ "proxy": new Ext.data.HttpProxy({ "method": "GET", "url": "/choices/addresses/Addresses/city" }) }) });
    var main_1_panel1482 = new Ext.Panel({ "anchor": "-20", "autoHeight": true, "autoScroll": false, "border": false, "frame": false, "hideCheckBoxLabels": true, "items": [ { "autoHeight": true, "flex": 50, "items": country1480, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 50, "items": city1481, "labelAlign": "top", "layout": "form", "xtype": "panel" } ], "labelAlign": "top", "labelWidth": 0, "layout": "hbox", "layoutConfig": { "align": "stretchmax" } });
    var street1485 = new Ext.form.TextField({ "allowBlank": true, "anchor": "-20", "autoHeight": true, "fieldLabel": "<span style=\"border-bottom: 1px dotted #000000;\">Street</span>", "listeners": { "render": Lino.quicktip_renderer("Street","(addresses.Addresses.street) Name of street, without house number.") }, "maxLength": 200, "name": "street", "selectOnFocus": true });
    var street_no1486 = new Ext.form.TextField({ "allowBlank": true, "anchor": "-20", "autoHeight": true, "boxMinWidth": Lino.chars2width(10), "fieldLabel": "<span style=\"border-bottom: 1px dotted #000000;\">No.</span>", "listeners": { "render": Lino.quicktip_renderer("No.","(addresses.Addresses.street_no) House number.") }, "maxLength": 10, "name": "street_no", "selectOnFocus": true });
    var street_box1487 = new Ext.form.TextField({ "allowBlank": true, "anchor": "-20", "autoHeight": true, "boxMinWidth": Lino.chars2width(10), "fieldLabel": "<span style=\"border-bottom: 1px dotted #000000;\">Box</span>", "listeners": { "render": Lino.quicktip_renderer("Box","(addresses.Addresses.street_box) Text to print after street number on the same line.") }, "maxLength": 10, "name": "street_box", "selectOnFocus": true });
    var main_2_panel1488 = new Ext.Panel({ "anchor": "-20", "autoHeight": true, "autoScroll": false, "border": false, "frame": false, "hideCheckBoxLabels": true, "items": [ { "autoHeight": true, "flex": 48, "items": street1485, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 25, "items": street_no1486, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 25, "items": street_box1487, "labelAlign": "top", "layout": "form", "xtype": "panel" } ], "labelAlign": "top", "labelWidth": 0, "layout": "hbox", "layoutConfig": { "align": "stretchmax" } });
    var address_type1492 = new Lino.ChoicesFieldElement({ "allowBlank": false, "anchor": "-20", "autoHeight": true, "fieldLabel": "<span style=\"border-bottom: 1px dotted #000000;\">Address type</span>", "forceSelection": true, "hiddenName": "address_typeHidden", "listeners": { "render": Lino.quicktip_renderer("Address type","(addresses.Addresses.address_type) The type of this address record.\nA pointer to AddressTypes.\nThe default value is AddressTypes.official.") }, "name": "address_type", "selectOnFocus": true, "store": Lino.addresses.AddressTypes });
    var remark1493 = new Ext.form.TextField({ "allowBlank": true, "anchor": "-20", "autoHeight": true, "fieldLabel": "Remark", "listeners": { "render": Lino.quicktip_renderer("Remark","(addresses.Addresses.remark) ") }, "maxLength": 50, "name": "remark", "selectOnFocus": true });
    var main_3_panel1494 = new Ext.Panel({ "anchor": "-20", "autoHeight": true, "autoScroll": false, "border": false, "frame": false, "hideCheckBoxLabels": true, "items": [ { "autoHeight": true, "flex": 50, "items": address_type1492, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 50, "items": remark1493, "labelAlign": "top", "layout": "form", "xtype": "panel" } ], "labelAlign": "top", "labelWidth": 0, "layout": "hbox", "layoutConfig": { "align": "stretchmax" } });
    var main_panel1497 = new Ext.Panel({ "autoHeight": true, "autoScroll": false, "bodyBorder": false, "border": false, "frame": true, "hideCheckBoxLabels": true, "items": [ main_1_panel1482, main_2_panel1488, main_3_panel1494 ], "labelAlign": "top", "layout": "form" });
    this.items = main_panel1497;
    this.before_row_edit = function(record) {
      city1481.setContextValue('country', record ? record.data['countryHidden'] : undefined);
      city1481.setContextValue('region', record ? record.data['regionHidden'] : undefined);
    }
    this.onRender = function(ct, position) {
      typeof country1480 !== 'undefined' && country1480.on('change',Lino.chooser_handler(city1481,'country'));
      Lino.addresses.Addresses.InsertFormPanel.superclass.onRender.call(this, ct, position);
    }
    Lino.addresses.Addresses.InsertFormPanel.superclass.initComponent.call(this);
  }
});


Lino.courses.Activities.DetailFormPanel = Ext.extend(Lino.FormPanel,{
cls: "l-DetailFormPanel courses-Activities",
  layout: 'fit',
  auto_save: true,
  actions_hotkeys: [ { "alt": false, "ba": "Lino.row_action_handler('as_pdf_p', 'GET', null)", "ctrl": true, "key": "P", "keycode": 80, "shift": false }, { "alt": false, "ba": "Lino.row_action_handler('print_presence_sheet_html', 'GET', null)", "ctrl": true, "key": "P", "keycode": 80, "shift": false } ],
  content_type: 51,
  initComponent : function() {
    var line1498 = new Lino.RemoteComboFieldElement({ "allowBlank": false, "anchor": "-20", "autoHeight": true, "detail_action": "Lino.courses.Lines.detail", "emptyText": "Select a Activity line...", "fieldLabel": "Activity line", "hiddenName": "lineHidden", "insert_action": "Lino.courses.Lines.insert", "listeners": { "render": Lino.quicktip_renderer("Activity line","(courses.Activities.line) ") }, "name": "line", "pageSize": 20, "related_actor_id": "courses.Lines", "selectOnFocus": true, "store": new Lino.ComplexRemoteComboStore({ "proxy": new Ext.data.HttpProxy({ "method": "GET", "url": "/choices/courses/Activities/line" }) }) });
    var teacher1499 = new Lino.RemoteComboFieldElement({ "allowBlank": true, "anchor": "-20", "autoHeight": true, "detail_action": "Lino.contacts.Persons.detail", "emptyText": "Select a Person...", "fieldLabel": "Instructor", "hiddenName": "teacherHidden", "insert_action": "Lino.contacts.Persons.insert", "listeners": { "render": Lino.quicktip_renderer("Instructor","(courses.Activities.teacher) ") }, "name": "teacher", "pageSize": 20, "preferred_width": 20, "related_actor_id": "contacts.Persons", "selectOnFocus": true, "store": new Lino.ComplexRemoteComboStore({ "proxy": new Ext.data.HttpProxy({ "method": "GET", "url": "/choices/courses/Activities/teacher" }) }) });
    var start_date1500 = new Lino.DateField({ "allowBlank": true, "anchor": "-20", "autoHeight": true, "fieldLabel": "<span style=\"border-bottom: 1px dotted #000000;\">Start date</span>", "listeners": { "render": Lino.quicktip_renderer("Start date","(courses.Activities.start_date) The start date of the first meeting to be generated.") }, "name": "start_date", "selectOnFocus": true });
    var start_time1501 = new Lino.TimeField({ "allowBlank": true, "anchor": "-20", "autoHeight": true, "fieldLabel": "Start time", "listeners": { "render": Lino.quicktip_renderer("Start time","(courses.Activities.start_time) ") }, "maxValue": "9:00 PM", "minValue": "7:00", "name": "start_time", "selectOnFocus": true });
    var end_time1502 = new Lino.TimeField({ "allowBlank": true, "anchor": "-20", "autoHeight": true, "fieldLabel": "End Time", "listeners": { "render": Lino.quicktip_renderer("End Time","(courses.Activities.end_time) ") }, "maxValue": "9:00 PM", "minValue": "7:00", "name": "end_time", "selectOnFocus": true });
    var end_date1503 = new Lino.DateField({ "allowBlank": true, "anchor": "-20", "autoHeight": true, "fieldLabel": "<span style=\"border-bottom: 1px dotted #000000;\">End Date</span>", "listeners": { "render": Lino.quicktip_renderer("End Date","(courses.Activities.end_date) The end date of the first meeting to be generated.  Leave\nthis field empty if the meetings last less than one day.") }, "name": "end_date", "selectOnFocus": true });
    var general_1_panel1504 = new Ext.Panel({ "autoHeight": true, "autoScroll": false, "border": false, "frame": false, "hideCheckBoxLabels": true, "items": [ { "autoHeight": true, "flex": 24, "items": line1498, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 24, "items": teacher1499, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 15, "items": start_date1500, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 9, "items": start_time1501, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 9, "items": end_time1502, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 15, "items": end_date1503, "labelAlign": "top", "layout": "form", "xtype": "panel" } ], "labelAlign": "top", "labelWidth": 0, "layout": "hbox", "layoutConfig": { "align": "stretchmax" } });
    var room1511 = new Lino.RemoteComboFieldElement({ "allowBlank": true, "anchor": "-20", "autoHeight": true, "detail_action": "Lino.cal.Rooms.detail", "emptyText": "Select a Room...", "fieldLabel": "Room", "hiddenName": "roomHidden", "insert_action": "Lino.cal.Rooms.insert", "listeners": { "render": Lino.quicktip_renderer("Room","(courses.Activities.room) ") }, "name": "room", "pageSize": 20, "related_actor_id": "cal.Rooms", "selectOnFocus": true, "store": new Lino.ComplexRemoteComboStore({ "proxy": new Ext.data.HttpProxy({ "method": "GET", "url": "/choices/courses/Activities/room" }) }) });
    var workflow_buttons_disp1512 = new Ext.form.DisplayField({ "always_enabled": true, "anchor": "-20", "autoHeight": true, "disabled": true, "fieldLabel": "<span style=\"border-bottom: 1px dotted #000000;\">Workflow</span>", "listeners": { "render": Lino.quicktip_renderer("Workflow","(courses.Activities.workflow_buttons) List of actions that change the workflow state of this object.") }, "name": "workflow_buttons", "value": "<br/>" });
    var id1513 = new Ext.form.NumberField({ "allowBlank": true, "anchor": "-20", "autoHeight": true, "fieldLabel": "ID", "listeners": { "render": Lino.quicktip_renderer("ID","(courses.Activities.id) ") }, "name": "id", "selectOnFocus": true });
    var user1514 = new Lino.RemoteComboFieldElement({ "allowBlank": true, "anchor": "-20", "autoHeight": true, "detail_action": "Lino.users.AllUsers.detail", "emptyText": "Select a User...", "fieldLabel": "<span style=\"border-bottom: 1px dotted #000000;\">Author</span>", "hiddenName": "userHidden", "insert_action": "Lino.users.AllUsers.insert", "listeners": { "render": Lino.quicktip_renderer("Author","(courses.Activities.user) The author of this object.\nA pointer to lino.modlib.users.models.User.") }, "name": "user", "pageSize": 20, "preferred_width": 15, "related_actor_id": "users.AllUsers", "selectOnFocus": true, "store": new Lino.ComplexRemoteComboStore({ "proxy": new Ext.data.HttpProxy({ "method": "GET", "url": "/choices/courses/Activities/user" }) }) });
    var general_2_panel1515 = new Ext.Panel({ "autoHeight": true, "autoScroll": false, "border": false, "frame": false, "hideCheckBoxLabels": true, "items": [ { "autoHeight": true, "flex": 25, "items": room1511, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 38, "items": workflow_buttons_disp1512, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 10, "items": id1513, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 25, "items": user1514, "labelAlign": "top", "layout": "form", "xtype": "panel" } ], "labelAlign": "top", "labelWidth": 0, "layout": "hbox", "layoutConfig": { "align": "stretchmax" } });
    var name1520 = new Ext.form.TextField({ "allowBlank": true, "anchor": "-20", "autoHeight": true, "fieldLabel": "Designation", "listeners": { "render": Lino.quicktip_renderer("Designation","(courses.Activities.name) ") }, "maxLength": 100, "name": "name", "selectOnFocus": true });
    var description1521 = new Lino.RichTextPanel({ "allowBlank": true, "containing_panel": this, "fieldLabel": "Description", "flex": 33, "name": "description", "selectOnFocus": true, "title": "Description" });
    var description_de1522 = new Lino.RichTextPanel({ "allowBlank": true, "containing_panel": this, "fieldLabel": "Description (de)", "flex": 33, "name": "description_de", "selectOnFocus": true, "title": "Description (de)" });
    var description_fr1523 = new Lino.RichTextPanel({ "allowBlank": true, "containing_panel": this, "fieldLabel": "Description (fr)", "flex": 33, "name": "description_fr", "selectOnFocus": true, "title": "Description (fr)" });
    var general_4_panel1524 = new Ext.Panel({ "autoScroll": false, "border": false, "flex": 50, "frame": false, "hideCheckBoxLabels": true, "items": [ description1521, description_de1522, description_fr1523 ], "labelAlign": "top", "labelWidth": 153, "layout": "hbox", "layoutConfig": { "align": "stretch" } });
    var general_panel1525 = new Ext.Panel({ "autoScroll": false, "bodyBorder": false, "border": false, "frame": true, "hideCheckBoxLabels": true, "items": [ general_1_panel1504, general_2_panel1515, { "autoHeight": true, "items": name1520, "labelAlign": "top", "layout": "form", "xtype": "panel" }, general_4_panel1524 ], "labelAlign": "top", "labelWidth": 0, "layout": "vbox", "layoutConfig": { "align": "stretch" }, "listeners": { "activate": Lino.on_tab_activate }, "title": "General" });
    var max_events1527 = new Ext.form.NumberField({ "allowBlank": true, "anchor": "-20", "autoHeight": true, "fieldLabel": "<span style=\"border-bottom: 1px dotted #000000;\">Number of events</span>", "listeners": { "render": Lino.quicktip_renderer("Number of events","(courses.Activities.max_events) Maximum number of calendar entries to generate.") }, "name": "max_events", "selectOnFocus": true });
    var max_date1528 = new Lino.DateField({ "allowBlank": true, "anchor": "-20", "autoHeight": true, "fieldLabel": "<span style=\"border-bottom: 1px dotted #000000;\">Generate events until</span>", "listeners": { "render": Lino.quicktip_renderer("Generate events until","(courses.Activities.max_date) Don't generate meeting having their start date beyond this\ndate.") }, "name": "max_date", "selectOnFocus": true });
    var every_unit1529 = new Lino.ChoicesFieldElement({ "allowBlank": true, "anchor": "-20", "autoHeight": true, "fieldLabel": "<span style=\"border-bottom: 1px dotted #000000;\">Recurrency</span>", "forceSelection": true, "hiddenName": "every_unitHidden", "listeners": { "render": Lino.quicktip_renderer("Recurrency","(courses.Activities.every_unit) The interval between each periodic iteration.") }, "name": "every_unit", "selectOnFocus": true, "store": [['','<br>']].concat(Lino.cal.Recurrencies) });
    var every1530 = new Ext.form.NumberField({ "allowBlank": false, "anchor": "-20", "autoHeight": true, "fieldLabel": "<span style=\"border-bottom: 1px dotted #000000;\">Repeat every</span>", "listeners": { "render": Lino.quicktip_renderer("Repeat every","(courses.Activities.every) The frequency of periodic iteration: daily, weekly, monthly or yearly.") }, "name": "every", "selectOnFocus": true });
    var positions1531 = new Ext.form.TextField({ "allowBlank": true, "anchor": "-20", "autoHeight": true, "fieldLabel": "<span style=\"border-bottom: 1px dotted #000000;\">Positions</span>", "listeners": { "render": Lino.quicktip_renderer("Positions","(courses.Activities.positions) Space-separated list of one or several positions within the recurrency\ncycle.") }, "maxLength": 50, "name": "positions", "selectOnFocus": true });
    var cal_tab_1_panel1532 = new Ext.Panel({ "autoHeight": true, "autoScroll": false, "border": false, "frame": false, "hideCheckBoxLabels": true, "items": [ { "autoHeight": true, "flex": 7, "items": max_events1527, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 20, "items": max_date1528, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 32, "items": every_unit1529, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 7, "items": every1530, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 32, "items": positions1531, "labelAlign": "top", "layout": "form", "xtype": "panel" } ], "labelAlign": "top", "labelWidth": 0, "layout": "hbox", "layoutConfig": { "align": "stretchmax" } });
    var monday1538 = new Ext.form.Checkbox({ "allowBlank": false, "anchor": "-20", "autoHeight": true, "boxLabel": "Monday", "checked": false, "hideLabel": true, "listeners": { "render": Lino.quicktip_renderer("Monday","(courses.Activities.monday) ") }, "name": "monday", "selectOnFocus": true });
    var tuesday1539 = new Ext.form.Checkbox({ "allowBlank": false, "anchor": "-20", "autoHeight": true, "boxLabel": "Tuesday", "checked": false, "hideLabel": true, "listeners": { "render": Lino.quicktip_renderer("Tuesday","(courses.Activities.tuesday) ") }, "name": "tuesday", "selectOnFocus": true });
    var wednesday1540 = new Ext.form.Checkbox({ "allowBlank": false, "anchor": "-20", "autoHeight": true, "boxLabel": "Wednesday", "checked": false, "hideLabel": true, "listeners": { "render": Lino.quicktip_renderer("Wednesday","(courses.Activities.wednesday) ") }, "name": "wednesday", "selectOnFocus": true });
    var thursday1541 = new Ext.form.Checkbox({ "allowBlank": false, "anchor": "-20", "autoHeight": true, "boxLabel": "Thursday", "checked": false, "hideLabel": true, "listeners": { "render": Lino.quicktip_renderer("Thursday","(courses.Activities.thursday) ") }, "name": "thursday", "selectOnFocus": true });
    var friday1542 = new Ext.form.Checkbox({ "allowBlank": false, "anchor": "-20", "autoHeight": true, "boxLabel": "Friday", "checked": false, "hideLabel": true, "listeners": { "render": Lino.quicktip_renderer("Friday","(courses.Activities.friday) ") }, "name": "friday", "selectOnFocus": true });
    var saturday1543 = new Ext.form.Checkbox({ "allowBlank": false, "anchor": "-20", "autoHeight": true, "boxLabel": "Saturday", "checked": false, "hideLabel": true, "listeners": { "render": Lino.quicktip_renderer("Saturday","(courses.Activities.saturday) ") }, "name": "saturday", "selectOnFocus": true });
    var sunday1544 = new Ext.form.Checkbox({ "allowBlank": false, "anchor": "-20", "autoHeight": true, "boxLabel": "Sunday", "checked": false, "hideLabel": true, "listeners": { "render": Lino.quicktip_renderer("Sunday","(courses.Activities.sunday) ") }, "name": "sunday", "selectOnFocus": true });
    var cal_tab_2_panel1545 = new Ext.Panel({ "autoHeight": true, "autoScroll": false, "border": false, "frame": false, "hideCheckBoxLabels": true, "items": [ { "autoHeight": true, "flex": 14, "items": monday1538, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 14, "items": tuesday1539, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 14, "items": wednesday1540, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 14, "items": thursday1541, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 14, "items": friday1542, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 14, "items": saturday1543, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 14, "items": sunday1544, "labelAlign": "top", "layout": "form", "xtype": "panel" } ], "labelAlign": "top", "labelWidth": 0, "layout": "hbox", "layoutConfig": { "align": "stretchmax" } });
    var cal_tab_panel1554 = new Ext.Panel({ "autoScroll": false, "bodyBorder": false, "border": false, "frame": true, "hideCheckBoxLabels": true, "items": [ cal_tab_1_panel1532, cal_tab_2_panel1545 ], "labelAlign": "top", "labelWidth": 153, "layout": "vbox", "layoutConfig": { "align": "stretch" }, "listeners": { "activate": Lino.on_tab_activate }, "title": "Calendar" });
    var enrolments_until1555 = new Lino.DateField({ "allowBlank": true, "anchor": "-20", "autoHeight": true, "fieldLabel": "<span style=\"border-bottom: 1px dotted #000000;\">Enrolments until</span>", "listeners": { "render": Lino.quicktip_renderer("Enrolments until","(courses.Activities.enrolments_until) Until when new enrolments are accepted.") }, "name": "enrolments_until", "selectOnFocus": true });
    var max_places1556 = new Ext.form.NumberField({ "allowBlank": true, "anchor": "-20", "autoHeight": true, "fieldLabel": "<span style=\"border-bottom: 1px dotted #000000;\">Available places</span>", "listeners": { "render": Lino.quicktip_renderer("Available places","(courses.Activities.max_places) Available places. The maximum number of participants to allow\nin this activity.") }, "name": "max_places", "selectOnFocus": true });
    var confirmed1557 = new Ext.form.NumberField({ "anchor": "-20", "autoHeight": true, "disabled": true, "fieldLabel": "<span style=\"border-bottom: 1px dotted #000000;\">Confirmed</span>", "listeners": { "render": Lino.quicktip_renderer("Confirmed","(courses.Activities.confirmed) Number of confirmed places.") }, "name": "confirmed" });
    var free_places1558 = new Ext.form.NumberField({ "anchor": "-20", "autoHeight": true, "disabled": true, "fieldLabel": "<span style=\"border-bottom: 1px dotted #000000;\">Free places</span>", "listeners": { "render": Lino.quicktip_renderer("Free places","(courses.Activities.free_places) Number of free places.") }, "name": "free_places" });
    var print_actions_disp1559 = new Ext.form.DisplayField({ "always_enabled": true, "anchor": "-20", "autoHeight": true, "disabled": true, "fieldLabel": "Print", "listeners": { "render": Lino.quicktip_renderer("Print","(courses.Activities.print_actions) ") }, "name": "print_actions", "value": "<br/>" });
    var enrolments_top_panel1560 = new Ext.Panel({ "autoHeight": true, "autoScroll": false, "border": false, "frame": false, "hideCheckBoxLabels": true, "items": [ { "autoHeight": true, "flex": 24, "items": enrolments_until1555, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 18, "items": max_places1556, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 9, "items": confirmed1557, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 18, "items": free_places1558, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 28, "items": print_actions_disp1559, "labelAlign": "top", "layout": "form", "xtype": "panel" } ], "labelAlign": "top", "labelWidth": 0, "layout": "hbox", "layoutConfig": { "align": "stretchmax" } });
    var enrolments_panel1567 = new Ext.Panel({ "autoScroll": false, "bodyBorder": false, "border": false, "frame": true, "hideCheckBoxLabels": true, "items": [ enrolments_top_panel1560 ], "labelAlign": "top", "labelWidth": 99, "layout": "vbox", "layoutConfig": { "align": "stretch" }, "listeners": { "activate": Lino.on_tab_activate }, "title": "Enrolments" });
    var main_panel1568 = new Ext.TabPanel({ "activeTab": 0, "autoScroll": false, "bodyBorder": false, "border": false, "enableTabScroll": true, "frame": true, "hideCheckBoxLabels": true, "items": [ general_panel1525, cal_tab_panel1554, enrolments_panel1567 ], "labelAlign": "top", "split": true });
    this.items = main_panel1568;
    this.before_row_edit = function(record) {
      description1521.refresh();
      description_de1522.refresh();
      description_fr1523.refresh();
    }
    Lino.courses.Activities.DetailFormPanel.superclass.initComponent.call(this);
  }
});


Lino.countries.Places.InsertFormPanel = Ext.extend(Lino.FormPanel,{
cls: "l-InsertFormPanel countries-Places",
  layout: 'fit',
  auto_save: true,
  actions_hotkeys: [ { "alt": false, "ba": "Lino.row_action_handler('as_pdf_p', 'GET', null)", "ctrl": true, "key": "P", "keycode": 80, "shift": false } ],
  autoHeight: true,
  content_type: 5,
  initComponent : function() {
    var name1569 = new Ext.form.TextField({ "allowBlank": false, "anchor": "-20", "autoHeight": true, "fieldLabel": "Designation", "listeners": { "render": Lino.quicktip_renderer("Designation","(countries.Places.name) ") }, "maxLength": 200, "name": "name", "selectOnFocus": true });
    var name_de1570 = new Ext.form.TextField({ "allowBlank": true, "anchor": "-20", "autoHeight": true, "fieldLabel": "Designation (de)", "listeners": { "render": Lino.quicktip_renderer("Designation (de)","(countries.Places.name_de) ") }, "maxLength": 200, "name": "name_de", "selectOnFocus": true });
    var name_fr1571 = new Ext.form.TextField({ "allowBlank": true, "anchor": "-20", "autoHeight": true, "fieldLabel": "Designation (fr)", "listeners": { "render": Lino.quicktip_renderer("Designation (fr)","(countries.Places.name_fr) ") }, "maxLength": 200, "name": "name_fr", "selectOnFocus": true });
    var main_1_panel1572 = new Ext.Panel({ "anchor": "-20", "autoHeight": true, "autoScroll": false, "border": false, "frame": false, "hideCheckBoxLabels": true, "items": [ { "autoHeight": true, "flex": 33, "items": name1569, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 33, "items": name_de1570, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 33, "items": name_fr1571, "labelAlign": "top", "layout": "form", "xtype": "panel" } ], "labelAlign": "top", "labelWidth": 0, "layout": "hbox", "layoutConfig": { "align": "stretchmax" } });
    var country1576 = new Lino.RemoteComboFieldElement({ "allowBlank": false, "anchor": "-20", "autoHeight": true, "detail_action": "Lino.countries.Countries.detail", "emptyText": "Select a Country...", "fieldLabel": "<span style=\"border-bottom: 1px dotted #000000;\">Country</span>", "hiddenName": "countryHidden", "insert_action": "Lino.countries.Countries.insert", "listeners": { "render": Lino.quicktip_renderer("Country","(countries.Places.country) The country this place is in.") }, "name": "country", "pageSize": 20, "related_actor_id": "countries.Countries", "selectOnFocus": true, "store": new Lino.ComplexRemoteComboStore({ "proxy": new Ext.data.HttpProxy({ "method": "GET", "url": "/choices/countries/Places/country" }) }) });
    var zip_code1577 = new Ext.form.TextField({ "allowBlank": true, "anchor": "-20", "autoHeight": true, "boxMinWidth": Lino.chars2width(8), "fieldLabel": "zip code", "listeners": { "render": Lino.quicktip_renderer("zip code","(countries.Places.zip_code) ") }, "maxLength": 8, "name": "zip_code", "selectOnFocus": true });
    var type1578 = new Lino.RemoteComboFieldElement({ "allowBlank": true, "anchor": "-20", "autoHeight": true, "can_create_choice": false, "fieldLabel": "<span style=\"border-bottom: 1px dotted #000000;\">Place Type</span>", "hiddenName": "typeHidden", "listeners": { "render": Lino.quicktip_renderer("Place Type","(countries.Places.type) The type of this place (whether it's a city. a village, a province...)") }, "name": "type", "selectOnFocus": true, "store": new Lino.ComplexRemoteComboStore({ "proxy": new Ext.data.HttpProxy({ "method": "GET", "url": "/choices/countries/Places/type" }) }) });
    var main_3_panel1579 = new Ext.Panel({ "anchor": "-20", "autoHeight": true, "autoScroll": false, "border": false, "frame": false, "hideCheckBoxLabels": true, "items": [ { "autoHeight": true, "flex": 47, "items": zip_code1577, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 52, "items": type1578, "labelAlign": "top", "layout": "form", "xtype": "panel" } ], "labelAlign": "top", "labelWidth": 0, "layout": "hbox", "layoutConfig": { "align": "stretchmax" } });
    var parent1582 = new Lino.RemoteComboFieldElement({ "allowBlank": true, "anchor": "-20", "autoHeight": true, "detail_action": "Lino.countries.Places.detail", "emptyText": "Select a Place...", "fieldLabel": "<span style=\"border-bottom: 1px dotted #000000;\">Part of</span>", "hiddenName": "parentHidden", "insert_action": "Lino.countries.Places.insert", "listeners": { "render": Lino.quicktip_renderer("Part of","(countries.Places.parent) The superordinate geographic place of which this place is a part.") }, "name": "parent", "pageSize": 20, "related_actor_id": "countries.Places", "selectOnFocus": true, "store": new Lino.ComplexRemoteComboStore({ "proxy": new Ext.data.HttpProxy({ "method": "GET", "url": "/choices/countries/Places/parent" }) }) });
    var main_panel1583 = new Ext.Panel({ "autoHeight": true, "autoScroll": false, "bodyBorder": false, "border": false, "frame": true, "hideCheckBoxLabels": true, "items": [ main_1_panel1572, { "anchor": "-20", "autoHeight": true, "items": country1576, "labelAlign": "top", "layout": "form", "xtype": "panel" }, main_3_panel1579, { "anchor": "-20", "autoHeight": true, "items": parent1582, "labelAlign": "top", "layout": "form", "xtype": "panel" } ], "labelAlign": "top", "labelWidth": 0, "layout": "form" });
    this.items = main_panel1583;
    this.before_row_edit = function(record) {
      type1578.setContextValue('country', record ? record.data['countryHidden'] : undefined);
    }
    this.onRender = function(ct, position) {
      typeof country1576 !== 'undefined' && country1576.on('change',Lino.chooser_handler(type1578,'country'));
      Lino.countries.Places.InsertFormPanel.superclass.onRender.call(this, ct, position);
    }
    Lino.countries.Places.InsertFormPanel.superclass.initComponent.call(this);
  }
});


Lino.courses.Slots.DetailFormPanel = Ext.extend(Lino.FormPanel,{
cls: "l-DetailFormPanel courses-Slots",
  layout: 'fit',
  auto_save: true,
  actions_hotkeys: [ { "alt": false, "ba": "Lino.row_action_handler('as_pdf_p', 'GET', null)", "ctrl": true, "key": "P", "keycode": 80, "shift": false } ],
  content_type: 48,
  initComponent : function() {
    var name1586 = new Ext.form.TextField({ "allowBlank": true, "anchor": "-20", "autoHeight": true, "fieldLabel": "Name", "listeners": { "render": Lino.quicktip_renderer("Name","(courses.Slots.name) ") }, "maxLength": 200, "name": "name", "selectOnFocus": true });
    var start_time1587 = new Lino.TimeField({ "allowBlank": true, "anchor": "-20", "autoHeight": true, "fieldLabel": "Start Time", "listeners": { "render": Lino.quicktip_renderer("Start Time","(courses.Slots.start_time) ") }, "maxValue": "9:00 PM", "minValue": "7:00", "name": "start_time", "selectOnFocus": true });
    var end_time1588 = new Lino.TimeField({ "allowBlank": true, "anchor": "-20", "autoHeight": true, "fieldLabel": "End Time", "listeners": { "render": Lino.quicktip_renderer("End Time","(courses.Slots.end_time) ") }, "maxValue": "9:00 PM", "minValue": "7:00", "name": "end_time", "selectOnFocus": true });
    var main_1_panel1589 = new Ext.Panel({ "autoHeight": true, "autoScroll": false, "border": false, "frame": false, "hideCheckBoxLabels": true, "items": [ { "autoHeight": true, "flex": 56, "items": name1586, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 21, "items": start_time1587, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 21, "items": end_time1588, "labelAlign": "top", "layout": "form", "xtype": "panel" } ], "labelAlign": "top", "labelWidth": 0, "layout": "hbox", "layoutConfig": { "align": "stretchmax" } });
    var main_panel1628 = new Ext.Panel({ "autoScroll": false, "bodyBorder": false, "border": false, "frame": true, "hideCheckBoxLabels": true, "items": [ main_1_panel1589 ], "labelAlign": "top", "layout": "vbox", "layoutConfig": { "align": "stretch" } });
    this.items = main_panel1628;
    this.before_row_edit = function(record) {
    }
    Lino.courses.Slots.DetailFormPanel.superclass.initComponent.call(this);
  }
});


Lino.countries.Places.DetailFormPanel = Ext.extend(Lino.FormPanel,{
cls: "l-DetailFormPanel countries-Places",
  layout: 'fit',
  auto_save: true,
  actions_hotkeys: [ { "alt": false, "ba": "Lino.row_action_handler('as_pdf_p', 'GET', null)", "ctrl": true, "key": "P", "keycode": 80, "shift": false } ],
  content_type: 5,
  initComponent : function() {
    var name1629 = new Ext.form.TextField({ "allowBlank": false, "anchor": "-20", "autoHeight": true, "fieldLabel": "Designation", "listeners": { "render": Lino.quicktip_renderer("Designation","(countries.Places.name) ") }, "maxLength": 200, "name": "name", "selectOnFocus": true });
    var name_de1630 = new Ext.form.TextField({ "allowBlank": true, "anchor": "-20", "autoHeight": true, "fieldLabel": "Designation (de)", "listeners": { "render": Lino.quicktip_renderer("Designation (de)","(countries.Places.name_de) ") }, "maxLength": 200, "name": "name_de", "selectOnFocus": true });
    var name_fr1631 = new Ext.form.TextField({ "allowBlank": true, "anchor": "-20", "autoHeight": true, "fieldLabel": "Designation (fr)", "listeners": { "render": Lino.quicktip_renderer("Designation (fr)","(countries.Places.name_fr) ") }, "maxLength": 200, "name": "name_fr", "selectOnFocus": true });
    var country1632 = new Lino.RemoteComboFieldElement({ "allowBlank": false, "anchor": "-20", "autoHeight": true, "detail_action": "Lino.countries.Countries.detail", "emptyText": "Select a Country...", "fieldLabel": "<span style=\"border-bottom: 1px dotted #000000;\">Country</span>", "hiddenName": "countryHidden", "insert_action": "Lino.countries.Countries.insert", "listeners": { "render": Lino.quicktip_renderer("Country","(countries.Places.country) The country this place is in.") }, "name": "country", "pageSize": 20, "related_actor_id": "countries.Countries", "selectOnFocus": true, "store": new Lino.ComplexRemoteComboStore({ "proxy": new Ext.data.HttpProxy({ "method": "GET", "url": "/choices/countries/Places/country" }) }) });
    var main_1_panel1633 = new Ext.Panel({ "autoHeight": true, "autoScroll": false, "border": false, "frame": false, "hideCheckBoxLabels": true, "items": [ { "autoHeight": true, "flex": 25, "items": name1629, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 25, "items": name_de1630, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 25, "items": name_fr1631, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 24, "items": country1632, "labelAlign": "top", "layout": "form", "xtype": "panel" } ], "labelAlign": "top", "labelWidth": 0, "layout": "hbox", "layoutConfig": { "align": "stretchmax" } });
    var type1638 = new Lino.RemoteComboFieldElement({ "allowBlank": true, "anchor": "-20", "autoHeight": true, "can_create_choice": false, "fieldLabel": "<span style=\"border-bottom: 1px dotted #000000;\">Place Type</span>", "hiddenName": "typeHidden", "listeners": { "render": Lino.quicktip_renderer("Place Type","(countries.Places.type) The type of this place (whether it's a city. a village, a province...)") }, "name": "type", "selectOnFocus": true, "store": new Lino.ComplexRemoteComboStore({ "proxy": new Ext.data.HttpProxy({ "method": "GET", "url": "/choices/countries/Places/type" }) }) });
    var parent1639 = new Lino.RemoteComboFieldElement({ "allowBlank": true, "anchor": "-20", "autoHeight": true, "detail_action": "Lino.countries.Places.detail", "emptyText": "Select a Place...", "fieldLabel": "<span style=\"border-bottom: 1px dotted #000000;\">Part of</span>", "hiddenName": "parentHidden", "insert_action": "Lino.countries.Places.insert", "listeners": { "render": Lino.quicktip_renderer("Part of","(countries.Places.parent) The superordinate geographic place of which this place is a part.") }, "name": "parent", "pageSize": 20, "related_actor_id": "countries.Places", "selectOnFocus": true, "store": new Lino.ComplexRemoteComboStore({ "proxy": new Ext.data.HttpProxy({ "method": "GET", "url": "/choices/countries/Places/parent" }) }) });
    var zip_code1640 = new Ext.form.TextField({ "allowBlank": true, "anchor": "-20", "autoHeight": true, "boxMinWidth": Lino.chars2width(8), "fieldLabel": "zip code", "listeners": { "render": Lino.quicktip_renderer("zip code","(countries.Places.zip_code) ") }, "maxLength": 8, "name": "zip_code", "selectOnFocus": true });
    var id1641 = new Ext.form.NumberField({ "allowBlank": true, "anchor": "-20", "autoHeight": true, "fieldLabel": "ID", "listeners": { "render": Lino.quicktip_renderer("ID","(countries.Places.id) ") }, "name": "id", "selectOnFocus": true });
    var main_2_panel1642 = new Ext.Panel({ "autoHeight": true, "autoScroll": false, "border": false, "frame": false, "hideCheckBoxLabels": true, "items": [ { "autoHeight": true, "flex": 22, "items": type1638, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 45, "items": parent1639, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 20, "items": zip_code1640, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 11, "items": id1641, "labelAlign": "top", "layout": "form", "xtype": "panel" } ], "labelAlign": "top", "labelWidth": 0, "layout": "hbox", "layoutConfig": { "align": "stretchmax" } });
    var main_panel1761 = new Ext.Panel({ "autoScroll": false, "bodyBorder": false, "border": false, "frame": true, "hideCheckBoxLabels": true, "items": [ main_1_panel1633, main_2_panel1642 ], "labelAlign": "top", "layout": "vbox", "layoutConfig": { "align": "stretch" } });
    this.items = main_panel1761;
    this.before_row_edit = function(record) {
      type1638.setContextValue('country', record ? record.data['countryHidden'] : undefined);
    }
    this.onRender = function(ct, position) {
      typeof country1632 !== 'undefined' && country1632.on('change',Lino.chooser_handler(type1638,'country'));
      Lino.countries.Places.DetailFormPanel.superclass.onRender.call(this, ct, position);
    }
    Lino.countries.Places.DetailFormPanel.superclass.initComponent.call(this);
  }
});


Lino.courses.Slots.InsertFormPanel = Ext.extend(Lino.FormPanel,{
cls: "l-InsertFormPanel courses-Slots",
  layout: 'fit',
  auto_save: true,
  actions_hotkeys: [ { "alt": false, "ba": "Lino.row_action_handler('as_pdf_p', 'GET', null)", "ctrl": true, "key": "P", "keycode": 80, "shift": false } ],
  autoHeight: true,
  content_type: 48,
  initComponent : function() {
    var start_time1762 = new Lino.TimeField({ "allowBlank": true, "anchor": "-20", "autoHeight": true, "fieldLabel": "Start Time", "listeners": { "render": Lino.quicktip_renderer("Start Time","(courses.Slots.start_time) ") }, "maxValue": "9:00 PM", "minValue": "7:00", "name": "start_time", "selectOnFocus": true });
    var end_time1763 = new Lino.TimeField({ "allowBlank": true, "anchor": "-20", "autoHeight": true, "fieldLabel": "End Time", "listeners": { "render": Lino.quicktip_renderer("End Time","(courses.Slots.end_time) ") }, "maxValue": "9:00 PM", "minValue": "7:00", "name": "end_time", "selectOnFocus": true });
    var main_1_panel1764 = new Ext.Panel({ "anchor": "-20", "autoHeight": true, "autoScroll": false, "border": false, "frame": false, "hideCheckBoxLabels": true, "items": [ { "autoHeight": true, "flex": 50, "items": start_time1762, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 50, "items": end_time1763, "labelAlign": "top", "layout": "form", "xtype": "panel" } ], "labelAlign": "top", "labelWidth": 0, "layout": "hbox", "layoutConfig": { "align": "stretchmax" } });
    var name1767 = new Ext.form.TextField({ "allowBlank": true, "anchor": "-20", "autoHeight": true, "fieldLabel": "Name", "listeners": { "render": Lino.quicktip_renderer("Name","(courses.Slots.name) ") }, "maxLength": 200, "name": "name", "selectOnFocus": true });
    var main_panel1768 = new Ext.Panel({ "autoHeight": true, "autoScroll": false, "bodyBorder": false, "border": false, "frame": true, "hideCheckBoxLabels": true, "items": [ main_1_panel1764, { "anchor": "-20", "autoHeight": true, "items": name1767, "labelAlign": "top", "layout": "form", "xtype": "panel" } ], "labelAlign": "top", "labelWidth": 0, "layout": "form" });
    this.items = main_panel1768;
    this.before_row_edit = function(record) {
    }
    Lino.courses.Slots.InsertFormPanel.superclass.initComponent.call(this);
  }
});


Lino.system.SiteConfigs.DetailFormPanel = Ext.extend(Lino.FormPanel,{
cls: "l-DetailFormPanel system-SiteConfigs",
  layout: 'fit',
  auto_save: true,
  actions_hotkeys: [ { "alt": false, "ba": "Lino.row_action_handler('as_pdf_p', 'GET', null)", "ctrl": true, "key": "P", "keycode": 80, "shift": false } ],
  autoHeight: true,
  content_type: 1,
  initComponent : function() {
    var site_company1770 = new Lino.RemoteComboFieldElement({ "allowBlank": true, "anchor": "-20", "autoHeight": true, "detail_action": "Lino.contacts.Companies.detail", "emptyText": "Select a Organization...", "fieldLabel": "<span style=\"border-bottom: 1px dotted #000000;\">Site operator</span>", "hiddenName": "site_companyHidden", "insert_action": "Lino.contacts.Companies.insert", "listeners": { "render": Lino.quicktip_renderer("Site operator","(system.SiteConfigs.site_company) The site operator, i.e. the legal person that operates this\nLino site.") }, "name": "site_company", "pageSize": 20, "preferred_width": 20, "related_actor_id": "contacts.Companies", "selectOnFocus": true, "store": new Lino.ComplexRemoteComboStore({ "proxy": new Ext.data.HttpProxy({ "method": "GET", "url": "/choices/system/SiteConfigs/site_company" }) }) });
    var next_partner_id1771 = new Ext.form.NumberField({ "allowBlank": true, "anchor": "-20", "autoHeight": true, "fieldLabel": "<span style=\"border-bottom: 1px dotted #000000;\">Next partner id</span>", "listeners": { "render": Lino.quicktip_renderer("Next partner id","(system.SiteConfigs.next_partner_id) The next automatic id for any new partner.") }, "name": "next_partner_id", "selectOnFocus": true, "value": 100 });
    var main_1_panel1772 = new Ext.Panel({ "anchor": "-20", "autoHeight": true, "autoScroll": false, "border": false, "frame": false, "hideCheckBoxLabels": true, "items": [ { "autoHeight": true, "flex": 66, "items": site_company1770, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 33, "items": next_partner_id1771, "labelAlign": "top", "layout": "form", "xtype": "panel" } ], "labelAlign": "top", "labelWidth": 0, "layout": "hbox", "layoutConfig": { "align": "stretchmax" } });
    var default_build_method1775 = new Lino.ChoicesFieldElement({ "allowBlank": true, "anchor": "-20", "autoHeight": true, "fieldLabel": "<span style=\"border-bottom: 1px dotted #000000;\">Default build method</span>", "forceSelection": true, "hiddenName": "default_build_methodHidden", "listeners": { "render": Lino.quicktip_renderer("Default build method","(system.SiteConfigs.default_build_method) The default build method to use when rendering printable documents.") }, "name": "default_build_method", "selectOnFocus": true, "store": [['','<br>']].concat(Lino.printing.BuildMethods) });
    var simulate_today1776 = new Lino.DateField({ "allowBlank": true, "anchor": "-20", "autoHeight": true, "fieldLabel": "<span style=\"border-bottom: 1px dotted #000000;\">Simulated date</span>", "listeners": { "render": Lino.quicktip_renderer("Simulated date","(system.SiteConfigs.simulate_today) A constant user-defined date to be substituted as current\nsystem date.") }, "name": "simulate_today", "selectOnFocus": true });
    var main_2_panel1777 = new Ext.Panel({ "anchor": "-20", "autoHeight": true, "autoScroll": false, "border": false, "frame": false, "hideCheckBoxLabels": true, "items": [ { "autoHeight": true, "flex": 63, "items": default_build_method1775, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 36, "items": simulate_today1776, "labelAlign": "top", "layout": "form", "xtype": "panel" } ], "labelAlign": "top", "labelWidth": 0, "layout": "hbox", "layoutConfig": { "align": "stretchmax" } });
    var site_calendar1780 = new Lino.RemoteComboFieldElement({ "allowBlank": true, "anchor": "-20", "autoHeight": true, "detail_action": "Lino.cal.Calendars.detail", "emptyText": "Select a Calendar...", "fieldLabel": "<span style=\"border-bottom: 1px dotted #000000;\">Site Calendar</span>", "hiddenName": "site_calendarHidden", "insert_action": "Lino.cal.Calendars.insert", "listeners": { "render": Lino.quicktip_renderer("Site Calendar","(system.SiteConfigs.site_calendar) The default calendar of this site.") }, "name": "site_calendar", "pageSize": 20, "related_actor_id": "cal.Calendars", "selectOnFocus": true, "store": new Lino.ComplexRemoteComboStore({ "proxy": new Ext.data.HttpProxy({ "method": "GET", "url": "/choices/system/SiteConfigs/site_calendar" }) }) });
    var default_event_type1781 = new Lino.RemoteComboFieldElement({ "allowBlank": true, "anchor": "-20", "autoHeight": true, "detail_action": "Lino.cal.EventTypes.detail", "emptyText": "Select a Calendar entry type...", "fieldLabel": "<span style=\"border-bottom: 1px dotted #000000;\">Default Event Type</span>", "hiddenName": "default_event_typeHidden", "insert_action": "Lino.cal.EventTypes.insert", "listeners": { "render": Lino.quicktip_renderer("Default Event Type","(system.SiteConfigs.default_event_type) The default type of events on this site.") }, "name": "default_event_type", "pageSize": 20, "related_actor_id": "cal.EventTypes", "selectOnFocus": true, "store": new Lino.ComplexRemoteComboStore({ "proxy": new Ext.data.HttpProxy({ "method": "GET", "url": "/choices/system/SiteConfigs/default_event_type" }) }) });
    var pupil_guestrole1782 = new Lino.RemoteComboFieldElement({ "allowBlank": true, "anchor": "-20", "autoHeight": true, "detail_action": "Lino.cal.GuestRoles.detail", "emptyText": "Select a Guest role...", "fieldLabel": "Default guest role for participants", "hiddenName": "pupil_guestroleHidden", "listeners": { "render": Lino.quicktip_renderer("Default guest role for participants","(system.SiteConfigs.pupil_guestrole) ") }, "name": "pupil_guestrole", "pageSize": 20, "related_actor_id": "cal.GuestRoles", "selectOnFocus": true, "store": new Lino.ComplexRemoteComboStore({ "proxy": new Ext.data.HttpProxy({ "method": "GET", "url": "/choices/system/SiteConfigs/pupil_guestrole" }) }) });
    var main_3_panel1783 = new Ext.Panel({ "anchor": "-20", "autoHeight": true, "autoScroll": false, "border": false, "frame": false, "hideCheckBoxLabels": true, "items": [ { "autoHeight": true, "flex": 33, "items": site_calendar1780, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 33, "items": default_event_type1781, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 33, "items": pupil_guestrole1782, "labelAlign": "top", "layout": "form", "xtype": "panel" } ], "labelAlign": "top", "labelWidth": 0, "layout": "hbox", "layoutConfig": { "align": "stretchmax" } });
    var max_auto_events1787 = new Ext.form.NumberField({ "allowBlank": true, "anchor": "-20", "autoHeight": true, "fieldLabel": "<span style=\"border-bottom: 1px dotted #000000;\">Max automatic events</span>", "listeners": { "render": Lino.quicktip_renderer("Max automatic events","(system.SiteConfigs.max_auto_events) Maximum number of automatic events to be generated.") }, "name": "max_auto_events", "selectOnFocus": true, "value": 72 });
    var hide_events_before1788 = new Lino.DateField({ "allowBlank": true, "anchor": "-20", "autoHeight": true, "fieldLabel": "<span style=\"border-bottom: 1px dotted #000000;\">Hide events before</span>", "listeners": { "render": Lino.quicktip_renderer("Hide events before","(system.SiteConfigs.hide_events_before) If this is not empty, any calendar events before that date are\nbeing hidden in certain places.") }, "name": "hide_events_before", "selectOnFocus": true });
    var main_4_panel1789 = new Ext.Panel({ "anchor": "-20", "autoHeight": true, "autoScroll": false, "border": false, "frame": false, "hideCheckBoxLabels": true, "items": [ { "autoHeight": true, "flex": 27, "items": max_auto_events1787, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 72, "items": hide_events_before1788, "labelAlign": "top", "layout": "form", "xtype": "panel" } ], "labelAlign": "top", "labelWidth": 0, "layout": "hbox", "layoutConfig": { "align": "stretchmax" } });
    var main_panel1792 = new Ext.Panel({ "autoHeight": true, "autoScroll": false, "bodyBorder": false, "border": false, "frame": true, "hideCheckBoxLabels": true, "items": [ main_1_panel1772, main_2_panel1777, main_3_panel1783, main_4_panel1789 ], "labelAlign": "top", "layout": "form" });
    this.items = main_panel1792;
    this.before_row_edit = function(record) {
    }
    Lino.system.SiteConfigs.DetailFormPanel.superclass.initComponent.call(this);
  }
});


Lino.courses.Topics.DetailFormPanel = Ext.extend(Lino.FormPanel,{
cls: "l-DetailFormPanel courses-Topics",
  layout: 'fit',
  auto_save: true,
  actions_hotkeys: [ { "alt": false, "ba": "Lino.row_action_handler('as_pdf_p', 'GET', null)", "ctrl": true, "key": "P", "keycode": 80, "shift": false } ],
  content_type: 49,
  initComponent : function() {
    var id1793 = new Ext.form.NumberField({ "allowBlank": true, "anchor": "-20", "autoHeight": true, "fieldLabel": "ID", "listeners": { "render": Lino.quicktip_renderer("ID","(courses.Topics.id) ") }, "name": "id", "selectOnFocus": true });
    var name1794 = new Ext.form.TextField({ "allowBlank": false, "anchor": "-20", "autoHeight": true, "fieldLabel": "Designation", "listeners": { "render": Lino.quicktip_renderer("Designation","(courses.Topics.name) ") }, "maxLength": 200, "name": "name", "selectOnFocus": true });
    var name_de1795 = new Ext.form.TextField({ "allowBlank": true, "anchor": "-20", "autoHeight": true, "fieldLabel": "Designation (de)", "listeners": { "render": Lino.quicktip_renderer("Designation (de)","(courses.Topics.name_de) ") }, "maxLength": 200, "name": "name_de", "selectOnFocus": true });
    var name_fr1796 = new Ext.form.TextField({ "allowBlank": true, "anchor": "-20", "autoHeight": true, "fieldLabel": "Designation (fr)", "listeners": { "render": Lino.quicktip_renderer("Designation (fr)","(courses.Topics.name_fr) ") }, "maxLength": 200, "name": "name_fr", "selectOnFocus": true });
    var main_1_panel1797 = new Ext.Panel({ "autoHeight": true, "autoScroll": false, "border": false, "frame": false, "hideCheckBoxLabels": true, "items": [ { "autoHeight": true, "flex": 7, "items": id1793, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 30, "items": name1794, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 30, "items": name_de1795, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 30, "items": name_fr1796, "labelAlign": "top", "layout": "form", "xtype": "panel" } ], "labelAlign": "top", "labelWidth": 0, "layout": "hbox", "layoutConfig": { "align": "stretchmax" }, "region": "north", "split": true });
    var main_panel1937 = new Lino.VBorderPanel({ "autoScroll": false, "bodyBorder": false, "border": false, "frame": true, "hideCheckBoxLabels": true, "items": [ main_1_panel1797 ], "labelAlign": "top" });
    this.items = main_panel1937;
    this.before_row_edit = function(record) {
    }
    Lino.courses.Topics.DetailFormPanel.superclass.initComponent.call(this);
  }
});


Lino.addresses.Addresses.DetailFormPanel = Ext.extend(Lino.FormPanel,{
cls: "l-DetailFormPanel addresses-Addresses",
  layout: 'fit',
  auto_save: true,
  actions_hotkeys: [ { "alt": false, "ba": "Lino.row_action_handler('print_labels', 'GET', null)", "ctrl": true, "key": "P", "keycode": 80, "shift": false } ],
  autoHeight: true,
  content_type: 42,
  initComponent : function() {
    var country1664 = new Lino.RemoteComboFieldElement({ "allowBlank": true, "anchor": "-20", "autoHeight": true, "can_create_choice": false, "detail_action": "Lino.countries.Countries.detail", "emptyText": "Select a Country...", "fieldLabel": "Country", "hiddenName": "countryHidden", "insert_action": "Lino.countries.Countries.insert", "listeners": { "render": Lino.quicktip_renderer("Country","(addresses.Addresses.country) ") }, "name": "country", "pageSize": 20, "related_actor_id": "countries.Countries", "selectOnFocus": true, "store": new Lino.ComplexRemoteComboStore({ "proxy": new Ext.data.HttpProxy({ "method": "GET", "url": "/choices/addresses/Addresses/country" }) }) });
    var city1665 = new Lino.RemoteComboFieldElement({ "allowBlank": true, "anchor": "-20", "autoHeight": true, "can_create_choice": true, "detail_action": "Lino.countries.Places.detail", "emptyText": "Select a Place...", "fieldLabel": "<span style=\"border-bottom: 1px dotted #000000;\">Locality</span>", "forceSelection": false, "hiddenName": "cityHidden", "insert_action": "Lino.countries.Places.insert", "listeners": { "render": Lino.quicktip_renderer("Locality","(addresses.Addresses.city) The locality, i.e. usually a village, city or town.") }, "name": "city", "pageSize": 20, "related_actor_id": "countries.Places", "selectOnFocus": true, "store": new Lino.ComplexRemoteComboStore({ "proxy": new Ext.data.HttpProxy({ "method": "GET", "url": "/choices/addresses/Addresses/city" }) }) });
    var zip_code1666 = new Ext.form.TextField({ "allowBlank": true, "anchor": "-20", "autoHeight": true, "boxMinWidth": Lino.chars2width(10), "fieldLabel": "Zip code", "listeners": { "render": Lino.quicktip_renderer("Zip code","(addresses.Addresses.zip_code) ") }, "maxLength": 10, "name": "zip_code", "selectOnFocus": true });
    var main_1_panel1667 = new Ext.Panel({ "anchor": "-20", "autoHeight": true, "autoScroll": false, "border": false, "frame": false, "hideCheckBoxLabels": true, "items": [ { "autoHeight": true, "flex": 39, "items": country1664, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 39, "items": city1665, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 21, "items": zip_code1666, "labelAlign": "top", "layout": "form", "xtype": "panel" } ], "labelAlign": "top", "labelWidth": 0, "layout": "hbox", "layoutConfig": { "align": "stretchmax" } });
    var addr11671 = new Ext.form.TextField({ "allowBlank": true, "anchor": "-20", "autoHeight": true, "fieldLabel": "<span style=\"border-bottom: 1px dotted #000000;\">Address line before street</span>", "listeners": { "render": Lino.quicktip_renderer("Address line before street","(addresses.Addresses.addr1) Address line before street") }, "maxLength": 200, "name": "addr1", "selectOnFocus": true });
    var street1672 = new Ext.form.TextField({ "allowBlank": true, "anchor": "-20", "autoHeight": true, "fieldLabel": "<span style=\"border-bottom: 1px dotted #000000;\">Street</span>", "listeners": { "render": Lino.quicktip_renderer("Street","(addresses.Addresses.street) Name of street, without house number.") }, "maxLength": 200, "name": "street", "selectOnFocus": true });
    var street_no1673 = new Ext.form.TextField({ "allowBlank": true, "anchor": "-20", "autoHeight": true, "boxMinWidth": Lino.chars2width(10), "fieldLabel": "<span style=\"border-bottom: 1px dotted #000000;\">No.</span>", "listeners": { "render": Lino.quicktip_renderer("No.","(addresses.Addresses.street_no) House number.") }, "maxLength": 10, "name": "street_no", "selectOnFocus": true });
    var street_box1674 = new Ext.form.TextField({ "allowBlank": true, "anchor": "-20", "autoHeight": true, "boxMinWidth": Lino.chars2width(10), "fieldLabel": "<span style=\"border-bottom: 1px dotted #000000;\">Box</span>", "listeners": { "render": Lino.quicktip_renderer("Box","(addresses.Addresses.street_box) Text to print after street number on the same line.") }, "maxLength": 10, "name": "street_box", "selectOnFocus": true });
    var main_3_panel1675 = new Ext.Panel({ "anchor": "-20", "autoHeight": true, "autoScroll": false, "border": false, "frame": false, "hideCheckBoxLabels": true, "items": [ { "autoHeight": true, "flex": 48, "items": street1672, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 25, "items": street_no1673, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 25, "items": street_box1674, "labelAlign": "top", "layout": "form", "xtype": "panel" } ], "labelAlign": "top", "labelWidth": 0, "layout": "hbox", "layoutConfig": { "align": "stretchmax" } });
    var addr21679 = new Ext.form.TextField({ "allowBlank": true, "anchor": "-20", "autoHeight": true, "fieldLabel": "<span style=\"border-bottom: 1px dotted #000000;\">Address line after street</span>", "listeners": { "render": Lino.quicktip_renderer("Address line after street","(addresses.Addresses.addr2) Address line to print below street line.") }, "maxLength": 200, "name": "addr2", "selectOnFocus": true });
    var address_type1680 = new Lino.ChoicesFieldElement({ "allowBlank": false, "anchor": "-20", "autoHeight": true, "fieldLabel": "<span style=\"border-bottom: 1px dotted #000000;\">Address type</span>", "forceSelection": true, "hiddenName": "address_typeHidden", "listeners": { "render": Lino.quicktip_renderer("Address type","(addresses.Addresses.address_type) The type of this address record.\nA pointer to AddressTypes.\nThe default value is AddressTypes.official.") }, "name": "address_type", "selectOnFocus": true, "store": Lino.addresses.AddressTypes });
    var remark1681 = new Ext.form.TextField({ "allowBlank": true, "anchor": "-20", "autoHeight": true, "fieldLabel": "Remark", "listeners": { "render": Lino.quicktip_renderer("Remark","(addresses.Addresses.remark) ") }, "maxLength": 50, "name": "remark", "selectOnFocus": true });
    var main_5_panel1682 = new Ext.Panel({ "anchor": "-20", "autoHeight": true, "autoScroll": false, "border": false, "frame": false, "hideCheckBoxLabels": true, "items": [ { "autoHeight": true, "flex": 50, "items": address_type1680, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 50, "items": remark1681, "labelAlign": "top", "layout": "form", "xtype": "panel" } ], "labelAlign": "top", "labelWidth": 0, "layout": "hbox", "layoutConfig": { "align": "stretchmax" } });
    var data_source1685 = new Lino.ChoicesFieldElement({ "anchor": "-20", "autoHeight": true, "disabled": true, "fieldLabel": "<span style=\"border-bottom: 1px dotted #000000;\">Data source</span>", "forceSelection": true, "hiddenName": "data_sourceHidden", "listeners": { "render": Lino.quicktip_renderer("Data source","(addresses.Addresses.data_source) Pointer to DataSources.") }, "name": "data_source", "store": Lino.addresses.DataSources });
    var partner1686 = new Lino.RemoteComboFieldElement({ "allowBlank": false, "anchor": "-20", "autoHeight": true, "detail_action": "Lino.contacts.Partners.detail", "emptyText": "Select a Partner...", "fieldLabel": "Partner", "hiddenName": "partnerHidden", "listeners": { "render": Lino.quicktip_renderer("Partner","(addresses.Addresses.partner) ") }, "name": "partner", "pageSize": 20, "preferred_width": 20, "related_actor_id": "contacts.Partners", "selectOnFocus": true, "store": new Lino.ComplexRemoteComboStore({ "proxy": new Ext.data.HttpProxy({ "method": "GET", "url": "/choices/addresses/Addresses/partner" }) }) });
    var main_6_panel1687 = new Ext.Panel({ "anchor": "-20", "autoHeight": true, "autoScroll": false, "border": false, "frame": false, "hideCheckBoxLabels": true, "items": [ { "autoHeight": true, "flex": 48, "items": data_source1685, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 51, "items": partner1686, "labelAlign": "top", "layout": "form", "xtype": "panel" } ], "labelAlign": "top", "labelWidth": 0, "layout": "hbox", "layoutConfig": { "align": "stretchmax" } });
    var main_panel1690 = new Ext.Panel({ "autoHeight": true, "autoScroll": false, "bodyBorder": false, "border": false, "frame": true, "hideCheckBoxLabels": true, "items": [ main_1_panel1667, { "anchor": "-20", "autoHeight": true, "items": addr11671, "labelAlign": "top", "layout": "form", "xtype": "panel" }, main_3_panel1675, { "anchor": "-20", "autoHeight": true, "items": addr21679, "labelAlign": "top", "layout": "form", "xtype": "panel" }, main_5_panel1682, main_6_panel1687 ], "labelAlign": "top", "labelWidth": 0, "layout": "form" });
    this.items = main_panel1690;
    this.before_row_edit = function(record) {
      city1665.setContextValue('country', record ? record.data['countryHidden'] : undefined);
      city1665.setContextValue('region', record ? record.data['regionHidden'] : undefined);
    }
    this.onRender = function(ct, position) {
      typeof country1664 !== 'undefined' && country1664.on('change',Lino.chooser_handler(city1665,'country'));
      Lino.addresses.Addresses.DetailFormPanel.superclass.onRender.call(this, ct, position);
    }
    Lino.addresses.Addresses.DetailFormPanel.superclass.initComponent.call(this);
  }
});


Lino.ledger.Accounts.InsertFormPanel = Ext.extend(Lino.FormPanel,{
cls: "l-InsertFormPanel ledger-Accounts",
  layout: 'fit',
  auto_save: true,
  actions_hotkeys: [ { "alt": false, "ba": "Lino.row_action_handler('as_pdf_p', 'GET', null)", "ctrl": true, "key": "P", "keycode": 80, "shift": false } ],
  autoHeight: true,
  content_type: 37,
  initComponent : function() {
    var ref1938 = new Ext.form.TextField({ "allowBlank": true, "anchor": "-20", "autoHeight": true, "fieldLabel": "<span style=\"border-bottom: 1px dotted #000000;\">Reference</span>", "listeners": { "render": Lino.quicktip_renderer("Reference","(ledger.Accounts.ref) An optional unique name which can be used to reference a given\naccount.") }, "maxLength": 200, "name": "ref", "selectOnFocus": true });
    var name1939 = new Ext.form.TextField({ "allowBlank": false, "anchor": "-20", "autoHeight": true, "fieldLabel": "<span style=\"border-bottom: 1px dotted #000000;\">Designation</span>", "listeners": { "render": Lino.quicktip_renderer("Designation","(ledger.Accounts.name) The multilingual designation of this account, as the users see\nit.") }, "maxLength": 200, "name": "name", "selectOnFocus": true });
    var name_de1940 = new Ext.form.TextField({ "allowBlank": true, "anchor": "-20", "autoHeight": true, "fieldLabel": "Designation (de)", "listeners": { "render": Lino.quicktip_renderer("Designation (de)","(ledger.Accounts.name_de) ") }, "maxLength": 200, "name": "name_de", "selectOnFocus": true });
    var name_fr1941 = new Ext.form.TextField({ "allowBlank": true, "anchor": "-20", "autoHeight": true, "fieldLabel": "Designation (fr)", "listeners": { "render": Lino.quicktip_renderer("Designation (fr)","(ledger.Accounts.name_fr) ") }, "maxLength": 200, "name": "name_fr", "selectOnFocus": true });
    var main_2_panel1942 = new Ext.Panel({ "anchor": "-20", "autoHeight": true, "autoScroll": false, "border": false, "frame": false, "hideCheckBoxLabels": true, "items": [ { "autoHeight": true, "flex": 33, "items": name1939, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 33, "items": name_de1940, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 33, "items": name_fr1941, "labelAlign": "top", "layout": "form", "xtype": "panel" } ], "labelAlign": "top", "labelWidth": 0, "layout": "hbox", "layoutConfig": { "align": "stretchmax" } });
    var main_panel1946 = new Ext.Panel({ "autoHeight": true, "autoScroll": false, "bodyBorder": false, "border": false, "frame": true, "hideCheckBoxLabels": true, "items": [ { "anchor": "-20", "autoHeight": true, "items": ref1938, "labelAlign": "top", "layout": "form", "xtype": "panel" }, main_2_panel1942 ], "labelAlign": "top", "labelWidth": 0, "layout": "form" });
    this.items = main_panel1946;
    this.before_row_edit = function(record) {
    }
    Lino.ledger.Accounts.InsertFormPanel.superclass.initComponent.call(this);
  }
});


Lino.checkdata.Checkers.DetailFormPanel = Ext.extend(Lino.FormPanel,{
cls: "l-DetailFormPanel checkdata-Checkers",
  layout: 'fit',
  auto_save: true,
  actions_hotkeys: [ { "alt": false, "ba": "Lino.row_action_handler('as_pdf_p', 'GET', null)", "ctrl": true, "key": "P", "keycode": 80, "shift": false } ],
  disable_editing: true,
  initComponent : function() {
    var value1948 = new Ext.form.TextField({ "anchor": "-20", "autoHeight": true, "disabled": true, "fieldLabel": "value", "listeners": { "render": Lino.quicktip_renderer("value","(checkdata.Checkers.value) ") }, "maxLength": 20, "name": "value" });
    var text1949 = new Ext.form.TextField({ "anchor": "-20", "autoHeight": true, "disabled": true, "fieldLabel": "text", "listeners": { "render": Lino.quicktip_renderer("text","(checkdata.Checkers.text) ") }, "maxLength": 50, "name": "text" });
    var main_1_panel1950 = new Ext.Panel({ "autoHeight": true, "autoScroll": false, "border": false, "frame": false, "hideCheckBoxLabels": true, "items": [ { "autoHeight": true, "flex": 50, "items": value1948, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 50, "items": text1949, "labelAlign": "top", "layout": "form", "xtype": "panel" } ], "labelAlign": "top", "labelWidth": 0, "layout": "hbox", "layoutConfig": { "align": "stretchmax" } });
    var main_panel1964 = new Ext.Panel({ "autoScroll": false, "bodyBorder": false, "border": false, "frame": true, "hideCheckBoxLabels": true, "items": [ main_1_panel1950 ], "labelAlign": "top", "layout": "vbox", "layoutConfig": { "align": "stretch" } });
    this.items = main_panel1964;
    this.before_row_edit = function(record) {
    }
    Lino.checkdata.Checkers.DetailFormPanel.superclass.initComponent.call(this);
  }
});


Lino.countries.Countries.InsertFormPanel = Ext.extend(Lino.FormPanel,{
cls: "l-InsertFormPanel countries-Countries",
  layout: 'fit',
  auto_save: true,
  actions_hotkeys: [ { "alt": false, "ba": "Lino.row_action_handler('as_pdf_p', 'GET', null)", "ctrl": true, "key": "P", "keycode": 80, "shift": false } ],
  autoHeight: true,
  content_type: 4,
  initComponent : function() {
    var isocode1965 = new Ext.form.TextField({ "allowBlank": false, "anchor": "-20", "autoHeight": true, "boxMinWidth": Lino.chars2width(4), "fieldLabel": "<span style=\"border-bottom: 1px dotted #000000;\">ISO code</span>", "listeners": { "render": Lino.quicktip_renderer("ISO code","(countries.Countries.isocode) The two-letter code for this country as defined by ISO 3166-1.\nFor countries that no longer exist it may be a 4-letter code.") }, "maxLength": 4, "name": "isocode", "selectOnFocus": true });
    var short_code1966 = new Ext.form.TextField({ "allowBlank": true, "anchor": "-20", "autoHeight": true, "boxMinWidth": Lino.chars2width(4), "fieldLabel": "<span style=\"border-bottom: 1px dotted #000000;\">Short code</span>", "listeners": { "render": Lino.quicktip_renderer("Short code","(countries.Countries.short_code) A short abbreviation for regional usage. Obsolete.") }, "maxLength": 4, "name": "short_code", "selectOnFocus": true });
    var main_1_panel1967 = new Ext.Panel({ "anchor": "-20", "autoHeight": true, "autoScroll": false, "border": false, "frame": false, "hideCheckBoxLabels": true, "items": [ { "autoHeight": true, "flex": 50, "items": isocode1965, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 50, "items": short_code1966, "labelAlign": "top", "layout": "form", "xtype": "panel" } ], "labelAlign": "top", "labelWidth": 0, "layout": "hbox", "layoutConfig": { "align": "stretchmax" } });
    var name1970 = new Ext.form.TextField({ "allowBlank": false, "anchor": "-20", "autoHeight": true, "fieldLabel": "<span style=\"border-bottom: 1px dotted #000000;\">Designation</span>", "listeners": { "render": Lino.quicktip_renderer("Designation","(countries.Countries.name) The designation of this country.") }, "maxLength": 200, "name": "name", "selectOnFocus": true });
    var name_de1971 = new Ext.form.TextField({ "allowBlank": true, "anchor": "-20", "autoHeight": true, "fieldLabel": "Designation (de)", "listeners": { "render": Lino.quicktip_renderer("Designation (de)","(countries.Countries.name_de) ") }, "maxLength": 200, "name": "name_de", "selectOnFocus": true });
    var name_fr1972 = new Ext.form.TextField({ "allowBlank": true, "anchor": "-20", "autoHeight": true, "fieldLabel": "Designation (fr)", "listeners": { "render": Lino.quicktip_renderer("Designation (fr)","(countries.Countries.name_fr) ") }, "maxLength": 200, "name": "name_fr", "selectOnFocus": true });
    var main_2_panel1973 = new Ext.Panel({ "anchor": "-20", "autoHeight": true, "autoScroll": false, "border": false, "frame": false, "hideCheckBoxLabels": true, "items": [ { "autoHeight": true, "flex": 33, "items": name1970, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 33, "items": name_de1971, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 33, "items": name_fr1972, "labelAlign": "top", "layout": "form", "xtype": "panel" } ], "labelAlign": "top", "labelWidth": 0, "layout": "hbox", "layoutConfig": { "align": "stretchmax" } });
    var main_panel1977 = new Ext.Panel({ "autoHeight": true, "autoScroll": false, "bodyBorder": false, "border": false, "frame": true, "hideCheckBoxLabels": true, "items": [ main_1_panel1967, main_2_panel1973 ], "labelAlign": "top", "layout": "form" });
    this.items = main_panel1977;
    this.before_row_edit = function(record) {
    }
    Lino.countries.Countries.InsertFormPanel.superclass.initComponent.call(this);
  }
});


Lino.courses.Lines.DetailFormPanel = Ext.extend(Lino.FormPanel,{
cls: "l-DetailFormPanel courses-Lines",
  layout: 'fit',
  auto_save: true,
  actions_hotkeys: [ { "alt": false, "ba": "Lino.row_action_handler('as_pdf_p', 'GET', null)", "ctrl": true, "key": "P", "keycode": 80, "shift": false } ],
  content_type: 50,
  initComponent : function() {
    var id1824 = new Ext.form.NumberField({ "allowBlank": true, "anchor": "-20", "autoHeight": true, "fieldLabel": "ID", "listeners": { "render": Lino.quicktip_renderer("ID","(courses.Lines.id) ") }, "name": "id", "selectOnFocus": true });
    var name1825 = new Ext.form.TextField({ "allowBlank": false, "anchor": "-20", "autoHeight": true, "fieldLabel": "<span style=\"border-bottom: 1px dotted #000000;\">Designation</span>", "listeners": { "render": Lino.quicktip_renderer("Designation","(courses.Lines.name) The designation of this activity line as seen by the user\ne.g. when selecting the line.") }, "maxLength": 200, "name": "name", "selectOnFocus": true });
    var name_de1826 = new Ext.form.TextField({ "allowBlank": true, "anchor": "-20", "autoHeight": true, "fieldLabel": "Designation (de)", "listeners": { "render": Lino.quicktip_renderer("Designation (de)","(courses.Lines.name_de) ") }, "maxLength": 200, "name": "name_de", "selectOnFocus": true });
    var name_fr1827 = new Ext.form.TextField({ "allowBlank": true, "anchor": "-20", "autoHeight": true, "fieldLabel": "Designation (fr)", "listeners": { "render": Lino.quicktip_renderer("Designation (fr)","(courses.Lines.name_fr) ") }, "maxLength": 200, "name": "name_fr", "selectOnFocus": true });
    var ref1828 = new Ext.form.TextField({ "allowBlank": true, "anchor": "-20", "autoHeight": true, "fieldLabel": "<span style=\"border-bottom: 1px dotted #000000;\">Reference</span>", "listeners": { "render": Lino.quicktip_renderer("Reference","(courses.Lines.ref) The reference. This must be either empty or unique.") }, "maxLength": 200, "name": "ref", "selectOnFocus": true });
    var main_1_panel1829 = new Ext.Panel({ "autoHeight": true, "autoScroll": false, "border": false, "frame": false, "hideCheckBoxLabels": true, "items": [ { "autoHeight": true, "flex": 4, "items": id1824, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 19, "items": name1825, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 19, "items": name_de1826, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 19, "items": name_fr1827, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 37, "items": ref1828, "labelAlign": "top", "layout": "form", "xtype": "panel" } ], "labelAlign": "top", "labelWidth": 0, "layout": "hbox", "layoutConfig": { "align": "stretchmax" } });
    var company1835 = new Lino.RemoteComboFieldElement({ "allowBlank": true, "anchor": "-20", "autoHeight": true, "detail_action": "Lino.contacts.Companies.detail", "emptyText": "Select a Organization...", "fieldLabel": "<span style=\"border-bottom: 1px dotted #000000;\">Organization</span>", "hiddenName": "companyHidden", "insert_action": "Lino.contacts.Companies.insert", "listeners": { "render": Lino.quicktip_renderer("Organization","(courses.Lines.company) Pointer to Company.") }, "name": "company", "pageSize": 20, "preferred_width": 20, "related_actor_id": "contacts.Companies", "selectOnFocus": true, "store": new Lino.ComplexRemoteComboStore({ "proxy": new Ext.data.HttpProxy({ "method": "GET", "url": "/choices/courses/Lines/company" }) }) });
    var contact_person1836 = new Lino.RemoteComboFieldElement({ "allowBlank": true, "anchor": "-20", "autoHeight": true, "can_create_choice": false, "detail_action": "Lino.contacts.Persons.detail", "emptyText": "Select a Person...", "fieldLabel": "<span style=\"border-bottom: 1px dotted #000000;\">represented by</span>", "hiddenName": "contact_personHidden", "insert_action": "Lino.contacts.Persons.insert", "listeners": { "render": Lino.quicktip_renderer("represented by","(courses.Lines.contact_person) Pointer to Person.") }, "name": "contact_person", "pageSize": 20, "preferred_width": 20, "related_actor_id": "contacts.Persons", "selectOnFocus": true, "store": new Lino.ComplexRemoteComboStore({ "proxy": new Ext.data.HttpProxy({ "method": "GET", "url": "/choices/courses/Lines/contact_person" }) }) });
    var main_2_panel1837 = new Ext.Panel({ "autoHeight": true, "autoScroll": false, "border": false, "frame": false, "hideCheckBoxLabels": true, "items": [ { "autoHeight": true, "flex": 50, "items": company1835, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 50, "items": contact_person1836, "labelAlign": "top", "layout": "form", "xtype": "panel" } ], "labelAlign": "top", "labelWidth": 0, "layout": "hbox", "layoutConfig": { "align": "stretchmax" } });
    var course_area1840 = new Lino.ChoicesFieldElement({ "allowBlank": false, "anchor": "-20", "autoHeight": true, "fieldLabel": "<span style=\"border-bottom: 1px dotted #000000;\">Layout</span>", "forceSelection": true, "hiddenName": "course_areaHidden", "listeners": { "render": Lino.quicktip_renderer("Layout","(courses.Lines.course_area) Pointer to ActivityLayouts.  This is used only when an\napplication defines several variants of\nEnrolmentsByPupil.") }, "name": "course_area", "selectOnFocus": true, "store": Lino.courses.ActivityLayouts });
    var topic1841 = new Lino.RemoteComboFieldElement({ "allowBlank": true, "anchor": "-20", "autoHeight": true, "detail_action": "Lino.courses.Topics.detail", "emptyText": "Select a Topic...", "fieldLabel": "Topic", "hiddenName": "topicHidden", "listeners": { "render": Lino.quicktip_renderer("Topic","(courses.Lines.topic) ") }, "name": "topic", "pageSize": 20, "related_actor_id": "courses.Topics", "selectOnFocus": true, "store": new Lino.ComplexRemoteComboStore({ "proxy": new Ext.data.HttpProxy({ "method": "GET", "url": "/choices/courses/Lines/topic" }) }) });
    var body_template1842 = new Lino.SimpleRemoteComboFieldElement({ "allowBlank": true, "anchor": "-20", "autoHeight": true, "can_create_choice": false, "fieldLabel": "<span style=\"border-bottom: 1px dotted #000000;\">Body template</span>", "listeners": { "render": Lino.quicktip_renderer("Body template","(courses.Lines.body_template) The body template to use when printing an activity of this\nline.  Leave empty to use the site's default (defined by\nbody_template on the\nlino_xl.lib.excerpts.models.ExcerptType for\nCourse)") }, "name": "body_template", "selectOnFocus": true, "store": new Lino.ComplexRemoteComboStore({ "proxy": new Ext.data.HttpProxy({ "method": "GET", "url": "/choices/courses/Lines/body_template" }) }) });
    var main_3_panel1843 = new Ext.Panel({ "autoHeight": true, "autoScroll": false, "border": false, "frame": false, "hideCheckBoxLabels": true, "items": [ { "autoHeight": true, "flex": 30, "items": course_area1840, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 46, "items": topic1841, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 23, "items": body_template1842, "labelAlign": "top", "layout": "form", "xtype": "panel" } ], "labelAlign": "top", "labelWidth": 0, "layout": "hbox", "layoutConfig": { "align": "stretchmax" } });
    var event_type1847 = new Lino.RemoteComboFieldElement({ "allowBlank": true, "anchor": "-20", "autoHeight": true, "detail_action": "Lino.cal.EventTypes.detail", "emptyText": "Select a Calendar entry type...", "fieldLabel": "<span style=\"border-bottom: 1px dotted #000000;\">Calendar entry type</span>", "hiddenName": "event_typeHidden", "insert_action": "Lino.cal.EventTypes.insert", "listeners": { "render": Lino.quicktip_renderer("Calendar entry type","(courses.Lines.event_type) The type of calendar entries to be generated. If this is empty, no calendar entries will be generated.") }, "name": "event_type", "pageSize": 20, "related_actor_id": "cal.EventTypes", "selectOnFocus": true, "store": new Lino.ComplexRemoteComboStore({ "proxy": new Ext.data.HttpProxy({ "method": "GET", "url": "/choices/courses/Lines/event_type" }) }) });
    var guest_role1848 = new Lino.RemoteComboFieldElement({ "allowBlank": true, "anchor": "-20", "autoHeight": true, "detail_action": "Lino.cal.GuestRoles.detail", "emptyText": "Select a Guest role...", "fieldLabel": "<span style=\"border-bottom: 1px dotted #000000;\">Manage presences as</span>", "hiddenName": "guest_roleHidden", "listeners": { "render": Lino.quicktip_renderer("Manage presences as","(courses.Lines.guest_role) The default guest role for particpants of calendar entries for activities in this series. Leave empty if you don't want any presences management.") }, "name": "guest_role", "pageSize": 20, "related_actor_id": "cal.GuestRoles", "selectOnFocus": true, "store": new Lino.ComplexRemoteComboStore({ "proxy": new Ext.data.HttpProxy({ "method": "GET", "url": "/choices/courses/Lines/guest_role" }) }) });
    var every_unit1849 = new Lino.ChoicesFieldElement({ "allowBlank": true, "anchor": "-20", "autoHeight": true, "fieldLabel": "Recurrency", "forceSelection": true, "hiddenName": "every_unitHidden", "listeners": { "render": Lino.quicktip_renderer("Recurrency","(courses.Lines.every_unit) ") }, "name": "every_unit", "selectOnFocus": true, "store": [['','<br>']].concat(Lino.cal.Recurrencies) });
    var every1850 = new Ext.form.NumberField({ "allowBlank": false, "anchor": "-20", "autoHeight": true, "fieldLabel": "Repeat every", "listeners": { "render": Lino.quicktip_renderer("Repeat every","(courses.Lines.every) ") }, "name": "every", "selectOnFocus": true, "value": 1 });
    var main_4_panel1851 = new Ext.Panel({ "autoHeight": true, "autoScroll": false, "border": false, "frame": false, "hideCheckBoxLabels": true, "items": [ { "autoHeight": true, "flex": 30, "items": event_type1847, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 30, "items": guest_role1848, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 31, "items": every_unit1849, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 7, "items": every1850, "labelAlign": "top", "layout": "form", "xtype": "panel" } ], "labelAlign": "top", "labelWidth": 0, "layout": "hbox", "layoutConfig": { "align": "stretchmax" } });
    var excerpt_title1856 = new Ext.form.TextField({ "allowBlank": true, "anchor": "-20", "autoHeight": true, "fieldLabel": "<span style=\"border-bottom: 1px dotted #000000;\">Excerpt title</span>", "listeners": { "render": Lino.quicktip_renderer("Excerpt title","(courses.Lines.excerpt_title) The text to print as title in enrolments.") }, "maxLength": 200, "name": "excerpt_title", "selectOnFocus": true });
    var excerpt_title_de1857 = new Ext.form.TextField({ "allowBlank": true, "anchor": "-20", "autoHeight": true, "fieldLabel": "Excerpt title (de)", "listeners": { "render": Lino.quicktip_renderer("Excerpt title (de)","(courses.Lines.excerpt_title_de) ") }, "maxLength": 200, "name": "excerpt_title_de", "selectOnFocus": true });
    var excerpt_title_fr1858 = new Ext.form.TextField({ "allowBlank": true, "anchor": "-20", "autoHeight": true, "fieldLabel": "Excerpt title (fr)", "listeners": { "render": Lino.quicktip_renderer("Excerpt title (fr)","(courses.Lines.excerpt_title_fr) ") }, "maxLength": 200, "name": "excerpt_title_fr", "selectOnFocus": true });
    var main_5_panel1859 = new Ext.Panel({ "autoHeight": true, "autoScroll": false, "border": false, "frame": false, "hideCheckBoxLabels": true, "items": [ { "autoHeight": true, "flex": 33, "items": excerpt_title1856, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 33, "items": excerpt_title_de1857, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 33, "items": excerpt_title_fr1858, "labelAlign": "top", "layout": "form", "xtype": "panel" } ], "labelAlign": "top", "labelWidth": 0, "layout": "hbox", "layoutConfig": { "align": "stretchmax" } });
    var description1863 = new Lino.RichTextPanel({ "allowBlank": true, "containing_panel": this, "fieldLabel": "Description", "flex": 33, "name": "description", "selectOnFocus": true, "title": "Description" });
    var description_de1864 = new Lino.RichTextPanel({ "allowBlank": true, "containing_panel": this, "fieldLabel": "Description (de)", "flex": 33, "name": "description_de", "selectOnFocus": true, "title": "Description (de)" });
    var description_fr1865 = new Lino.RichTextPanel({ "allowBlank": true, "containing_panel": this, "fieldLabel": "Description (fr)", "flex": 33, "name": "description_fr", "selectOnFocus": true, "title": "Description (fr)" });
    var main_6_panel1866 = new Ext.Panel({ "autoScroll": false, "border": false, "flex": 50, "frame": false, "hideCheckBoxLabels": true, "items": [ description1863, description_de1864, description_fr1865 ], "labelAlign": "top", "labelWidth": 153, "layout": "hbox", "layoutConfig": { "align": "stretch" } });
    var main_panel1867 = new Ext.Panel({ "autoScroll": false, "bodyBorder": false, "border": false, "frame": true, "hideCheckBoxLabels": true, "items": [ main_1_panel1829, main_2_panel1837, main_3_panel1843, main_4_panel1851, main_5_panel1859, main_6_panel1866 ], "labelAlign": "top", "layout": "vbox", "layoutConfig": { "align": "stretch" } });
    this.items = main_panel1867;
    this.before_row_edit = function(record) {
      contact_person1836.setContextValue('company', record ? record.data['companyHidden'] : undefined);
      description1863.refresh();
      description_de1864.refresh();
      description_fr1865.refresh();
    }
    this.onRender = function(ct, position) {
      typeof company1835 !== 'undefined' && company1835.on('change',Lino.chooser_handler(contact_person1836,'company'));
      Lino.courses.Lines.DetailFormPanel.superclass.onRender.call(this, ct, position);
    }
    Lino.courses.Lines.DetailFormPanel.superclass.initComponent.call(this);
  }
});


Lino.countries.Countries.DetailFormPanel = Ext.extend(Lino.FormPanel,{
cls: "l-DetailFormPanel countries-Countries",
  layout: 'fit',
  auto_save: true,
  actions_hotkeys: [ { "alt": false, "ba": "Lino.row_action_handler('as_pdf_p', 'GET', null)", "ctrl": true, "key": "P", "keycode": 80, "shift": false } ],
  content_type: 4,
  initComponent : function() {
    var isocode1978 = new Ext.form.TextField({ "allowBlank": false, "anchor": "-20", "autoHeight": true, "boxMinWidth": Lino.chars2width(4), "fieldLabel": "<span style=\"border-bottom: 1px dotted #000000;\">ISO code</span>", "listeners": { "render": Lino.quicktip_renderer("ISO code","(countries.Countries.isocode) The two-letter code for this country as defined by ISO 3166-1.\nFor countries that no longer exist it may be a 4-letter code.") }, "maxLength": 4, "name": "isocode", "selectOnFocus": true });
    var name1979 = new Ext.form.TextField({ "allowBlank": false, "anchor": "-20", "autoHeight": true, "fieldLabel": "<span style=\"border-bottom: 1px dotted #000000;\">Designation</span>", "listeners": { "render": Lino.quicktip_renderer("Designation","(countries.Countries.name) The designation of this country.") }, "maxLength": 200, "name": "name", "selectOnFocus": true });
    var name_de1980 = new Ext.form.TextField({ "allowBlank": true, "anchor": "-20", "autoHeight": true, "fieldLabel": "Designation (de)", "listeners": { "render": Lino.quicktip_renderer("Designation (de)","(countries.Countries.name_de) ") }, "maxLength": 200, "name": "name_de", "selectOnFocus": true });
    var name_fr1981 = new Ext.form.TextField({ "allowBlank": true, "anchor": "-20", "autoHeight": true, "fieldLabel": "Designation (fr)", "listeners": { "render": Lino.quicktip_renderer("Designation (fr)","(countries.Countries.name_fr) ") }, "maxLength": 200, "name": "name_fr", "selectOnFocus": true });
    var short_code1982 = new Ext.form.TextField({ "allowBlank": true, "anchor": "-20", "autoHeight": true, "boxMinWidth": Lino.chars2width(4), "fieldLabel": "<span style=\"border-bottom: 1px dotted #000000;\">Short code</span>", "listeners": { "render": Lino.quicktip_renderer("Short code","(countries.Countries.short_code) A short abbreviation for regional usage. Obsolete.") }, "maxLength": 4, "name": "short_code", "selectOnFocus": true });
    var main_1_panel1983 = new Ext.Panel({ "autoHeight": true, "autoScroll": false, "border": false, "frame": false, "hideCheckBoxLabels": true, "items": [ { "autoHeight": true, "flex": 12, "items": isocode1978, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 25, "items": name1979, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 25, "items": name_de1980, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 25, "items": name_fr1981, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 12, "items": short_code1982, "labelAlign": "top", "layout": "form", "xtype": "panel" } ], "labelAlign": "top", "labelWidth": 0, "layout": "hbox", "layoutConfig": { "align": "stretchmax" } });
    var main_panel2002 = new Ext.Panel({ "autoScroll": false, "bodyBorder": false, "border": false, "frame": true, "hideCheckBoxLabels": true, "items": [ main_1_panel1983 ], "labelAlign": "top", "layout": "vbox", "layoutConfig": { "align": "stretch" } });
    this.items = main_panel2002;
    this.before_row_edit = function(record) {
    }
    Lino.countries.Countries.DetailFormPanel.superclass.initComponent.call(this);
  }
});


Lino.cal.GuestRoles.DetailFormPanel = Ext.extend(Lino.FormPanel,{
cls: "l-DetailFormPanel cal-GuestRoles",
  layout: 'fit',
  auto_save: true,
  actions_hotkeys: [ { "alt": false, "ba": "Lino.row_action_handler('as_pdf_p', 'GET', null)", "ctrl": true, "key": "P", "keycode": 80, "shift": false } ],
  content_type: 19,
  initComponent : function() {
    var ref2003 = new Ext.form.TextField({ "allowBlank": true, "anchor": "-20", "autoHeight": true, "fieldLabel": "<span style=\"border-bottom: 1px dotted #000000;\">Reference</span>", "listeners": { "render": Lino.quicktip_renderer("Reference","(cal.GuestRoles.ref) The reference. This must be either empty or unique.") }, "maxLength": 200, "name": "ref", "selectOnFocus": true });
    var name2004 = new Ext.form.TextField({ "allowBlank": false, "anchor": "-20", "autoHeight": true, "fieldLabel": "Designation", "listeners": { "render": Lino.quicktip_renderer("Designation","(cal.GuestRoles.name) ") }, "maxLength": 200, "name": "name", "selectOnFocus": true });
    var name_de2005 = new Ext.form.TextField({ "allowBlank": true, "anchor": "-20", "autoHeight": true, "fieldLabel": "Designation (de)", "listeners": { "render": Lino.quicktip_renderer("Designation (de)","(cal.GuestRoles.name_de) ") }, "maxLength": 200, "name": "name_de", "selectOnFocus": true });
    var name_fr2006 = new Ext.form.TextField({ "allowBlank": true, "anchor": "-20", "autoHeight": true, "fieldLabel": "Designation (fr)", "listeners": { "render": Lino.quicktip_renderer("Designation (fr)","(cal.GuestRoles.name_fr) ") }, "maxLength": 200, "name": "name_fr", "selectOnFocus": true });
    var id2007 = new Ext.form.NumberField({ "allowBlank": true, "anchor": "-20", "autoHeight": true, "fieldLabel": "ID", "listeners": { "render": Lino.quicktip_renderer("ID","(cal.GuestRoles.id) ") }, "name": "id", "selectOnFocus": true });
    var main_1_panel2008 = new Ext.Panel({ "autoHeight": true, "autoScroll": false, "border": false, "frame": false, "hideCheckBoxLabels": true, "items": [ { "autoHeight": true, "flex": 5, "items": ref2003, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 29, "items": name2004, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 29, "items": name_de2005, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 29, "items": name_fr2006, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 6, "items": id2007, "labelAlign": "top", "layout": "form", "xtype": "panel" } ], "labelAlign": "top", "labelWidth": 0, "layout": "hbox", "layoutConfig": { "align": "stretchmax" } });
    var main_panel2025 = new Ext.Panel({ "autoScroll": false, "bodyBorder": false, "border": false, "frame": true, "hideCheckBoxLabels": true, "items": [ main_1_panel2008 ], "labelAlign": "top", "layout": "vbox", "layoutConfig": { "align": "stretch" } });
    this.items = main_panel2025;
    this.before_row_edit = function(record) {
    }
    Lino.cal.GuestRoles.DetailFormPanel.superclass.initComponent.call(this);
  }
});


Lino.tinymce.TextFieldTemplates.DetailFormPanel = Ext.extend(Lino.FormPanel,{
cls: "l-DetailFormPanel tinymce-TextFieldTemplates",
  layout: 'fit',
  auto_save: true,
  actions_hotkeys: [ { "alt": false, "ba": "Lino.row_action_handler('as_pdf_p', 'GET', null)", "ctrl": true, "key": "P", "keycode": 80, "shift": false } ],
  content_type: 62,
  initComponent : function() {
    var id2026 = new Ext.form.NumberField({ "allowBlank": true, "anchor": "-20", "autoHeight": true, "fieldLabel": "ID", "listeners": { "render": Lino.quicktip_renderer("ID","(tinymce.TextFieldTemplates.id) ") }, "name": "id", "selectOnFocus": true });
    var name2027 = new Ext.form.TextField({ "allowBlank": false, "anchor": "-20", "autoHeight": true, "fieldLabel": "Designation", "listeners": { "render": Lino.quicktip_renderer("Designation","(tinymce.TextFieldTemplates.name) ") }, "maxLength": 200, "name": "name", "selectOnFocus": true });
    var user2028 = new Lino.RemoteComboFieldElement({ "allowBlank": true, "anchor": "-20", "autoHeight": true, "detail_action": "Lino.users.AllUsers.detail", "emptyText": "Select a User...", "fieldLabel": "<span style=\"border-bottom: 1px dotted #000000;\">Author</span>", "hiddenName": "userHidden", "insert_action": "Lino.users.AllUsers.insert", "listeners": { "render": Lino.quicktip_renderer("Author","(tinymce.TextFieldTemplates.user) The author of this object.\nA pointer to lino.modlib.users.models.User.") }, "name": "user", "pageSize": 20, "preferred_width": 15, "related_actor_id": "users.AllUsers", "selectOnFocus": true, "store": new Lino.ComplexRemoteComboStore({ "proxy": new Ext.data.HttpProxy({ "method": "GET", "url": "/choices/tinymce/TextFieldTemplates/user" }) }) });
    var main_1_panel2029 = new Ext.Panel({ "autoHeight": true, "autoScroll": false, "border": false, "frame": false, "hideCheckBoxLabels": true, "items": [ { "autoHeight": true, "flex": 10, "items": id2026, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 45, "items": name2027, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 43, "items": user2028, "labelAlign": "top", "layout": "form", "xtype": "panel" } ], "labelAlign": "top", "labelWidth": 0, "layout": "hbox", "layoutConfig": { "align": "stretchmax" }, "region": "north", "split": true });
    var description2033 = new Ext.form.TextArea({ "allowBlank": true, "anchor": "-20 -10", "fieldLabel": "Description", "growMax": 2000, "listeners": { "render": Lino.quicktip_renderer("Description","(tinymce.TextFieldTemplates.description) ") }, "name": "description", "selectOnFocus": true });
    var text2034 = new Lino.RichTextPanel({ "allowBlank": true, "containing_panel": this, "fieldLabel": "Template Text", "flex": 5, "name": "text", "region": "south", "selectOnFocus": true, "split": true, "title": "Template Text" });
    var main_panel2035 = new Lino.VBorderPanel({ "autoScroll": false, "bodyBorder": false, "border": false, "frame": true, "hideCheckBoxLabels": true, "items": [ main_1_panel2029, { "flex": 5, "items": description2033, "labelAlign": "top", "layout": "form", "region": "center", "split": true, "xtype": "panel" }, text2034 ], "labelAlign": "top", "labelWidth": 126 });
    this.items = main_panel2035;
    this.before_row_edit = function(record) {
      text2034.refresh();
    }
    Lino.tinymce.TextFieldTemplates.DetailFormPanel.superclass.initComponent.call(this);
  }
});


Lino.ledger.Accounts.DetailFormPanel = Ext.extend(Lino.FormPanel,{
cls: "l-DetailFormPanel ledger-Accounts",
  layout: 'fit',
  auto_save: true,
  actions_hotkeys: [ { "alt": false, "ba": "Lino.row_action_handler('as_pdf_p', 'GET', null)", "ctrl": true, "key": "P", "keycode": 80, "shift": false } ],
  content_type: 37,
  initComponent : function() {
    var ref2037 = new Ext.form.TextField({ "allowBlank": true, "anchor": "-20", "autoHeight": true, "fieldLabel": "<span style=\"border-bottom: 1px dotted #000000;\">Reference</span>", "listeners": { "render": Lino.quicktip_renderer("Reference","(ledger.Accounts.ref) An optional unique name which can be used to reference a given\naccount.") }, "maxLength": 200, "name": "ref", "selectOnFocus": true });
    var common_account2038 = new Lino.ChoicesFieldElement({ "allowBlank": true, "anchor": "-20", "autoHeight": true, "fieldLabel": "Common account", "forceSelection": true, "hiddenName": "common_accountHidden", "listeners": { "render": Lino.quicktip_renderer("Common account","(ledger.Accounts.common_account) ") }, "name": "common_account", "selectOnFocus": true, "store": [['','<br>']].concat(Lino.ledger.CommonAccounts) });
    var id2039 = new Ext.form.NumberField({ "allowBlank": true, "anchor": "-20", "autoHeight": true, "fieldLabel": "ID", "listeners": { "render": Lino.quicktip_renderer("ID","(ledger.Accounts.id) ") }, "name": "id", "selectOnFocus": true });
    var main_1_panel2040 = new Ext.Panel({ "autoHeight": true, "autoScroll": false, "border": false, "frame": false, "hideCheckBoxLabels": true, "items": [ { "autoHeight": true, "flex": 11, "items": ref2037, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 74, "items": common_account2038, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 14, "items": id2039, "labelAlign": "top", "layout": "form", "xtype": "panel" } ], "labelAlign": "top", "labelWidth": 0, "layout": "hbox", "layoutConfig": { "align": "stretchmax" } });
    var name2044 = new Ext.form.TextField({ "allowBlank": false, "anchor": "-20", "autoHeight": true, "fieldLabel": "<span style=\"border-bottom: 1px dotted #000000;\">Designation</span>", "listeners": { "render": Lino.quicktip_renderer("Designation","(ledger.Accounts.name) The multilingual designation of this account, as the users see\nit.") }, "maxLength": 200, "name": "name", "selectOnFocus": true });
    var name_de2045 = new Ext.form.TextField({ "allowBlank": true, "anchor": "-20", "autoHeight": true, "fieldLabel": "Designation (de)", "listeners": { "render": Lino.quicktip_renderer("Designation (de)","(ledger.Accounts.name_de) ") }, "maxLength": 200, "name": "name_de", "selectOnFocus": true });
    var name_fr2046 = new Ext.form.TextField({ "allowBlank": true, "anchor": "-20", "autoHeight": true, "fieldLabel": "Designation (fr)", "listeners": { "render": Lino.quicktip_renderer("Designation (fr)","(ledger.Accounts.name_fr) ") }, "maxLength": 200, "name": "name_fr", "selectOnFocus": true });
    var main_2_panel2047 = new Ext.Panel({ "autoHeight": true, "autoScroll": false, "border": false, "frame": false, "hideCheckBoxLabels": true, "items": [ { "autoHeight": true, "flex": 33, "items": name2044, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 33, "items": name_de2045, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 33, "items": name_fr2046, "labelAlign": "top", "layout": "form", "xtype": "panel" } ], "labelAlign": "top", "labelWidth": 0, "layout": "hbox", "layoutConfig": { "align": "stretchmax" } });
    var needs_partner2051 = new Ext.form.Checkbox({ "allowBlank": false, "anchor": "-20", "autoHeight": true, "boxLabel": "Needs partner", "checked": false, "hideLabel": true, "listeners": { "render": Lino.quicktip_renderer("Needs partner","(ledger.Accounts.needs_partner) Whether bookings to this account need a partner specified.") }, "name": "needs_partner", "selectOnFocus": true });
    var clearable2052 = new Ext.form.Checkbox({ "allowBlank": false, "anchor": "-20", "autoHeight": true, "boxLabel": "Clearable", "checked": false, "hideLabel": true, "listeners": { "render": Lino.quicktip_renderer("Clearable","(ledger.Accounts.clearable) ") }, "name": "clearable", "selectOnFocus": true });
    var default_amount2053 = new Ext.form.NumberField({ "allowBlank": true, "anchor": "-20", "autoHeight": true, "decimalPrecision": 2, "decimalSeparator": ",", "fieldLabel": "<span style=\"border-bottom: 1px dotted #000000;\">Default amount</span>", "listeners": { "render": Lino.quicktip_renderer("Default amount","(ledger.Accounts.default_amount) The default amount to book in bank statements or journal\nentries when this account has been selected manually. The\ndefault booking direction is that of the type.") }, "name": "default_amount", "selectOnFocus": true });
    var main_3_panel2054 = new Ext.Panel({ "autoHeight": true, "autoScroll": false, "border": false, "frame": false, "hideCheckBoxLabels": true, "items": [ { "autoHeight": true, "flex": 42, "items": needs_partner2051, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 42, "items": clearable2052, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 14, "items": default_amount2053, "labelAlign": "top", "layout": "form", "xtype": "panel" } ], "labelAlign": "top", "labelWidth": 0, "layout": "hbox", "layoutConfig": { "align": "stretchmax" } });
    var main_panel2059 = new Ext.Panel({ "autoScroll": false, "bodyBorder": false, "border": false, "frame": true, "hideCheckBoxLabels": true, "items": [ main_1_panel2040, main_2_panel2047, main_3_panel2054 ], "labelAlign": "top", "labelWidth": 90, "layout": "vbox", "layoutConfig": { "align": "stretch" } });
    this.items = main_panel2059;
    this.before_row_edit = function(record) {
    }
    Lino.ledger.Accounts.DetailFormPanel.superclass.initComponent.call(this);
  }
});


Lino.households.Types.DetailFormPanel = Ext.extend(Lino.FormPanel,{
cls: "l-DetailFormPanel households-Types",
  layout: 'fit',
  auto_save: true,
  actions_hotkeys: [ { "alt": false, "ba": "Lino.row_action_handler('as_pdf_p', 'GET', null)", "ctrl": true, "key": "P", "keycode": 80, "shift": false } ],
  content_type: 44,
  initComponent : function() {
    var name2060 = new Ext.form.TextField({ "allowBlank": false, "anchor": "-20", "autoHeight": true, "fieldLabel": "Designation", "listeners": { "render": Lino.quicktip_renderer("Designation","(households.Types.name) ") }, "maxLength": 200, "name": "name", "selectOnFocus": true });
    var name_de2061 = new Ext.form.TextField({ "allowBlank": true, "anchor": "-20", "autoHeight": true, "fieldLabel": "Designation (de)", "listeners": { "render": Lino.quicktip_renderer("Designation (de)","(households.Types.name_de) ") }, "maxLength": 200, "name": "name_de", "selectOnFocus": true });
    var name_fr2062 = new Ext.form.TextField({ "allowBlank": true, "anchor": "-20", "autoHeight": true, "fieldLabel": "Designation (fr)", "listeners": { "render": Lino.quicktip_renderer("Designation (fr)","(households.Types.name_fr) ") }, "maxLength": 200, "name": "name_fr", "selectOnFocus": true });
    var main_1_panel2063 = new Ext.Panel({ "autoHeight": true, "autoScroll": false, "border": false, "frame": false, "hideCheckBoxLabels": true, "items": [ { "autoHeight": true, "flex": 33, "items": name2060, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 33, "items": name_de2061, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 33, "items": name_fr2062, "labelAlign": "top", "layout": "form", "xtype": "panel" } ], "labelAlign": "top", "labelWidth": 0, "layout": "hbox", "layoutConfig": { "align": "stretchmax" } });
    var main_panel2139 = new Ext.Panel({ "autoScroll": false, "bodyBorder": false, "border": false, "frame": true, "hideCheckBoxLabels": true, "items": [ main_1_panel2063 ], "labelAlign": "top", "layout": "vbox", "layoutConfig": { "align": "stretch" } });
    this.items = main_panel2139;
    this.before_row_edit = function(record) {
    }
    Lino.households.Types.DetailFormPanel.superclass.initComponent.call(this);
  }
});


Lino.users.AllUsers.InsertFormPanel = Ext.extend(Lino.FormPanel,{
cls: "l-InsertFormPanel users-Users",
  layout: 'fit',
  auto_save: true,
  autoHeight: true,
  content_type: 2,
  initComponent : function() {
    var username2140 = new Ext.form.TextField({ "allowBlank": false, "anchor": "-20", "autoHeight": true, "fieldLabel": "<span style=\"border-bottom: 1px dotted #000000;\">Username</span>", "listeners": { "render": Lino.quicktip_renderer("Username","(users.Users.username) Must be either unique or empty.  Users with an empty username cannot\nsign in.") }, "maxLength": 30, "name": "username", "selectOnFocus": true });
    var email2141 = new Ext.form.TextField({ "allowBlank": true, "anchor": "-20", "autoHeight": true, "fieldLabel": "e-mail address", "listeners": { "render": Lino.quicktip_renderer("e-mail address","(users.Users.email) ") }, "maxLength": 254, "name": "email", "selectOnFocus": true });
    var main_1_panel2142 = new Ext.Panel({ "anchor": "-20", "autoHeight": true, "autoScroll": false, "border": false, "frame": false, "hideCheckBoxLabels": true, "items": [ { "autoHeight": true, "flex": 50, "items": username2140, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 50, "items": email2141, "labelAlign": "top", "layout": "form", "xtype": "panel" } ], "labelAlign": "top", "labelWidth": 0, "layout": "hbox", "layoutConfig": { "align": "stretchmax" } });
    var first_name2145 = new Ext.form.TextField({ "allowBlank": true, "anchor": "-20", "autoHeight": true, "fieldLabel": "First name", "listeners": { "render": Lino.quicktip_renderer("First name","(users.Users.first_name) ") }, "maxLength": 30, "name": "first_name", "selectOnFocus": true });
    var last_name2146 = new Ext.form.TextField({ "allowBlank": true, "anchor": "-20", "autoHeight": true, "fieldLabel": "Last name", "listeners": { "render": Lino.quicktip_renderer("Last name","(users.Users.last_name) ") }, "maxLength": 30, "name": "last_name", "selectOnFocus": true });
    var main_2_panel2147 = new Ext.Panel({ "anchor": "-20", "autoHeight": true, "autoScroll": false, "border": false, "frame": false, "hideCheckBoxLabels": true, "items": [ { "autoHeight": true, "flex": 50, "items": first_name2145, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 50, "items": last_name2146, "labelAlign": "top", "layout": "form", "xtype": "panel" } ], "labelAlign": "top", "labelWidth": 0, "layout": "hbox", "layoutConfig": { "align": "stretchmax" } });
    var partner2150 = new Lino.RemoteComboFieldElement({ "allowBlank": true, "anchor": "-20", "autoHeight": true, "detail_action": "Lino.contacts.Partners.detail", "emptyText": "Select a Partner...", "fieldLabel": "<span style=\"border-bottom: 1px dotted #000000;\">Partner</span>", "hiddenName": "partnerHidden", "listeners": { "render": Lino.quicktip_renderer("Partner","(users.Users.partner) The partner record with additional contact information about\nthis user account.") }, "name": "partner", "pageSize": 20, "preferred_width": 20, "related_actor_id": "contacts.Partners", "selectOnFocus": true, "store": new Lino.ComplexRemoteComboStore({ "proxy": new Ext.data.HttpProxy({ "method": "GET", "url": "/choices/users/Users/partner" }) }) });
    var language2151 = new Lino.ChoicesFieldElement({ "allowBlank": true, "anchor": "-20", "autoHeight": true, "fieldLabel": "Language", "hiddenName": "languageHidden", "listeners": { "render": Lino.quicktip_renderer("Language","(users.Users.language) ") }, "name": "language", "selectOnFocus": true, "store": [ [ "en", "English" ], [ "de", "German" ], [ "fr", "French" ] ] });
    var user_type2152 = new Lino.ChoicesFieldElement({ "allowBlank": true, "anchor": "-20", "autoHeight": true, "fieldLabel": "<span style=\"border-bottom: 1px dotted #000000;\">User type</span>", "forceSelection": true, "hiddenName": "user_typeHidden", "listeners": { "render": Lino.quicktip_renderer("User type","(users.Users.user_type) The user type assigned to this user. User accounts having this\nfield empty cannot be used to sign in.") }, "name": "user_type", "selectOnFocus": true, "store": [['','<br>']].concat(Lino.users.UserTypes) });
    var main_4_panel2153 = new Ext.Panel({ "anchor": "-20", "autoHeight": true, "autoScroll": false, "border": false, "frame": false, "hideCheckBoxLabels": true, "items": [ { "autoHeight": true, "flex": 40, "items": language2151, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 60, "items": user_type2152, "labelAlign": "top", "layout": "form", "xtype": "panel" } ], "labelAlign": "top", "labelWidth": 0, "layout": "hbox", "layoutConfig": { "align": "stretchmax" } });
    var main_panel2156 = new Ext.Panel({ "autoHeight": true, "autoScroll": false, "bodyBorder": false, "border": false, "frame": true, "hideCheckBoxLabels": true, "items": [ main_1_panel2142, main_2_panel2147, { "anchor": "-20", "autoHeight": true, "items": partner2150, "labelAlign": "top", "layout": "form", "xtype": "panel" }, main_4_panel2153 ], "labelAlign": "top", "labelWidth": 0, "layout": "form" });
    this.items = main_panel2156;
    this.before_row_edit = function(record) {
    }
    Lino.users.AllUsers.InsertFormPanel.superclass.initComponent.call(this);
  }
});


Lino.humanlinks.Links.DetailFormPanel = Ext.extend(Lino.FormPanel,{
cls: "l-DetailFormPanel humanlinks-Links",
  layout: 'fit',
  auto_save: true,
  actions_hotkeys: [ { "alt": false, "ba": "Lino.row_action_handler('as_pdf_p', 'GET', null)", "ctrl": true, "key": "P", "keycode": 80, "shift": false } ],
  autoHeight: true,
  content_type: 47,
  initComponent : function() {
    var parent2158 = new Lino.RemoteComboFieldElement({ "allowBlank": false, "anchor": "-20", "autoHeight": true, "detail_action": "Lino.contacts.Persons.detail", "emptyText": "Select a Person...", "fieldLabel": "<span style=\"border-bottom: 1px dotted #000000;\">Who is...</span>", "hiddenName": "parentHidden", "insert_action": "Lino.contacts.Persons.insert", "listeners": { "render": Lino.quicktip_renderer("Who is...","(humanlinks.Links.parent) Pointer to the person who is \"parent\".") }, "name": "parent", "pageSize": 20, "preferred_width": 20, "related_actor_id": "contacts.Persons", "selectOnFocus": true, "store": new Lino.ComplexRemoteComboStore({ "proxy": new Ext.data.HttpProxy({ "method": "GET", "url": "/choices/humanlinks/Links/parent" }) }) });
    var type2159 = new Lino.ChoicesFieldElement({ "allowBlank": false, "anchor": "-20", "autoHeight": true, "fieldLabel": "<span style=\"border-bottom: 1px dotted #000000;\">Parency type</span>", "forceSelection": true, "hiddenName": "typeHidden", "listeners": { "render": Lino.quicktip_renderer("Parency type","(humanlinks.Links.type) The type of link.  Pointer to LinkTypes.") }, "name": "type", "selectOnFocus": true, "store": Lino.humanlinks.LinkTypes });
    var child2160 = new Lino.RemoteComboFieldElement({ "allowBlank": true, "anchor": "-20", "autoHeight": true, "detail_action": "Lino.contacts.Persons.detail", "emptyText": "Select a Person...", "fieldLabel": "<span style=\"border-bottom: 1px dotted #000000;\">To whom...</span>", "hiddenName": "childHidden", "insert_action": "Lino.contacts.Persons.insert", "listeners": { "render": Lino.quicktip_renderer("To whom...","(humanlinks.Links.child) Pointer to the person who is \"child\".") }, "name": "child", "pageSize": 20, "preferred_width": 20, "related_actor_id": "contacts.Persons", "selectOnFocus": true, "store": new Lino.ComplexRemoteComboStore({ "proxy": new Ext.data.HttpProxy({ "method": "GET", "url": "/choices/humanlinks/Links/child" }) }) });
    var main_panel2161 = new Ext.Panel({ "autoHeight": true, "autoScroll": false, "bodyBorder": false, "border": false, "frame": true, "hideCheckBoxLabels": true, "items": [ { "anchor": "-20", "autoHeight": true, "items": parent2158, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "anchor": "-20", "autoHeight": true, "items": type2159, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "anchor": "-20", "autoHeight": true, "items": child2160, "labelAlign": "top", "layout": "form", "xtype": "panel" } ], "labelAlign": "top", "labelWidth": 0, "layout": "form" });
    this.items = main_panel2161;
    this.before_row_edit = function(record) {
    }
    Lino.humanlinks.Links.DetailFormPanel.superclass.initComponent.call(this);
  }
});


Lino.uploads.Uploads.InsertFormPanel = Ext.extend(Lino.FormPanel,{
cls: "l-InsertFormPanel uploads-Uploads",
  layout: 'fit',
  auto_save: true,
  actions_hotkeys: [ { "alt": false, "ba": "Lino.row_action_handler('as_pdf_p', 'GET', null)", "ctrl": true, "key": "P", "keycode": 80, "shift": false } ],
  autoHeight: true,
  content_type: 30,
  initComponent : function() {
    var type2165 = new Lino.RemoteComboFieldElement({ "allowBlank": true, "anchor": "-20", "autoHeight": true, "can_create_choice": false, "detail_action": "Lino.uploads.UploadTypes.detail", "emptyText": "Select a Upload type...", "fieldLabel": "<span style=\"border-bottom: 1px dotted #000000;\">Upload type</span>", "hiddenName": "typeHidden", "insert_action": "Lino.uploads.UploadTypes.insert", "listeners": { "render": Lino.quicktip_renderer("Upload type","(uploads.Uploads.type) The type of this upload.") }, "name": "type", "pageSize": 20, "related_actor_id": "uploads.UploadTypes", "selectOnFocus": true, "store": new Lino.ComplexRemoteComboStore({ "proxy": new Ext.data.HttpProxy({ "method": "GET", "url": "/choices/uploads/Uploads/type" }) }) });
    var description2166 = new Ext.form.TextField({ "allowBlank": true, "anchor": "-20", "autoHeight": true, "fieldLabel": "<span style=\"border-bottom: 1px dotted #000000;\">Description</span>", "listeners": { "render": Lino.quicktip_renderer("Description","(uploads.Uploads.description) A short description entered manually by the user.") }, "maxLength": 200, "name": "description", "selectOnFocus": true });
    var file2167 = Lino.file_field_handler(this,{ "allowBlank": true, "anchor": "-20", "autoHeight": true, "fieldLabel": "<span style=\"border-bottom: 1px dotted #000000;\">File</span>", "listeners": { "render": Lino.quicktip_renderer("File","(uploads.Uploads.file) Pointer to the uploaded file itself (a Django FileField).") }, "maxLength": 100, "name": "file", "selectOnFocus": true });
    var volume2168 = new Lino.RemoteComboFieldElement({ "allowBlank": true, "anchor": "-20", "autoHeight": true, "detail_action": "Lino.uploads.Volumes.detail", "emptyText": "Select a Library volume...", "fieldLabel": "<span style=\"border-bottom: 1px dotted #000000;\">Library volume</span>", "hiddenName": "volumeHidden", "insert_action": "Lino.uploads.Volumes.insert", "listeners": { "render": Lino.quicktip_renderer("Library volume","(uploads.Uploads.volume) A pointer to the library volume where this file is stored.") }, "name": "volume", "pageSize": 20, "preferred_width": 5, "related_actor_id": "uploads.Volumes", "selectOnFocus": true, "store": new Lino.ComplexRemoteComboStore({ "proxy": new Ext.data.HttpProxy({ "method": "GET", "url": "/choices/uploads/Uploads/volume" }) }) });
    var library_file2169 = new Lino.SimpleRemoteComboFieldElement({ "allowBlank": true, "anchor": "-20", "autoHeight": true, "can_create_choice": false, "fieldLabel": "<span style=\"border-bottom: 1px dotted #000000;\">Library file</span>", "listeners": { "render": Lino.quicktip_renderer("Library file","(uploads.Uploads.library_file) The path of this file, relative the volume's root.") }, "name": "library_file", "selectOnFocus": true, "store": new Lino.ComplexRemoteComboStore({ "proxy": new Ext.data.HttpProxy({ "method": "GET", "url": "/choices/uploads/Uploads/library_file" }) }) });
    var main_4_panel2170 = new Ext.Panel({ "anchor": "-20", "autoHeight": true, "autoScroll": false, "border": false, "frame": false, "hideCheckBoxLabels": true, "items": [ { "autoHeight": true, "flex": 66, "items": volume2168, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 33, "items": library_file2169, "labelAlign": "top", "layout": "form", "xtype": "panel" } ], "labelAlign": "top", "labelWidth": 0, "layout": "hbox", "layoutConfig": { "align": "stretchmax" } });
    var user2173 = new Lino.RemoteComboFieldElement({ "allowBlank": true, "anchor": "-20", "autoHeight": true, "detail_action": "Lino.users.AllUsers.detail", "emptyText": "Select a User...", "fieldLabel": "<span style=\"border-bottom: 1px dotted #000000;\">Uploaded by</span>", "hiddenName": "userHidden", "insert_action": "Lino.users.AllUsers.insert", "listeners": { "render": Lino.quicktip_renderer("Uploaded by","(uploads.Uploads.user) The author of this object.\nA pointer to lino.modlib.users.models.User.") }, "name": "user", "pageSize": 20, "preferred_width": 15, "related_actor_id": "users.AllUsers", "selectOnFocus": true, "store": new Lino.ComplexRemoteComboStore({ "proxy": new Ext.data.HttpProxy({ "method": "GET", "url": "/choices/uploads/Uploads/user" }) }) });
    var main_panel2174 = new Ext.Panel({ "autoHeight": true, "autoScroll": false, "bodyBorder": false, "border": false, "frame": true, "hideCheckBoxLabels": true, "items": [ { "anchor": "-20", "autoHeight": true, "items": type2165, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "anchor": "-20", "autoHeight": true, "items": description2166, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "anchor": "-20", "autoHeight": true, "items": file2167, "labelAlign": "top", "layout": "form", "xtype": "panel" }, main_4_panel2170, { "anchor": "-20", "autoHeight": true, "items": user2173, "labelAlign": "top", "layout": "form", "xtype": "panel" } ], "labelAlign": "top", "labelWidth": 0, "layout": "form" });
    this.items = main_panel2174;
    this.before_row_edit = function(record) {
      type2165.setContextValue('upload_area', record ? record.data['upload_areaHidden'] : undefined);
      library_file2169.setContextValue('volume', record ? record.data['volumeHidden'] : undefined);
    }
    this.onRender = function(ct, position) {
      typeof volume2168 !== 'undefined' && volume2168.on('change',Lino.chooser_handler(library_file2169,'volume'));
      Lino.uploads.Uploads.InsertFormPanel.superclass.onRender.call(this, ct, position);
    }
    Lino.uploads.Uploads.InsertFormPanel.superclass.initComponent.call(this);
  }
});


Lino.courses.StatusReport.DetailFormPanel = Ext.extend(Lino.FormPanel,{
cls: "l-DetailFormPanel utils-Report",
  layout: 'fit',
  auto_save: true,
  disable_editing: true,
  initComponent : function() {
    var body_htmlbox2179 = new Lino.HtmlBoxPanel({ "always_enabled": true, "bodyStyle": "overflow-x:hidden;", "containing_panel": this, "items": new Ext.BoxComponent({autoScroll:true}), "layout": "fit", "listeners": { "render": Lino.quicktip_renderer(null,"(utils.Report.body) ") }, "name": "body", "region": "center", "value": "<br/>" });
    var main_panel2180 = new Ext.Panel({ "autoScroll": false, "bodyBorder": false, "border": false, "frame": true, "hideCheckBoxLabels": true, "items": [ body_htmlbox2179 ], "labelAlign": "top", "labelWidth": 0, "layout": "fit" });
    this.items = main_panel2180;
    this.before_row_edit = function(record) {
      body_htmlbox2179.refresh();
    }
    Lino.courses.StatusReport.DetailFormPanel.superclass.initComponent.call(this);
  }
});


Lino.ledger.Journals.DetailFormPanel = Ext.extend(Lino.FormPanel,{
cls: "l-DetailFormPanel ledger-Journals",
  layout: 'fit',
  auto_save: true,
  actions_hotkeys: [ { "alt": false, "ba": "Lino.row_action_handler('as_pdf_p', 'GET', null)", "ctrl": true, "key": "P", "keycode": 80, "shift": false } ],
  content_type: 32,
  initComponent : function() {
    var name2181 = new Ext.form.TextField({ "allowBlank": false, "anchor": "-20", "autoHeight": true, "fieldLabel": "Designation", "listeners": { "render": Lino.quicktip_renderer("Designation","(ledger.Journals.name) ") }, "maxLength": 200, "name": "name", "selectOnFocus": true });
    var name_de2182 = new Ext.form.TextField({ "allowBlank": true, "anchor": "-20", "autoHeight": true, "fieldLabel": "Designation (de)", "listeners": { "render": Lino.quicktip_renderer("Designation (de)","(ledger.Journals.name_de) ") }, "maxLength": 200, "name": "name_de", "selectOnFocus": true });
    var name_fr2183 = new Ext.form.TextField({ "allowBlank": true, "anchor": "-20", "autoHeight": true, "fieldLabel": "Designation (fr)", "listeners": { "render": Lino.quicktip_renderer("Designation (fr)","(ledger.Journals.name_fr) ") }, "maxLength": 200, "name": "name_fr", "selectOnFocus": true });
    var ref2184 = new Ext.form.TextField({ "allowBlank": true, "anchor": "-20", "autoHeight": true, "fieldLabel": "<span style=\"border-bottom: 1px dotted #000000;\">Reference</span>", "listeners": { "render": Lino.quicktip_renderer("Reference","(ledger.Journals.ref) The reference. This must be either empty or unique.") }, "maxLength": 200, "name": "ref", "selectOnFocus": true });
    var main_1_panel2185 = new Ext.Panel({ "autoHeight": true, "autoScroll": false, "border": false, "frame": false, "hideCheckBoxLabels": true, "items": [ { "autoHeight": true, "flex": 30, "items": name2181, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 30, "items": name_de2182, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 30, "items": name_fr2183, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 7, "items": ref2184, "labelAlign": "top", "layout": "form", "xtype": "panel" } ], "labelAlign": "top", "labelWidth": 0, "layout": "hbox", "layoutConfig": { "align": "stretchmax" } });
    var journal_group2190 = new Lino.ChoicesFieldElement({ "allowBlank": false, "anchor": "-20", "autoHeight": true, "fieldLabel": "<span style=\"border-bottom: 1px dotted #000000;\">Journal group</span>", "forceSelection": true, "hiddenName": "journal_groupHidden", "listeners": { "render": Lino.quicktip_renderer("Journal group","(ledger.Journals.journal_group) Pointer to an item of JournalGroups.") }, "name": "journal_group", "selectOnFocus": true, "store": Lino.ledger.JournalGroups });
    var voucher_type2191 = new Ext.form.TextField({ "allowBlank": false, "anchor": "-20", "autoHeight": true, "fieldLabel": "<span style=\"border-bottom: 1px dotted #000000;\">Voucher type</span>", "listeners": { "render": Lino.quicktip_renderer("Voucher type","(ledger.Journals.voucher_type) Pointer to an item of VoucherTypes.") }, "maxLength": 100, "name": "voucher_type", "selectOnFocus": true });
    var trade_type2192 = new Lino.ChoicesFieldElement({ "allowBlank": true, "anchor": "-20", "autoHeight": true, "fieldLabel": "<span style=\"border-bottom: 1px dotted #000000;\">Trade type</span>", "forceSelection": true, "hiddenName": "trade_typeHidden", "listeners": { "render": Lino.quicktip_renderer("Trade type","(ledger.Journals.trade_type) Pointer to TradeTypes.") }, "name": "trade_type", "selectOnFocus": true, "store": [['','<br>']].concat(Lino.ledger.TradeTypes) });
    var seqno2193 = new Ext.form.NumberField({ "allowBlank": true, "anchor": "-20", "autoHeight": true, "fieldLabel": "<span style=\"border-bottom: 1px dotted #000000;\">No.</span>", "listeners": { "render": Lino.quicktip_renderer("No.","(ledger.Journals.seqno) The sequence number of this item with its parent.") }, "name": "seqno", "selectOnFocus": true });
    var id2194 = new Ext.form.NumberField({ "allowBlank": true, "anchor": "-20", "autoHeight": true, "fieldLabel": "ID", "listeners": { "render": Lino.quicktip_renderer("ID","(ledger.Journals.id) ") }, "name": "id", "selectOnFocus": true });
    var main_2_panel2195 = new Ext.Panel({ "autoHeight": true, "autoScroll": false, "border": false, "frame": false, "hideCheckBoxLabels": true, "items": [ { "autoHeight": true, "flex": 23, "items": journal_group2190, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 30, "items": voucher_type2191, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 30, "items": trade_type2192, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 7, "items": seqno2193, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 7, "items": id2194, "labelAlign": "top", "layout": "form", "xtype": "panel" } ], "labelAlign": "top", "labelWidth": 0, "layout": "hbox", "layoutConfig": { "align": "stretchmax" } });
    var account2201 = new Lino.RemoteComboFieldElement({ "allowBlank": true, "anchor": "-20", "autoHeight": true, "detail_action": "Lino.ledger.Accounts.detail", "emptyText": "Select a Account...", "fieldLabel": "<span style=\"border-bottom: 1px dotted #000000;\">Account</span>", "hiddenName": "accountHidden", "insert_action": "Lino.ledger.Accounts.insert", "listeners": { "render": Lino.quicktip_renderer("Account","(ledger.Journals.account) The account to use for the counter-movements generated by\nvouchers in this journal.") }, "name": "account", "pageSize": 20, "related_actor_id": "ledger.Accounts", "selectOnFocus": true, "store": new Lino.ComplexRemoteComboStore({ "proxy": new Ext.data.HttpProxy({ "method": "GET", "url": "/choices/ledger/Journals/account" }) }) });
    var partner2202 = new Lino.RemoteComboFieldElement({ "allowBlank": true, "anchor": "-20", "autoHeight": true, "detail_action": "Lino.contacts.Companies.detail", "emptyText": "Select a Organization...", "fieldLabel": "<span style=\"border-bottom: 1px dotted #000000;\">Organization</span>", "hiddenName": "partnerHidden", "insert_action": "Lino.contacts.Companies.insert", "listeners": { "render": Lino.quicktip_renderer("Organization","(ledger.Journals.partner) The partner to use as default partner for all vouchers in this\njournal.") }, "name": "partner", "pageSize": 20, "preferred_width": 20, "related_actor_id": "contacts.Companies", "selectOnFocus": true, "store": new Lino.ComplexRemoteComboStore({ "proxy": new Ext.data.HttpProxy({ "method": "GET", "url": "/choices/ledger/Journals/partner" }) }) });
    var build_method2203 = new Lino.ChoicesFieldElement({ "allowBlank": true, "anchor": "-20", "autoHeight": true, "fieldLabel": "<span style=\"border-bottom: 1px dotted #000000;\">Print method</span>", "forceSelection": true, "hiddenName": "build_methodHidden", "listeners": { "render": Lino.quicktip_renderer("Print method","(ledger.Journals.build_method) A pointer to an item of\nlino.modlib.printing.choicelists.BuildMethods.") }, "name": "build_method", "selectOnFocus": true, "store": [['','<br>']].concat(Lino.printing.BuildMethods) });
    var template2204 = new Lino.SimpleRemoteComboFieldElement({ "allowBlank": true, "anchor": "-20", "autoHeight": true, "can_create_choice": false, "fieldLabel": "<span style=\"border-bottom: 1px dotted #000000;\">Template</span>", "listeners": { "render": Lino.quicktip_renderer("Template","(ledger.Journals.template) See PrintableType.template.") }, "name": "template", "selectOnFocus": true, "store": new Lino.ComplexRemoteComboStore({ "proxy": new Ext.data.HttpProxy({ "method": "GET", "url": "/choices/ledger/Journals/template" }) }) });
    var uploads_volume2205 = new Lino.RemoteComboFieldElement({ "allowBlank": true, "anchor": "-20", "autoHeight": true, "detail_action": "Lino.uploads.Volumes.detail", "emptyText": "Select a Library volume...", "fieldLabel": "Library volume", "hiddenName": "uploads_volumeHidden", "insert_action": "Lino.uploads.Volumes.insert", "listeners": { "render": Lino.quicktip_renderer("Library volume","(ledger.Journals.uploads_volume) ") }, "name": "uploads_volume", "pageSize": 20, "preferred_width": 5, "related_actor_id": "uploads.Volumes", "selectOnFocus": true, "store": new Lino.ComplexRemoteComboStore({ "proxy": new Ext.data.HttpProxy({ "method": "GET", "url": "/choices/ledger/Journals/uploads_volume" }) }) });
    var main_3_panel2206 = new Ext.Panel({ "autoHeight": true, "autoScroll": false, "border": false, "frame": false, "hideCheckBoxLabels": true, "items": [ { "autoHeight": true, "flex": 20, "items": account2201, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 20, "items": partner2202, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 20, "items": build_method2203, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 20, "items": template2204, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 20, "items": uploads_volume2205, "labelAlign": "top", "layout": "form", "xtype": "panel" } ], "labelAlign": "top", "labelWidth": 0, "layout": "hbox", "layoutConfig": { "align": "stretchmax" } });
    var dc2212 = new Lino.ChoicesFieldElement({ "allowBlank": true, "anchor": "-20", "autoHeight": true, "fieldLabel": "<span style=\"border-bottom: 1px dotted #000000;\">Primary booking direction</span>", "forceSelection": true, "hiddenName": "dcHidden", "listeners": { "render": Lino.quicktip_renderer("Primary booking direction","(ledger.Journals.dc) The primary booking direction. Voucher items in this direction increase\nthe total amount of the voucher.") }, "name": "dc", "selectOnFocus": true, "store": [['','<br>']].concat(Lino.ledger.DC) });
    var force_sequence2213 = new Ext.form.Checkbox({ "allowBlank": false, "anchor": "-20", "autoHeight": true, "boxLabel": "Force chronological sequence", "checked": false, "hideLabel": true, "listeners": { "render": Lino.quicktip_renderer("Force chronological sequence","(ledger.Journals.force_sequence) ") }, "name": "force_sequence", "selectOnFocus": true });
    var yearly_numbering2214 = new Ext.form.Checkbox({ "allowBlank": false, "anchor": "-20", "autoHeight": true, "boxLabel": "Yearly numbering", "checked": true, "hideLabel": true, "listeners": { "render": Lino.quicktip_renderer("Yearly numbering","(ledger.Journals.yearly_numbering) Whether the number of\nvouchers should restart at 1 every year.") }, "name": "yearly_numbering", "selectOnFocus": true });
    var auto_fill_suggestions2215 = new Ext.form.Checkbox({ "allowBlank": false, "anchor": "-20", "autoHeight": true, "boxLabel": "Fill suggestions", "checked": true, "hideLabel": true, "listeners": { "render": Lino.quicktip_renderer("Fill suggestions","(ledger.Journals.auto_fill_suggestions) Whether to automatically fill voucher item from due payments\nof the partner when entering a financial voucher.") }, "name": "auto_fill_suggestions", "selectOnFocus": true });
    var auto_check_clearings2216 = new Ext.form.Checkbox({ "allowBlank": false, "anchor": "-20", "autoHeight": true, "boxLabel": "Check clearing", "checked": true, "hideLabel": true, "listeners": { "render": Lino.quicktip_renderer("Check clearing","(ledger.Journals.auto_check_clearings) Whether to automatically check and update the 'cleared' status\nof involved transactions when (de)registering a voucher of\nthis journal.") }, "name": "auto_check_clearings", "selectOnFocus": true });
    var must_declare2217 = new Ext.form.Checkbox({ "allowBlank": false, "anchor": "-20", "autoHeight": true, "boxLabel": "must declare", "checked": true, "hideLabel": true, "listeners": { "render": Lino.quicktip_renderer("must declare","(ledger.Journals.must_declare) ") }, "name": "must_declare", "selectOnFocus": true });
    var preliminary2218 = new Ext.form.Checkbox({ "allowBlank": false, "anchor": "-20", "autoHeight": true, "boxLabel": "Preliminary", "checked": false, "hideLabel": true, "listeners": { "render": Lino.quicktip_renderer("Preliminary","(ledger.Journals.preliminary) Whether transactions in this journal are considered preliminary.") }, "name": "preliminary", "selectOnFocus": true });
    var main_4_panel2219 = new Ext.Panel({ "autoHeight": true, "autoScroll": false, "border": false, "frame": false, "hideCheckBoxLabels": true, "items": [ { "autoHeight": true, "flex": 13, "items": dc2212, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 14, "items": force_sequence2213, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 14, "items": yearly_numbering2214, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 14, "items": auto_fill_suggestions2215, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 14, "items": auto_check_clearings2216, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 14, "items": must_declare2217, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 14, "items": preliminary2218, "labelAlign": "top", "layout": "form", "xtype": "panel" } ], "labelAlign": "top", "labelWidth": 0, "layout": "hbox", "layoutConfig": { "align": "stretchmax" } });
    var printed_name2227 = new Ext.form.TextField({ "allowBlank": true, "anchor": "-20", "autoHeight": true, "fieldLabel": "Printed document designation", "listeners": { "render": Lino.quicktip_renderer("Printed document designation","(ledger.Journals.printed_name) ") }, "maxLength": 100, "name": "printed_name", "selectOnFocus": true });
    var printed_name_de2228 = new Ext.form.TextField({ "allowBlank": true, "anchor": "-20", "autoHeight": true, "fieldLabel": "Printed document designation (de)", "listeners": { "render": Lino.quicktip_renderer("Printed document designation (de)","(ledger.Journals.printed_name_de) ") }, "maxLength": 100, "name": "printed_name_de", "selectOnFocus": true });
    var printed_name_fr2229 = new Ext.form.TextField({ "allowBlank": true, "anchor": "-20", "autoHeight": true, "fieldLabel": "Printed document designation (fr)", "listeners": { "render": Lino.quicktip_renderer("Printed document designation (fr)","(ledger.Journals.printed_name_fr) ") }, "maxLength": 100, "name": "printed_name_fr", "selectOnFocus": true });
    var main_5_panel2230 = new Ext.Panel({ "autoHeight": true, "autoScroll": false, "border": false, "frame": false, "hideCheckBoxLabels": true, "items": [ { "autoHeight": true, "flex": 33, "items": printed_name2227, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 33, "items": printed_name_de2228, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 33, "items": printed_name_fr2229, "labelAlign": "top", "layout": "form", "xtype": "panel" } ], "labelAlign": "top", "labelWidth": 0, "layout": "hbox", "layoutConfig": { "align": "stretchmax" } });
    var main_panel2241 = new Ext.Panel({ "autoScroll": false, "bodyBorder": false, "border": false, "frame": true, "hideCheckBoxLabels": true, "items": [ main_1_panel2185, main_2_panel2195, main_3_panel2206, main_4_panel2219, main_5_panel2230 ], "labelAlign": "top", "layout": "vbox", "layoutConfig": { "align": "stretch" } });
    this.items = main_panel2241;
    this.before_row_edit = function(record) {
      template2204.setContextValue('build_method', record ? record.data['build_methodHidden'] : undefined);
      template2204.setContextValue('voucher_type', record ? record.data['voucher_type'] : undefined);
    }
    this.onRender = function(ct, position) {
      typeof build_method2203 !== 'undefined' && build_method2203.on('change',Lino.chooser_handler(template2204,'build_method'));
      typeof voucher_type2191 !== 'undefined' && voucher_type2191.on('change',Lino.chooser_handler(template2204,'voucher_type'));
      Lino.ledger.Journals.DetailFormPanel.superclass.onRender.call(this, ct, position);
    }
    Lino.ledger.Journals.DetailFormPanel.superclass.initComponent.call(this);
  }
});


Lino.topics.Topics.InsertFormPanel = Ext.extend(Lino.FormPanel,{
cls: "l-InsertFormPanel topics-Topics",
  layout: 'fit',
  auto_save: true,
  actions_hotkeys: [ { "alt": false, "ba": "Lino.row_action_handler('as_pdf_p', 'GET', null)", "ctrl": true, "key": "P", "keycode": 80, "shift": false } ],
  autoHeight: true,
  content_type: 54,
  initComponent : function() {
    var ref2242 = new Ext.form.TextField({ "allowBlank": true, "anchor": "-20", "autoHeight": true, "fieldLabel": "<span style=\"border-bottom: 1px dotted #000000;\">Reference</span>", "listeners": { "render": Lino.quicktip_renderer("Reference","(topics.Topics.ref) The reference.") }, "maxLength": 200, "name": "ref", "selectOnFocus": true });
    var name2243 = new Ext.form.TextField({ "allowBlank": false, "anchor": "-20", "autoHeight": true, "fieldLabel": "<span style=\"border-bottom: 1px dotted #000000;\">Designation</span>", "listeners": { "render": Lino.quicktip_renderer("Designation","(topics.Topics.name) The designation in different languages.") }, "maxLength": 200, "name": "name", "selectOnFocus": true });
    var name_de2244 = new Ext.form.TextField({ "allowBlank": true, "anchor": "-20", "autoHeight": true, "fieldLabel": "Designation (de)", "listeners": { "render": Lino.quicktip_renderer("Designation (de)","(topics.Topics.name_de) ") }, "maxLength": 200, "name": "name_de", "selectOnFocus": true });
    var name_fr2245 = new Ext.form.TextField({ "allowBlank": true, "anchor": "-20", "autoHeight": true, "fieldLabel": "Designation (fr)", "listeners": { "render": Lino.quicktip_renderer("Designation (fr)","(topics.Topics.name_fr) ") }, "maxLength": 200, "name": "name_fr", "selectOnFocus": true });
    var main_2_panel2246 = new Ext.Panel({ "anchor": "-20", "autoHeight": true, "autoScroll": false, "border": false, "frame": false, "hideCheckBoxLabels": true, "items": [ { "autoHeight": true, "flex": 33, "items": name2243, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 33, "items": name_de2244, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 33, "items": name_fr2245, "labelAlign": "top", "layout": "form", "xtype": "panel" } ], "labelAlign": "top", "labelWidth": 0, "layout": "hbox", "layoutConfig": { "align": "stretchmax" } });
    var main_panel2250 = new Ext.Panel({ "autoHeight": true, "autoScroll": false, "bodyBorder": false, "border": false, "frame": true, "hideCheckBoxLabels": true, "items": [ { "anchor": "-20", "autoHeight": true, "items": ref2242, "labelAlign": "top", "layout": "form", "xtype": "panel" }, main_2_panel2246 ], "labelAlign": "top", "labelWidth": 0, "layout": "form" });
    this.items = main_panel2250;
    this.before_row_edit = function(record) {
    }
    Lino.topics.Topics.InsertFormPanel.superclass.initComponent.call(this);
  }
});


Lino.blogs.EntryTypes.DetailFormPanel = Ext.extend(Lino.FormPanel,{
cls: "l-DetailFormPanel blogs-EntryTypes",
  layout: 'fit',
  auto_save: true,
  actions_hotkeys: [ { "alt": false, "ba": "Lino.row_action_handler('as_pdf_p', 'GET', null)", "ctrl": true, "key": "P", "keycode": 80, "shift": false } ],
  content_type: 58,
  initComponent : function() {
    var id2252 = new Ext.form.NumberField({ "allowBlank": true, "anchor": "-20", "autoHeight": true, "fieldLabel": "ID", "listeners": { "render": Lino.quicktip_renderer("ID","(blogs.EntryTypes.id) ") }, "name": "id", "selectOnFocus": true });
    var name2253 = new Ext.form.TextField({ "allowBlank": false, "anchor": "-20", "autoHeight": true, "fieldLabel": "Designation", "listeners": { "render": Lino.quicktip_renderer("Designation","(blogs.EntryTypes.name) ") }, "maxLength": 200, "name": "name", "selectOnFocus": true });
    var name_de2254 = new Ext.form.TextField({ "allowBlank": true, "anchor": "-20", "autoHeight": true, "fieldLabel": "Designation (de)", "listeners": { "render": Lino.quicktip_renderer("Designation (de)","(blogs.EntryTypes.name_de) ") }, "maxLength": 200, "name": "name_de", "selectOnFocus": true });
    var name_fr2255 = new Ext.form.TextField({ "allowBlank": true, "anchor": "-20", "autoHeight": true, "fieldLabel": "Designation (fr)", "listeners": { "render": Lino.quicktip_renderer("Designation (fr)","(blogs.EntryTypes.name_fr) ") }, "maxLength": 200, "name": "name_fr", "selectOnFocus": true });
    var main_1_panel2256 = new Ext.Panel({ "autoHeight": true, "autoScroll": false, "border": false, "frame": false, "hideCheckBoxLabels": true, "items": [ { "autoHeight": true, "flex": 7, "items": id2252, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 30, "items": name2253, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 30, "items": name_de2254, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 30, "items": name_fr2255, "labelAlign": "top", "layout": "form", "xtype": "panel" } ], "labelAlign": "top", "labelWidth": 0, "layout": "hbox", "layoutConfig": { "align": "stretchmax" }, "region": "north", "split": true });
    var remark2261 = new Lino.RichTextPanel({ "allowBlank": true, "containing_panel": this, "fieldLabel": "Remark", "flex": 5, "name": "remark", "region": "center", "selectOnFocus": true, "split": true, "title": "Remark" });
    var main_panel2303 = new Lino.VBorderPanel({ "autoScroll": false, "bodyBorder": false, "border": false, "frame": true, "hideCheckBoxLabels": true, "items": [ main_1_panel2256, remark2261 ], "labelAlign": "top", "labelWidth": 63 });
    this.items = main_panel2303;
    this.before_row_edit = function(record) {
      remark2261.refresh();
    }
    Lino.blogs.EntryTypes.DetailFormPanel.superclass.initComponent.call(this);
  }
});


Lino.gfks.ContentTypes.DetailFormPanel = Ext.extend(Lino.FormPanel,{
cls: "l-DetailFormPanel gfks-ContentTypes",
  layout: 'fit',
  auto_save: true,
  actions_hotkeys: [ { "alt": false, "ba": "Lino.row_action_handler('as_pdf_p', 'GET', null)", "ctrl": true, "key": "P", "keycode": 80, "shift": false } ],
  content_type: 13,
  initComponent : function() {
    var id2304 = new Ext.form.NumberField({ "allowBlank": true, "anchor": "-20", "autoHeight": true, "fieldLabel": "ID", "listeners": { "render": Lino.quicktip_renderer("ID","(gfks.ContentTypes.id) ") }, "name": "id", "selectOnFocus": true });
    var app_label2305 = new Ext.form.TextField({ "allowBlank": false, "anchor": "-20", "autoHeight": true, "fieldLabel": "app label", "listeners": { "render": Lino.quicktip_renderer("app label","(gfks.ContentTypes.app_label) ") }, "maxLength": 100, "name": "app_label", "selectOnFocus": true });
    var model2306 = new Ext.form.TextField({ "allowBlank": false, "anchor": "-20", "autoHeight": true, "fieldLabel": "python model class name", "listeners": { "render": Lino.quicktip_renderer("python model class name","(gfks.ContentTypes.model) ") }, "maxLength": 100, "name": "model", "selectOnFocus": true });
    var base_classes_disp2307 = new Ext.form.DisplayField({ "always_enabled": true, "anchor": "-20", "autoHeight": true, "disabled": true, "fieldLabel": "Base classes", "listeners": { "render": Lino.quicktip_renderer("Base classes","(gfks.ContentTypes.base_classes) ") }, "name": "base_classes", "value": "<br/>" });
    var main_1_panel2308 = new Ext.Panel({ "autoHeight": true, "autoScroll": false, "border": false, "frame": false, "hideCheckBoxLabels": true, "items": [ { "autoHeight": true, "flex": 6, "items": id2304, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 27, "items": app_label2305, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 27, "items": model2306, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 38, "items": base_classes_disp2307, "labelAlign": "top", "layout": "form", "xtype": "panel" } ], "labelAlign": "top", "labelWidth": 0, "layout": "hbox", "layoutConfig": { "align": "stretchmax" }, "region": "north", "split": true });
    var main_panel2327 = new Lino.VBorderPanel({ "autoScroll": false, "bodyBorder": false, "border": false, "frame": true, "hideCheckBoxLabels": true, "items": [ main_1_panel2308 ], "labelAlign": "top" });
    this.items = main_panel2327;
    this.before_row_edit = function(record) {
    }
    Lino.gfks.ContentTypes.DetailFormPanel.superclass.initComponent.call(this);
  }
});


Lino.households.Households.InsertFormPanel = Ext.extend(Lino.FormPanel,{
cls: "l-InsertFormPanel households-Households",
  layout: 'fit',
  auto_save: true,
  actions_hotkeys: [ { "alt": false, "ba": "Lino.row_action_handler('print_labels', 'GET', null)", "ctrl": true, "key": "P", "keycode": 80, "shift": false }, { "alt": false, "ba": "Lino.row_action_handler('create_excerpt2', 'GET', null)", "ctrl": true, "key": "P", "keycode": 80, "shift": false } ],
  autoHeight: true,
  content_type: 45,
  initComponent : function() {
    var type2328 = new Lino.RemoteComboFieldElement({ "allowBlank": true, "anchor": "-20", "autoHeight": true, "detail_action": "Lino.households.Types.detail", "emptyText": "Select a Household Type...", "fieldLabel": "<span style=\"border-bottom: 1px dotted #000000;\">Household Type</span>", "hiddenName": "typeHidden", "listeners": { "render": Lino.quicktip_renderer("Household Type","(households.Households.type) The type of this household.  See household types") }, "name": "type", "pageSize": 20, "related_actor_id": "households.Types", "selectOnFocus": true, "store": new Lino.ComplexRemoteComboStore({ "proxy": new Ext.data.HttpProxy({ "method": "GET", "url": "/choices/households/Households/type" }) }) });
    var name2329 = new Ext.form.TextField({ "allowBlank": false, "anchor": "-20", "autoHeight": true, "fieldLabel": "<span style=\"border-bottom: 1px dotted #000000;\">Name</span>", "listeners": { "render": Lino.quicktip_renderer("Name","(households.Households.name) The full name of this partner. Used for alphabetic sorting.") }, "maxLength": 200, "name": "name", "selectOnFocus": true });
    var main_1_panel2330 = new Ext.Panel({ "anchor": "-20", "autoHeight": true, "autoScroll": false, "border": false, "frame": false, "hideCheckBoxLabels": true, "items": [ { "autoHeight": true, "flex": 48, "items": type2328, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 51, "items": name2329, "labelAlign": "top", "layout": "form", "xtype": "panel" } ], "labelAlign": "top", "labelWidth": 0, "layout": "hbox", "layoutConfig": { "align": "stretchmax" } });
    var language2333 = new Lino.ChoicesFieldElement({ "allowBlank": true, "anchor": "-20", "autoHeight": true, "fieldLabel": "<span style=\"border-bottom: 1px dotted #000000;\">Language</span>", "hiddenName": "languageHidden", "listeners": { "render": Lino.quicktip_renderer("Language","(households.Households.language) The language to use when communicating with this partner.") }, "name": "language", "selectOnFocus": true, "store": [ [ "en", "English" ], [ "de", "German" ], [ "fr", "French" ] ] });
    var main_panel2334 = new Ext.Panel({ "autoHeight": true, "autoScroll": false, "bodyBorder": false, "border": false, "frame": true, "hideCheckBoxLabels": true, "items": [ main_1_panel2330, { "anchor": "-20", "autoHeight": true, "items": language2333, "labelAlign": "top", "layout": "form", "xtype": "panel" } ], "labelAlign": "top", "labelWidth": 0, "layout": "form" });
    this.items = main_panel2334;
    this.before_row_edit = function(record) {
    }
    Lino.households.Households.InsertFormPanel.superclass.initComponent.call(this);
  }
});


Lino.calview.MonthlyView.DetailFormPanel = Ext.extend(Lino.FormPanel,{
cls: "l-DetailFormPanel calview-MonthlyView",
  layout: 'fit',
  auto_save: true,
  actions_hotkeys: [ { "alt": false, "ba": "Lino.row_action_handler('as_pdf_p', 'GET', null)", "ctrl": true, "key": "P", "keycode": 80, "shift": false } ],
  disable_editing: true,
  initComponent : function() {
    var navigation_panel_htmlbox2336 = new Lino.HtmlBoxPanel({ "always_enabled": true, "bodyStyle": "overflow-x:hidden;", "containing_panel": this, "flex": 15, "items": new Ext.BoxComponent({autoScroll:true}), "layout": "fit", "listeners": { "render": Lino.quicktip_renderer(null,"(calview.MonthlyView.navigation_panel) ") }, "name": "navigation_panel", "region": "center", "value": "<br/>" });
    var body_panel2347 = new Ext.Panel({ "autoScroll": false, "border": false, "frame": false, "hideCheckBoxLabels": true, "items": [ navigation_panel_htmlbox2336 ], "labelAlign": "top", "labelWidth": 0, "layout": "hbox", "layoutConfig": { "align": "stretch" }, "region": "center" });
    var main_panel2348 = new Ext.Panel({ "autoScroll": false, "bodyBorder": false, "border": false, "frame": true, "hideCheckBoxLabels": true, "items": [ body_panel2347 ], "labelAlign": "top", "layout": "fit" });
    this.items = main_panel2348;
    this.before_row_edit = function(record) {
      navigation_panel_htmlbox2336.refresh();
    }
    Lino.calview.MonthlyView.DetailFormPanel.superclass.initComponent.call(this);
  }
});


Lino.ledger.PaymentTerms.DetailFormPanel = Ext.extend(Lino.FormPanel,{
cls: "l-DetailFormPanel ledger-PaymentTerms",
  layout: 'fit',
  auto_save: true,
  actions_hotkeys: [ { "alt": false, "ba": "Lino.row_action_handler('as_pdf_p', 'GET', null)", "ctrl": true, "key": "P", "keycode": 80, "shift": false } ],
  content_type: 35,
  initComponent : function() {
    var ref2349 = new Ext.form.TextField({ "allowBlank": true, "anchor": "-20", "autoHeight": true, "fieldLabel": "<span style=\"border-bottom: 1px dotted #000000;\">Reference</span>", "listeners": { "render": Lino.quicktip_renderer("Reference","(ledger.PaymentTerms.ref) The reference. This must be either empty or unique.") }, "maxLength": 200, "name": "ref", "selectOnFocus": true });
    var months2350 = new Ext.form.NumberField({ "allowBlank": false, "anchor": "-20", "autoHeight": true, "fieldLabel": "<span style=\"border-bottom: 1px dotted #000000;\">Months</span>", "listeners": { "render": Lino.quicktip_renderer("Months","(ledger.PaymentTerms.months) Number of months to add to voucher_date.") }, "name": "months", "selectOnFocus": true, "value": 0 });
    var days2351 = new Ext.form.NumberField({ "allowBlank": false, "anchor": "-20", "autoHeight": true, "fieldLabel": "<span style=\"border-bottom: 1px dotted #000000;\">Days</span>", "listeners": { "render": Lino.quicktip_renderer("Days","(ledger.PaymentTerms.days) Number of days to add to voucher_date.") }, "name": "days", "selectOnFocus": true, "value": 0 });
    var end_of_month2352 = new Ext.form.Checkbox({ "allowBlank": false, "anchor": "-20", "autoHeight": true, "boxLabel": "End of month", "checked": false, "hideLabel": true, "listeners": { "render": Lino.quicktip_renderer("End of month","(ledger.PaymentTerms.end_of_month) Whether to move voucher_date to the end of month.") }, "name": "end_of_month", "selectOnFocus": true });
    var main_1_panel2353 = new Ext.Panel({ "autoHeight": true, "autoScroll": false, "border": false, "frame": false, "hideCheckBoxLabels": true, "items": [ { "autoHeight": true, "flex": 20, "items": ref2349, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 20, "items": months2350, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 20, "items": days2351, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 40, "items": end_of_month2352, "labelAlign": "top", "layout": "form", "xtype": "panel" } ], "labelAlign": "top", "labelWidth": 0, "layout": "hbox", "layoutConfig": { "align": "stretchmax" } });
    var name2358 = new Ext.form.TextField({ "allowBlank": false, "anchor": "-20", "autoHeight": true, "fieldLabel": "Designation", "listeners": { "render": Lino.quicktip_renderer("Designation","(ledger.PaymentTerms.name) ") }, "maxLength": 200, "name": "name", "selectOnFocus": true });
    var name_de2359 = new Ext.form.TextField({ "allowBlank": true, "anchor": "-20", "autoHeight": true, "fieldLabel": "Designation (de)", "listeners": { "render": Lino.quicktip_renderer("Designation (de)","(ledger.PaymentTerms.name_de) ") }, "maxLength": 200, "name": "name_de", "selectOnFocus": true });
    var name_fr2360 = new Ext.form.TextField({ "allowBlank": true, "anchor": "-20", "autoHeight": true, "fieldLabel": "Designation (fr)", "listeners": { "render": Lino.quicktip_renderer("Designation (fr)","(ledger.PaymentTerms.name_fr) ") }, "maxLength": 200, "name": "name_fr", "selectOnFocus": true });
    var main_2_panel2361 = new Ext.Panel({ "autoHeight": true, "autoScroll": false, "border": false, "frame": false, "hideCheckBoxLabels": true, "items": [ { "autoHeight": true, "flex": 33, "items": name2358, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 33, "items": name_de2359, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 33, "items": name_fr2360, "labelAlign": "top", "layout": "form", "xtype": "panel" } ], "labelAlign": "top", "labelWidth": 0, "layout": "hbox", "layoutConfig": { "align": "stretchmax" } });
    var printed_text2365 = new Ext.form.TextArea({ "allowBlank": true, "anchor": "-20 -10", "fieldLabel": "<span style=\"border-bottom: 1px dotted #000000;\">Printed text</span>", "growMax": 2000, "listeners": { "render": Lino.quicktip_renderer("Printed text","(ledger.PaymentTerms.printed_text) Used in sales/VatProductInvoice/trailer.html as\nfollows:") }, "name": "printed_text", "selectOnFocus": true });
    var printed_text_de2366 = new Ext.form.TextArea({ "allowBlank": true, "anchor": "-20 -10", "fieldLabel": "Printed text (de)", "growMax": 2000, "listeners": { "render": Lino.quicktip_renderer("Printed text (de)","(ledger.PaymentTerms.printed_text_de) ") }, "name": "printed_text_de", "selectOnFocus": true });
    var printed_text_fr2367 = new Ext.form.TextArea({ "allowBlank": true, "anchor": "-20 -10", "fieldLabel": "Printed text (fr)", "growMax": 2000, "listeners": { "render": Lino.quicktip_renderer("Printed text (fr)","(ledger.PaymentTerms.printed_text_fr) ") }, "name": "printed_text_fr", "selectOnFocus": true });
    var main_3_panel2368 = new Ext.Panel({ "autoScroll": false, "border": false, "flex": 71, "frame": false, "hideCheckBoxLabels": true, "items": [ { "flex": 33, "items": printed_text2365, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "flex": 33, "items": printed_text_de2366, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "flex": 33, "items": printed_text_fr2367, "labelAlign": "top", "layout": "form", "xtype": "panel" } ], "labelAlign": "top", "labelWidth": 0, "layout": "hbox", "layoutConfig": { "align": "stretch" } });
    var main_panel2372 = new Ext.Panel({ "autoScroll": false, "bodyBorder": false, "border": false, "frame": true, "hideCheckBoxLabels": true, "items": [ main_1_panel2353, main_2_panel2361, main_3_panel2368 ], "labelAlign": "top", "layout": "vbox", "layoutConfig": { "align": "stretch" } });
    this.items = main_panel2372;
    this.before_row_edit = function(record) {
    }
    Lino.ledger.PaymentTerms.DetailFormPanel.superclass.initComponent.call(this);
  }
});


Lino.lists.Members.DetailFormPanel = Ext.extend(Lino.FormPanel,{
cls: "l-DetailFormPanel lists-Members",
  layout: 'fit',
  auto_save: true,
  actions_hotkeys: [ { "alt": false, "ba": "Lino.row_action_handler('as_pdf_p', 'GET', null)", "ctrl": true, "key": "P", "keycode": 80, "shift": false } ],
  autoHeight: true,
  content_type: 57,
  initComponent : function() {
    var list2373 = new Lino.RemoteComboFieldElement({ "allowBlank": false, "anchor": "-20", "autoHeight": true, "detail_action": "Lino.lists.Lists.detail", "emptyText": "Select a Partner List...", "fieldLabel": "Partner List", "hiddenName": "listHidden", "insert_action": "Lino.lists.Lists.insert", "listeners": { "render": Lino.quicktip_renderer("Partner List","(lists.Members.list) ") }, "name": "list", "pageSize": 20, "related_actor_id": "lists.Lists", "selectOnFocus": true, "store": new Lino.ComplexRemoteComboStore({ "proxy": new Ext.data.HttpProxy({ "method": "GET", "url": "/choices/lists/Members/list" }) }) });
    var partner2374 = new Lino.RemoteComboFieldElement({ "allowBlank": false, "anchor": "-20", "autoHeight": true, "detail_action": "Lino.contacts.Partners.detail", "emptyText": "Select a Partner...", "fieldLabel": "Partner", "hiddenName": "partnerHidden", "listeners": { "render": Lino.quicktip_renderer("Partner","(lists.Members.partner) ") }, "name": "partner", "pageSize": 20, "preferred_width": 20, "related_actor_id": "contacts.Partners", "selectOnFocus": true, "store": new Lino.ComplexRemoteComboStore({ "proxy": new Ext.data.HttpProxy({ "method": "GET", "url": "/choices/lists/Members/partner" }) }) });
    var remark2375 = new Ext.form.TextField({ "allowBlank": true, "anchor": "-20", "autoHeight": true, "fieldLabel": "Remark", "listeners": { "render": Lino.quicktip_renderer("Remark","(lists.Members.remark) ") }, "maxLength": 200, "name": "remark", "selectOnFocus": true });
    var main_panel2376 = new Ext.Panel({ "autoHeight": true, "autoScroll": false, "bodyBorder": false, "border": false, "frame": true, "hideCheckBoxLabels": true, "items": [ { "anchor": "-20", "autoHeight": true, "items": list2373, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "anchor": "-20", "autoHeight": true, "items": partner2374, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "anchor": "-20", "autoHeight": true, "items": remark2375, "labelAlign": "top", "layout": "form", "xtype": "panel" } ], "labelAlign": "top", "labelWidth": 0, "layout": "form" });
    this.items = main_panel2376;
    this.before_row_edit = function(record) {
    }
    Lino.lists.Members.DetailFormPanel.superclass.initComponent.call(this);
  }
});


Lino.contacts.Persons.InsertFormPanel = Ext.extend(Lino.FormPanel,{
cls: "l-InsertFormPanel contacts-Persons",
  layout: 'fit',
  auto_save: true,
  actions_hotkeys: [ { "alt": false, "ba": "Lino.row_action_handler('print_labels', 'GET', null)", "ctrl": true, "key": "P", "keycode": 80, "shift": false }, { "alt": false, "ba": "Lino.row_action_handler('create_excerpt2', 'GET', null)", "ctrl": true, "key": "P", "keycode": 80, "shift": false } ],
  autoHeight: true,
  content_type: 11,
  initComponent : function() {
    var first_name2380 = new Ext.form.TextField({ "allowBlank": true, "anchor": "-20", "autoHeight": true, "fieldLabel": "<span style=\"border-bottom: 1px dotted #000000;\">First name</span>", "listeners": { "render": Lino.quicktip_renderer("First name","(contacts.Persons.first_name) The first name, also known as given name.") }, "maxLength": 200, "name": "first_name", "selectOnFocus": true });
    var last_name2381 = new Ext.form.TextField({ "allowBlank": true, "anchor": "-20", "autoHeight": true, "fieldLabel": "<span style=\"border-bottom: 1px dotted #000000;\">Last name</span>", "listeners": { "render": Lino.quicktip_renderer("Last name","(contacts.Persons.last_name) The last name, also known as family name.") }, "maxLength": 200, "name": "last_name", "selectOnFocus": true });
    var main_1_panel2382 = new Ext.Panel({ "anchor": "-20", "autoHeight": true, "autoScroll": false, "border": false, "frame": false, "hideCheckBoxLabels": true, "items": [ { "autoHeight": true, "flex": 50, "items": first_name2380, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 50, "items": last_name2381, "labelAlign": "top", "layout": "form", "xtype": "panel" } ], "labelAlign": "top", "labelWidth": 0, "layout": "hbox", "layoutConfig": { "align": "stretchmax" } });
    var gender2385 = new Lino.ChoicesFieldElement({ "allowBlank": true, "anchor": "-20", "autoHeight": true, "fieldLabel": "<span style=\"border-bottom: 1px dotted #000000;\">Gender</span>", "forceSelection": true, "hiddenName": "genderHidden", "listeners": { "render": Lino.quicktip_renderer("Gender","(contacts.Persons.gender) The sex of this person (male or female).") }, "name": "gender", "selectOnFocus": true, "store": [['','<br>']].concat(Lino.system.Genders) });
    var country2386 = new Lino.RemoteComboFieldElement({ "allowBlank": true, "anchor": "-20", "autoHeight": true, "can_create_choice": false, "detail_action": "Lino.countries.Countries.detail", "emptyText": "Select a Country...", "fieldLabel": "Country", "hiddenName": "countryHidden", "insert_action": "Lino.countries.Countries.insert", "listeners": { "render": Lino.quicktip_renderer("Country","(contacts.Persons.country) ") }, "name": "country", "pageSize": 20, "related_actor_id": "countries.Countries", "selectOnFocus": true, "store": new Lino.ComplexRemoteComboStore({ "proxy": new Ext.data.HttpProxy({ "method": "GET", "url": "/choices/contacts/Persons/country" }) }) });
    var language2387 = new Lino.ChoicesFieldElement({ "allowBlank": true, "anchor": "-20", "autoHeight": true, "fieldLabel": "<span style=\"border-bottom: 1px dotted #000000;\">Language</span>", "hiddenName": "languageHidden", "listeners": { "render": Lino.quicktip_renderer("Language","(contacts.Persons.language) The language to use when communicating with this partner.") }, "name": "language", "selectOnFocus": true, "store": [ [ "en", "English" ], [ "de", "German" ], [ "fr", "French" ] ] });
    var main_2_panel2388 = new Ext.Panel({ "anchor": "-20", "autoHeight": true, "autoScroll": false, "border": false, "frame": false, "hideCheckBoxLabels": true, "items": [ { "autoHeight": true, "flex": 18, "items": gender2385, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 40, "items": country2386, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 40, "items": language2387, "labelAlign": "top", "layout": "form", "xtype": "panel" } ], "labelAlign": "top", "labelWidth": 0, "layout": "hbox", "layoutConfig": { "align": "stretchmax" } });
    var email2392 = new Ext.form.TextField({ "allowBlank": true, "anchor": "-20", "autoHeight": true, "fieldLabel": "<span style=\"border-bottom: 1px dotted #000000;\">e-mail address</span>", "listeners": { "render": Lino.quicktip_renderer("e-mail address","(contacts.Persons.email) The primary email address.") }, "maxLength": 254, "name": "email", "selectOnFocus": true });
    var gsm2393 = new Ext.form.TextField({ "allowBlank": true, "anchor": "-20", "autoHeight": true, "fieldLabel": "<span style=\"border-bottom: 1px dotted #000000;\">GSM</span>", "listeners": { "render": Lino.quicktip_renderer("GSM","(contacts.Persons.gsm) The primary mobile phone number.") }, "maxLength": 200, "name": "gsm", "selectOnFocus": true });
    var main_panel2394 = new Ext.Panel({ "autoHeight": true, "autoScroll": false, "bodyBorder": false, "border": false, "frame": true, "hideCheckBoxLabels": true, "items": [ main_1_panel2382, main_2_panel2388, { "anchor": "-20", "autoHeight": true, "items": email2392, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "anchor": "-20", "autoHeight": true, "items": gsm2393, "labelAlign": "top", "layout": "form", "xtype": "panel" } ], "labelAlign": "top", "labelWidth": 0, "layout": "form" });
    this.items = main_panel2394;
    this.before_row_edit = function(record) {
    }
    Lino.contacts.Persons.InsertFormPanel.superclass.initComponent.call(this);
  }
});


Lino.contacts.Persons.DetailFormPanel = Ext.extend(Lino.FormPanel,{
cls: "l-DetailFormPanel contacts-Persons",
  layout: 'fit',
  auto_save: true,
  actions_hotkeys: [ { "alt": false, "ba": "Lino.row_action_handler('print_labels', 'GET', null)", "ctrl": true, "key": "P", "keycode": 80, "shift": false }, { "alt": false, "ba": "Lino.row_action_handler('create_excerpt2', 'GET', null)", "ctrl": true, "key": "P", "keycode": 80, "shift": false } ],
  content_type: 11,
  initComponent : function() {
    var navigation_panel_htmlbox2397 = new Lino.HtmlBoxPanel({ "always_enabled": true, "bodyStyle": "overflow-x:hidden;", "containing_panel": this, "flex": 25, "items": new Ext.BoxComponent({autoScroll:true}), "layout": "fit", "listeners": { "render": Lino.quicktip_renderer(null,"(contacts.Persons.navigation_panel) ") }, "name": "navigation_panel", "value": "<br/>" });
    var overview_htmlbox2398 = new Lino.HtmlBoxPanel({ "always_enabled": true, "bodyStyle": "overflow-x:hidden;", "containing_panel": this, "flex": 45, "items": new Ext.BoxComponent({autoScroll:true}), "layout": "fit", "listeners": { "render": Lino.quicktip_renderer(null,"(contacts.Persons.overview) ") }, "name": "overview", "value": "<br/>" });
    var last_name2399 = new Ext.form.TextField({ "allowBlank": true, "anchor": "-20", "autoHeight": true, "fieldLabel": "<span style=\"border-bottom: 1px dotted #000000;\">Last name</span>", "listeners": { "render": Lino.quicktip_renderer("Last name","(contacts.Persons.last_name) The last name, also known as family name.") }, "maxLength": 200, "name": "last_name", "selectOnFocus": true });
    var first_name2400 = new Ext.form.TextField({ "allowBlank": true, "anchor": "-20", "autoHeight": true, "fieldLabel": "<span style=\"border-bottom: 1px dotted #000000;\">First name</span>", "listeners": { "render": Lino.quicktip_renderer("First name","(contacts.Persons.first_name) The first name, also known as given name.") }, "maxLength": 200, "name": "first_name", "selectOnFocus": true });
    var contact_box_1_panel2401 = new Ext.Panel({ "anchor": "-20", "autoHeight": true, "autoScroll": false, "border": false, "frame": false, "hideCheckBoxLabels": true, "items": [ { "autoHeight": true, "flex": 58, "items": last_name2399, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 41, "items": first_name2400, "labelAlign": "top", "layout": "form", "xtype": "panel" } ], "labelAlign": "top", "labelWidth": 0, "layout": "hbox", "layoutConfig": { "align": "stretchmax" } });
    var gender2404 = new Lino.ChoicesFieldElement({ "allowBlank": true, "anchor": "-20", "autoHeight": true, "fieldLabel": "<span style=\"border-bottom: 1px dotted #000000;\">Gender</span>", "forceSelection": true, "hiddenName": "genderHidden", "listeners": { "render": Lino.quicktip_renderer("Gender","(contacts.Persons.gender) The sex of this person (male or female).") }, "name": "gender", "selectOnFocus": true, "store": [['','<br>']].concat(Lino.system.Genders) });
    var language2405 = new Lino.ChoicesFieldElement({ "allowBlank": true, "anchor": "-20", "autoHeight": true, "fieldLabel": "<span style=\"border-bottom: 1px dotted #000000;\">Language</span>", "hiddenName": "languageHidden", "listeners": { "render": Lino.quicktip_renderer("Language","(contacts.Persons.language) The language to use when communicating with this partner.") }, "name": "language", "selectOnFocus": true, "store": [ [ "en", "English" ], [ "de", "German" ], [ "fr", "French" ] ] });
    var contact_box_2_panel2406 = new Ext.Panel({ "anchor": "-20", "autoHeight": true, "autoScroll": false, "border": false, "frame": false, "hideCheckBoxLabels": true, "items": [ { "autoHeight": true, "flex": 47, "items": gender2404, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 52, "items": language2405, "labelAlign": "top", "layout": "form", "xtype": "panel" } ], "labelAlign": "top", "labelWidth": 0, "layout": "hbox", "layoutConfig": { "align": "stretchmax" } });
    var birth_date2409 = new Lino.IncompleteDateField({ "allowBlank": true, "anchor": "-20", "autoHeight": true, "fieldLabel": "<span style=\"border-bottom: 1px dotted #000000;\">Birth date</span>", "listeners": { "render": Lino.quicktip_renderer("Birth date","(contacts.Persons.birth_date) Uncomplete dates are allowed, e.g.\n\"00.00.1980\" means \"some day in 1980\",\n\"00.07.1980\" means \"in July 1980\"\nor \"23.07.0000\" means \"on a 23th of July\".") }, "name": "birth_date", "selectOnFocus": true });
    var age_disp2410 = new Ext.form.DisplayField({ "always_enabled": true, "anchor": "-20", "autoHeight": true, "disabled": true, "fieldLabel": "<span style=\"border-bottom: 1px dotted #000000;\">Age</span>", "listeners": { "render": Lino.quicktip_renderer("Age","(contacts.Persons.age) Virtual field displaying the age in years.") }, "name": "age", "value": "<br/>" });
    var id2411 = new Ext.form.NumberField({ "allowBlank": true, "anchor": "-20", "autoHeight": true, "fieldLabel": "ID", "listeners": { "render": Lino.quicktip_renderer("ID","(contacts.Persons.id) ") }, "name": "id", "selectOnFocus": true });
    var contact_box_3_panel2412 = new Ext.Panel({ "anchor": "-20", "autoHeight": true, "autoScroll": false, "border": false, "frame": false, "hideCheckBoxLabels": true, "items": [ { "autoHeight": true, "flex": 42, "items": birth_date2409, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 35, "items": age_disp2410, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 21, "items": id2411, "labelAlign": "top", "layout": "form", "xtype": "panel" } ], "labelAlign": "top", "labelWidth": 0, "layout": "hbox", "layoutConfig": { "align": "stretchmax" } });
    var contact_box_panel2416 = new Ext.Panel({ "autoHeight": true, "autoScroll": false, "bodyBorder": false, "border": false, "flex": 54, "frame": true, "hideCheckBoxLabels": true, "items": [ contact_box_1_panel2401, contact_box_2_panel2406, contact_box_3_panel2412 ], "labelAlign": "top", "layout": "form" });
    var general_box_1_panel2417 = new Ext.Panel({ "autoHeight": true, "autoScroll": false, "border": false, "frame": false, "hideCheckBoxLabels": true, "items": [ overview_htmlbox2398, contact_box_panel2416 ], "labelAlign": "top", "labelWidth": 0, "layout": "hbox", "layoutConfig": { "align": "stretchmax" } });
    var lists_MembersByPartner_htmlbox2428 = new Lino.HtmlBoxPanel({ "always_enabled": true, "bodyStyle": "overflow-x:hidden;", "containing_panel": this, "flex": 33, "items": new Ext.BoxComponent({autoScroll:true}), "layout": "fit", "listeners": { "render": Lino.quicktip_renderer("List memberships","(contacts.Persons.lists.MembersByPartner) ") }, "name": "lists.MembersByPartner", "region": "center", "title": "List memberships", "value": "<br/>" });
    var general_box_2_panel2430 = new Ext.Panel({ "autoScroll": false, "border": false, "flex": 50, "frame": false, "hideCheckBoxLabels": true, "items": [ lists_MembersByPartner_htmlbox2428 ], "labelAlign": "top", "labelWidth": 153, "layout": "hbox", "layoutConfig": { "align": "stretch" } });
    var general_box_panel2431 = new Ext.Panel({ "autoScroll": false, "bodyBorder": false, "border": false, "flex": 75, "frame": true, "hideCheckBoxLabels": true, "items": [ general_box_1_panel2417, general_box_2_panel2430 ], "labelAlign": "top", "layout": "vbox", "layoutConfig": { "align": "stretch" } });
    var general_panel2432 = new Ext.Panel({ "autoScroll": false, "border": false, "frame": false, "hideCheckBoxLabels": true, "items": [ navigation_panel_htmlbox2397, general_box_panel2431 ], "labelAlign": "top", "labelWidth": 0, "layout": "hbox", "layoutConfig": { "align": "stretch" }, "listeners": { "activate": Lino.on_tab_activate }, "title": "General" });
    var remarks2456 = new Lino.RichTextPanel({ "allowBlank": true, "containing_panel": this, "fieldLabel": "Remarks", "flex": 5, "name": "remarks", "region": "center", "selectOnFocus": true, "split": true, "title": "Remarks" });
    var more_left_panel2461 = new Lino.VBorderPanel({ "autoScroll": false, "bodyBorder": false, "border": false, "flex": 66, "frame": true, "hideCheckBoxLabels": true, "items": [ remarks2456 ], "labelAlign": "top", "labelWidth": 117, "region": "center" });
    var more_1_panel2463 = new Ext.Panel({ "autoScroll": false, "border": false, "frame": false, "hideCheckBoxLabels": true, "items": [ more_left_panel2461 ], "labelAlign": "top", "labelWidth": 81, "layout": "hbox", "layoutConfig": { "align": "stretch" }, "listeners": { "activate": Lino.on_tab_activate }, "title": "More" });
    var main_panel2464 = new Ext.TabPanel({ "activeTab": 0, "autoScroll": false, "bodyBorder": false, "border": false, "enableTabScroll": true, "frame": true, "hideCheckBoxLabels": true, "items": [ general_panel2432, more_1_panel2463 ], "labelAlign": "top", "split": true });
    this.items = main_panel2464;
    this.before_row_edit = function(record) {
      navigation_panel_htmlbox2397.refresh();
      overview_htmlbox2398.refresh();
      lists_MembersByPartner_htmlbox2428.refresh();
      remarks2456.refresh();
    }
    Lino.contacts.Persons.DetailFormPanel.superclass.initComponent.call(this);
  }
});


Lino.ledger.Journals.InsertFormPanel = Ext.extend(Lino.FormPanel,{
cls: "l-InsertFormPanel ledger-Journals",
  layout: 'fit',
  auto_save: true,
  actions_hotkeys: [ { "alt": false, "ba": "Lino.row_action_handler('as_pdf_p', 'GET', null)", "ctrl": true, "key": "P", "keycode": 80, "shift": false } ],
  autoHeight: true,
  content_type: 32,
  initComponent : function() {
    var ref2465 = new Ext.form.TextField({ "allowBlank": true, "anchor": "-20", "autoHeight": true, "fieldLabel": "<span style=\"border-bottom: 1px dotted #000000;\">Reference</span>", "listeners": { "render": Lino.quicktip_renderer("Reference","(ledger.Journals.ref) The reference. This must be either empty or unique.") }, "maxLength": 200, "name": "ref", "selectOnFocus": true });
    var name2466 = new Ext.form.TextField({ "allowBlank": false, "anchor": "-20", "autoHeight": true, "fieldLabel": "Designation", "listeners": { "render": Lino.quicktip_renderer("Designation","(ledger.Journals.name) ") }, "maxLength": 200, "name": "name", "selectOnFocus": true });
    var name_de2467 = new Ext.form.TextField({ "allowBlank": true, "anchor": "-20", "autoHeight": true, "fieldLabel": "Designation (de)", "listeners": { "render": Lino.quicktip_renderer("Designation (de)","(ledger.Journals.name_de) ") }, "maxLength": 200, "name": "name_de", "selectOnFocus": true });
    var name_fr2468 = new Ext.form.TextField({ "allowBlank": true, "anchor": "-20", "autoHeight": true, "fieldLabel": "Designation (fr)", "listeners": { "render": Lino.quicktip_renderer("Designation (fr)","(ledger.Journals.name_fr) ") }, "maxLength": 200, "name": "name_fr", "selectOnFocus": true });
    var main_1_panel2469 = new Ext.Panel({ "anchor": "-20", "autoHeight": true, "autoScroll": false, "border": false, "frame": false, "hideCheckBoxLabels": true, "items": [ { "autoHeight": true, "flex": 7, "items": ref2465, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 30, "items": name2466, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 30, "items": name_de2467, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 30, "items": name_fr2468, "labelAlign": "top", "layout": "form", "xtype": "panel" } ], "labelAlign": "top", "labelWidth": 0, "layout": "hbox", "layoutConfig": { "align": "stretchmax" } });
    var journal_group2474 = new Lino.ChoicesFieldElement({ "allowBlank": false, "anchor": "-20", "autoHeight": true, "fieldLabel": "<span style=\"border-bottom: 1px dotted #000000;\">Journal group</span>", "forceSelection": true, "hiddenName": "journal_groupHidden", "listeners": { "render": Lino.quicktip_renderer("Journal group","(ledger.Journals.journal_group) Pointer to an item of JournalGroups.") }, "name": "journal_group", "selectOnFocus": true, "store": Lino.ledger.JournalGroups });
    var voucher_type2475 = new Ext.form.TextField({ "allowBlank": false, "anchor": "-20", "autoHeight": true, "fieldLabel": "<span style=\"border-bottom: 1px dotted #000000;\">Voucher type</span>", "listeners": { "render": Lino.quicktip_renderer("Voucher type","(ledger.Journals.voucher_type) Pointer to an item of VoucherTypes.") }, "maxLength": 100, "name": "voucher_type", "selectOnFocus": true });
    var main_panel2476 = new Ext.Panel({ "autoHeight": true, "autoScroll": false, "bodyBorder": false, "border": false, "frame": true, "hideCheckBoxLabels": true, "items": [ main_1_panel2469, { "anchor": "-20", "autoHeight": true, "items": journal_group2474, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "anchor": "-20", "autoHeight": true, "items": voucher_type2475, "labelAlign": "top", "layout": "form", "xtype": "panel" } ], "labelAlign": "top", "labelWidth": 0, "layout": "form" });
    this.items = main_panel2476;
    this.before_row_edit = function(record) {
    }
    Lino.ledger.Journals.InsertFormPanel.superclass.initComponent.call(this);
  }
});


Lino.phones.ContactDetails.DetailFormPanel = Ext.extend(Lino.FormPanel,{
cls: "l-DetailFormPanel phones-ContactDetails",
  layout: 'fit',
  auto_save: true,
  actions_hotkeys: [ { "alt": false, "ba": "Lino.row_action_handler('as_pdf_p', 'GET', null)", "ctrl": true, "key": "P", "keycode": 80, "shift": false } ],
  autoHeight: true,
  content_type: 43,
  initComponent : function() {
    var partner2479 = new Lino.RemoteComboFieldElement({ "allowBlank": false, "anchor": "-20", "autoHeight": true, "detail_action": "Lino.contacts.Partners.detail", "emptyText": "Select a Partner...", "fieldLabel": "Partner", "hiddenName": "partnerHidden", "listeners": { "render": Lino.quicktip_renderer("Partner","(phones.ContactDetails.partner) ") }, "name": "partner", "pageSize": 20, "preferred_width": 20, "related_actor_id": "contacts.Partners", "selectOnFocus": true, "store": new Lino.ComplexRemoteComboStore({ "proxy": new Ext.data.HttpProxy({ "method": "GET", "url": "/choices/phones/ContactDetails/partner" }) }) });
    var detail_type2480 = new Lino.ChoicesFieldElement({ "allowBlank": false, "anchor": "-20", "autoHeight": true, "fieldLabel": "Contact detail type", "forceSelection": true, "hiddenName": "detail_typeHidden", "listeners": { "render": Lino.quicktip_renderer("Contact detail type","(phones.ContactDetails.detail_type) ") }, "name": "detail_type", "selectOnFocus": true, "store": Lino.phones.ContactDetailTypes });
    var value2481 = new Ext.form.TextField({ "allowBlank": true, "anchor": "-20", "autoHeight": true, "fieldLabel": "Value", "listeners": { "render": Lino.quicktip_renderer("Value","(phones.ContactDetails.value) ") }, "maxLength": 200, "name": "value", "selectOnFocus": true });
    var remark2482 = new Ext.form.TextField({ "allowBlank": true, "anchor": "-20", "autoHeight": true, "fieldLabel": "Remark", "listeners": { "render": Lino.quicktip_renderer("Remark","(phones.ContactDetails.remark) ") }, "maxLength": 200, "name": "remark", "selectOnFocus": true });
    var start_date2483 = new Lino.DateField({ "allowBlank": true, "anchor": "-20", "autoHeight": true, "fieldLabel": "Start date", "listeners": { "render": Lino.quicktip_renderer("Start date","(phones.ContactDetails.start_date) ") }, "name": "start_date", "selectOnFocus": true });
    var end_date2484 = new Lino.DateField({ "allowBlank": true, "anchor": "-20", "autoHeight": true, "fieldLabel": "End date", "listeners": { "render": Lino.quicktip_renderer("End date","(phones.ContactDetails.end_date) ") }, "name": "end_date", "selectOnFocus": true });
    var main_5_panel2485 = new Ext.Panel({ "anchor": "-20", "autoHeight": true, "autoScroll": false, "border": false, "frame": false, "hideCheckBoxLabels": true, "items": [ { "autoHeight": true, "flex": 50, "items": start_date2483, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 50, "items": end_date2484, "labelAlign": "top", "layout": "form", "xtype": "panel" } ], "labelAlign": "top", "labelWidth": 0, "layout": "hbox", "layoutConfig": { "align": "stretchmax" } });
    var main_panel2488 = new Ext.Panel({ "autoHeight": true, "autoScroll": false, "bodyBorder": false, "border": false, "frame": true, "hideCheckBoxLabels": true, "items": [ { "anchor": "-20", "autoHeight": true, "items": partner2479, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "anchor": "-20", "autoHeight": true, "items": detail_type2480, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "anchor": "-20", "autoHeight": true, "items": value2481, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "anchor": "-20", "autoHeight": true, "items": remark2482, "labelAlign": "top", "layout": "form", "xtype": "panel" }, main_5_panel2485 ], "labelAlign": "top", "labelWidth": 0, "layout": "form" });
    this.items = main_panel2488;
    this.before_row_edit = function(record) {
    }
    Lino.phones.ContactDetails.DetailFormPanel.superclass.initComponent.call(this);
  }
});


Lino.households.MembersByPerson.InsertFormPanel = Ext.extend(Lino.FormPanel,{
cls: "l-InsertFormPanel households-MembersByPerson",
  layout: 'fit',
  auto_save: true,
  actions_hotkeys: [ { "alt": false, "ba": "Lino.row_action_handler('as_pdf_p', 'GET', null)", "ctrl": true, "key": "P", "keycode": 80, "shift": false } ],
  autoHeight: true,
  content_type: 46,
  initComponent : function() {
    var person2493 = new Lino.RemoteComboFieldElement({ "allowBlank": true, "anchor": "-20", "autoHeight": true, "detail_action": "Lino.contacts.Persons.detail", "emptyText": "Select a Person...", "fieldLabel": "Person", "hiddenName": "personHidden", "insert_action": "Lino.contacts.Persons.insert", "listeners": { "render": Lino.quicktip_renderer("Person","(households.MembersByPerson.person) ") }, "name": "person", "pageSize": 20, "preferred_width": 20, "related_actor_id": "contacts.Persons", "selectOnFocus": true, "store": new Lino.ComplexRemoteComboStore({ "proxy": new Ext.data.HttpProxy({ "method": "GET", "url": "/choices/households/MembersByPerson/person" }) }) });
    var role2494 = new Lino.ChoicesFieldElement({ "allowBlank": true, "anchor": "-20", "autoHeight": true, "fieldLabel": "Role", "forceSelection": true, "hiddenName": "roleHidden", "listeners": { "render": Lino.quicktip_renderer("Role","(households.MembersByPerson.role) ") }, "name": "role", "selectOnFocus": true, "store": [['','<br>']].concat(Lino.households.MemberRoles) });
    var household2495 = new Lino.RemoteComboFieldElement({ "allowBlank": false, "anchor": "-20", "autoHeight": true, "detail_action": "Lino.households.Households.detail", "emptyText": "Select a Household...", "fieldLabel": "Household", "hiddenName": "householdHidden", "insert_action": "Lino.households.Households.insert", "listeners": { "render": Lino.quicktip_renderer("Household","(households.MembersByPerson.household) ") }, "name": "household", "pageSize": 20, "preferred_width": 20, "related_actor_id": "households.Households", "selectOnFocus": true, "store": new Lino.ComplexRemoteComboStore({ "proxy": new Ext.data.HttpProxy({ "method": "GET", "url": "/choices/households/MembersByPerson/household" }) }) });
    var primary2496 = new Ext.form.Checkbox({ "allowBlank": false, "anchor": "-20", "autoHeight": true, "boxLabel": "Primary", "checked": false, "hideLabel": true, "listeners": { "render": Lino.quicktip_renderer("Primary","(households.MembersByPerson.primary) Whether this is the primary household of this person.\nChecking this field will automatically disable any other primary memberships.") }, "name": "primary", "selectOnFocus": true });
    var main_panel2497 = new Ext.Panel({ "autoHeight": true, "autoScroll": false, "bodyBorder": false, "border": false, "frame": true, "hideCheckBoxLabels": true, "items": [ { "anchor": "-20", "autoHeight": true, "items": person2493, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "anchor": "-20", "autoHeight": true, "items": role2494, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "anchor": "-20", "autoHeight": true, "items": household2495, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "anchor": "-20", "autoHeight": true, "items": primary2496, "labelAlign": "top", "layout": "form", "xtype": "panel" } ], "labelAlign": "top", "labelWidth": 0, "layout": "form" });
    this.items = main_panel2497;
    this.before_row_edit = function(record) {
    }
    Lino.households.MembersByPerson.InsertFormPanel.superclass.initComponent.call(this);
  }
});


Lino.sepa.AccountsByPartner.InsertFormPanel = Ext.extend(Lino.FormPanel,{
cls: "l-InsertFormPanel sepa-AccountsByPartner",
  layout: 'fit',
  auto_save: true,
  actions_hotkeys: [ { "alt": false, "ba": "Lino.row_action_handler('as_pdf_p', 'GET', null)", "ctrl": true, "key": "P", "keycode": 80, "shift": false } ],
  autoHeight: true,
  content_type: 41,
  initComponent : function() {
    var iban817 = new Lino.UppercaseTextField({ "allowBlank": false, "anchor": "-20", "autoHeight": true, "fieldLabel": "IBAN", "listeners": { "render": Lino.quicktip_renderer("IBAN","(sepa.AccountsByPartner.iban) ") }, "maxLength": 34, "name": "iban", "selectOnFocus": true });
    var bic818 = new Lino.UppercaseTextField({ "allowBlank": true, "anchor": "-20", "autoHeight": true, "fieldLabel": "BIC", "listeners": { "render": Lino.quicktip_renderer("BIC","(sepa.AccountsByPartner.bic) ") }, "maxLength": 11, "name": "bic", "selectOnFocus": true });
    var main_1_panel819 = new Ext.Panel({ "anchor": "-20", "autoHeight": true, "autoScroll": false, "border": false, "frame": false, "hideCheckBoxLabels": true, "items": [ { "autoHeight": true, "flex": 63, "items": iban817, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 36, "items": bic818, "labelAlign": "top", "layout": "form", "xtype": "panel" } ], "labelAlign": "top", "labelWidth": 0, "layout": "hbox", "layoutConfig": { "align": "stretchmax" } });
    var remark822 = new Ext.form.TextField({ "allowBlank": true, "anchor": "-20", "autoHeight": true, "fieldLabel": "Remark", "listeners": { "render": Lino.quicktip_renderer("Remark","(sepa.AccountsByPartner.remark) ") }, "maxLength": 200, "name": "remark", "selectOnFocus": true });
    var main_panel823 = new Ext.Panel({ "autoHeight": true, "autoScroll": false, "bodyBorder": false, "border": false, "frame": true, "hideCheckBoxLabels": true, "items": [ main_1_panel819, { "anchor": "-20", "autoHeight": true, "items": remark822, "labelAlign": "top", "layout": "form", "xtype": "panel" } ], "labelAlign": "top", "labelWidth": 0, "layout": "form" });
    this.items = main_panel823;
    this.before_row_edit = function(record) {
    }
    Lino.sepa.AccountsByPartner.InsertFormPanel.superclass.initComponent.call(this);
  }
});


Lino.lists.Lists.InsertFormPanel = Ext.extend(Lino.FormPanel,{
cls: "l-InsertFormPanel lists-Lists",
  layout: 'fit',
  auto_save: true,
  actions_hotkeys: [ { "alt": false, "ba": "Lino.row_action_handler('print_labels', 'GET', null)", "ctrl": true, "key": "P", "keycode": 80, "shift": false }, { "alt": false, "ba": "Lino.row_action_handler('print_members_html', 'GET', null)", "ctrl": true, "key": "P", "keycode": 80, "shift": false } ],
  content_type: 56,
  initComponent : function() {
    var ref2502 = new Ext.form.TextField({ "allowBlank": true, "anchor": "-20", "autoHeight": true, "fieldLabel": "<span style=\"border-bottom: 1px dotted #000000;\">Reference</span>", "listeners": { "render": Lino.quicktip_renderer("Reference","(lists.Lists.ref) The reference. This must be either empty or unique.") }, "maxLength": 200, "name": "ref", "selectOnFocus": true });
    var list_type2503 = new Lino.RemoteComboFieldElement({ "allowBlank": true, "anchor": "-20", "autoHeight": true, "emptyText": "Select a List Type...", "fieldLabel": "List Type", "hiddenName": "list_typeHidden", "listeners": { "render": Lino.quicktip_renderer("List Type","(lists.Lists.list_type) ") }, "name": "list_type", "pageSize": 20, "related_actor_id": "lists.ListTypes", "selectOnFocus": true, "store": new Lino.ComplexRemoteComboStore({ "proxy": new Ext.data.HttpProxy({ "method": "GET", "url": "/choices/lists/Lists/list_type" }) }) });
    var main_1_panel2504 = new Ext.Panel({ "autoHeight": true, "autoScroll": false, "border": false, "frame": false, "hideCheckBoxLabels": true, "items": [ { "autoHeight": true, "flex": 66, "items": ref2502, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 33, "items": list_type2503, "labelAlign": "top", "layout": "form", "xtype": "panel" } ], "labelAlign": "top", "labelWidth": 0, "layout": "hbox", "layoutConfig": { "align": "stretchmax" } });
    var designation2507 = new Ext.form.TextField({ "allowBlank": false, "anchor": "-20", "autoHeight": true, "fieldLabel": "Designation", "listeners": { "render": Lino.quicktip_renderer("Designation","(lists.Lists.designation) ") }, "maxLength": 200, "name": "designation", "selectOnFocus": true });
    var designation_de2508 = new Ext.form.TextField({ "allowBlank": true, "anchor": "-20", "autoHeight": true, "fieldLabel": "Designation (de)", "listeners": { "render": Lino.quicktip_renderer("Designation (de)","(lists.Lists.designation_de) ") }, "maxLength": 200, "name": "designation_de", "selectOnFocus": true });
    var designation_fr2509 = new Ext.form.TextField({ "allowBlank": true, "anchor": "-20", "autoHeight": true, "fieldLabel": "Designation (fr)", "listeners": { "render": Lino.quicktip_renderer("Designation (fr)","(lists.Lists.designation_fr) ") }, "maxLength": 200, "name": "designation_fr", "selectOnFocus": true });
    var main_2_panel2510 = new Ext.Panel({ "autoHeight": true, "autoScroll": false, "border": false, "frame": false, "hideCheckBoxLabels": true, "items": [ { "autoHeight": true, "flex": 33, "items": designation2507, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 33, "items": designation_de2508, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 33, "items": designation_fr2509, "labelAlign": "top", "layout": "form", "xtype": "panel" } ], "labelAlign": "top", "labelWidth": 0, "layout": "hbox", "layoutConfig": { "align": "stretchmax" } });
    var remarks2514 = new Lino.RichTextPanel({ "allowBlank": true, "containing_panel": this, "fieldLabel": "Remarks", "flex": 71, "name": "remarks", "selectOnFocus": true, "title": "Remarks" });
    var main_panel2515 = new Ext.Panel({ "autoScroll": false, "bodyBorder": false, "border": false, "frame": true, "hideCheckBoxLabels": true, "items": [ main_1_panel2504, main_2_panel2510, remarks2514 ], "labelAlign": "top", "labelWidth": 72, "layout": "vbox", "layoutConfig": { "align": "stretch" } });
    this.items = main_panel2515;
    this.before_row_edit = function(record) {
      remarks2514.refresh();
    }
    Lino.lists.Lists.InsertFormPanel.superclass.initComponent.call(this);
  }
});


Lino.topics.InterestsByController.InsertFormPanel = Ext.extend(Lino.FormPanel,{
cls: "l-InsertFormPanel topics-InterestsByController",
  layout: 'fit',
  auto_save: true,
  actions_hotkeys: [ { "alt": false, "ba": "Lino.row_action_handler('as_pdf_p', 'GET', null)", "ctrl": true, "key": "P", "keycode": 80, "shift": false } ],
  content_type: 53,
  initComponent : function() {
    var topic2516 = new Lino.RemoteComboFieldElement({ "allowBlank": false, "anchor": "-20", "autoHeight": true, "detail_action": "Lino.topics.Topics.detail", "emptyText": "Select a Topic...", "fieldLabel": "Topic", "hiddenName": "topicHidden", "insert_action": "Lino.topics.Topics.insert", "listeners": { "render": Lino.quicktip_renderer("Topic","(topics.InterestsByController.topic) ") }, "name": "topic", "pageSize": 20, "related_actor_id": "topics.Topics", "selectOnFocus": true, "store": new Lino.ComplexRemoteComboStore({ "proxy": new Ext.data.HttpProxy({ "method": "GET", "url": "/choices/topics/InterestsByController/topic" }) }) });
    var partner2517 = new Lino.RemoteComboFieldElement({ "allowBlank": true, "anchor": "-20", "autoHeight": true, "detail_action": "Lino.contacts.Partners.detail", "emptyText": "Select a Partner...", "fieldLabel": "Partner", "hiddenName": "partnerHidden", "listeners": { "render": Lino.quicktip_renderer("Partner","(topics.InterestsByController.partner) ") }, "name": "partner", "pageSize": 20, "preferred_width": 20, "related_actor_id": "contacts.Partners", "selectOnFocus": true, "store": new Lino.ComplexRemoteComboStore({ "proxy": new Ext.data.HttpProxy({ "method": "GET", "url": "/choices/topics/InterestsByController/partner" }) }) });
    var main_1_panel2518 = new Ext.Panel({ "autoHeight": true, "autoScroll": false, "border": false, "frame": false, "hideCheckBoxLabels": true, "items": [ { "autoHeight": true, "flex": 50, "items": topic2516, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 50, "items": partner2517, "labelAlign": "top", "layout": "form", "xtype": "panel" } ], "labelAlign": "top", "labelWidth": 0, "layout": "hbox", "layoutConfig": { "align": "stretchmax" } });
    var remark2521 = new Ext.form.TextArea({ "allowBlank": true, "anchor": "-20 -10", "fieldLabel": "Remark", "growMax": 2000, "listeners": { "render": Lino.quicktip_renderer("Remark","(topics.InterestsByController.remark) ") }, "name": "remark", "selectOnFocus": true });
    var main_panel2522 = new Ext.Panel({ "autoScroll": false, "bodyBorder": false, "border": false, "frame": true, "hideCheckBoxLabels": true, "items": [ main_1_panel2518, { "flex": 83, "items": remark2521, "labelAlign": "top", "layout": "form", "xtype": "panel" } ], "labelAlign": "top", "labelWidth": 0, "layout": "vbox", "layoutConfig": { "align": "stretch" } });
    this.items = main_panel2522;
    this.before_row_edit = function(record) {
    }
    Lino.topics.InterestsByController.InsertFormPanel.superclass.initComponent.call(this);
  }
});


Lino.courses.Lines.InsertFormPanel = Ext.extend(Lino.FormPanel,{
cls: "l-InsertFormPanel courses-Lines",
  layout: 'fit',
  auto_save: true,
  actions_hotkeys: [ { "alt": false, "ba": "Lino.row_action_handler('as_pdf_p', 'GET', null)", "ctrl": true, "key": "P", "keycode": 80, "shift": false } ],
  content_type: 50,
  initComponent : function() {
    var name1868 = new Ext.form.TextField({ "allowBlank": false, "anchor": "-20", "autoHeight": true, "fieldLabel": "<span style=\"border-bottom: 1px dotted #000000;\">Designation</span>", "listeners": { "render": Lino.quicktip_renderer("Designation","(courses.Lines.name) The designation of this activity line as seen by the user\ne.g. when selecting the line.") }, "maxLength": 200, "name": "name", "selectOnFocus": true });
    var name_de1869 = new Ext.form.TextField({ "allowBlank": true, "anchor": "-20", "autoHeight": true, "fieldLabel": "Designation (de)", "listeners": { "render": Lino.quicktip_renderer("Designation (de)","(courses.Lines.name_de) ") }, "maxLength": 200, "name": "name_de", "selectOnFocus": true });
    var name_fr1870 = new Ext.form.TextField({ "allowBlank": true, "anchor": "-20", "autoHeight": true, "fieldLabel": "Designation (fr)", "listeners": { "render": Lino.quicktip_renderer("Designation (fr)","(courses.Lines.name_fr) ") }, "maxLength": 200, "name": "name_fr", "selectOnFocus": true });
    var main_1_panel1871 = new Ext.Panel({ "autoHeight": true, "autoScroll": false, "border": false, "frame": false, "hideCheckBoxLabels": true, "items": [ { "autoHeight": true, "flex": 33, "items": name1868, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 33, "items": name_de1869, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 33, "items": name_fr1870, "labelAlign": "top", "layout": "form", "xtype": "panel" } ], "labelAlign": "top", "labelWidth": 0, "layout": "hbox", "layoutConfig": { "align": "stretchmax" } });
    var ref1875 = new Ext.form.TextField({ "allowBlank": true, "anchor": "-20", "autoHeight": true, "fieldLabel": "<span style=\"border-bottom: 1px dotted #000000;\">Reference</span>", "listeners": { "render": Lino.quicktip_renderer("Reference","(courses.Lines.ref) The reference. This must be either empty or unique.") }, "maxLength": 200, "name": "ref", "selectOnFocus": true });
    var topic1876 = new Lino.RemoteComboFieldElement({ "allowBlank": true, "anchor": "-20", "autoHeight": true, "detail_action": "Lino.courses.Topics.detail", "emptyText": "Select a Topic...", "fieldLabel": "Topic", "hiddenName": "topicHidden", "listeners": { "render": Lino.quicktip_renderer("Topic","(courses.Lines.topic) ") }, "name": "topic", "pageSize": 20, "related_actor_id": "courses.Topics", "selectOnFocus": true, "store": new Lino.ComplexRemoteComboStore({ "proxy": new Ext.data.HttpProxy({ "method": "GET", "url": "/choices/courses/Lines/topic" }) }) });
    var main_2_panel1877 = new Ext.Panel({ "autoHeight": true, "autoScroll": false, "border": false, "frame": false, "hideCheckBoxLabels": true, "items": [ { "autoHeight": true, "flex": 66, "items": ref1875, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 33, "items": topic1876, "labelAlign": "top", "layout": "form", "xtype": "panel" } ], "labelAlign": "top", "labelWidth": 0, "layout": "hbox", "layoutConfig": { "align": "stretchmax" } });
    var every_unit1880 = new Lino.ChoicesFieldElement({ "allowBlank": true, "anchor": "-20", "autoHeight": true, "fieldLabel": "Recurrency", "forceSelection": true, "hiddenName": "every_unitHidden", "listeners": { "render": Lino.quicktip_renderer("Recurrency","(courses.Lines.every_unit) ") }, "name": "every_unit", "selectOnFocus": true, "store": [['','<br>']].concat(Lino.cal.Recurrencies) });
    var every1881 = new Ext.form.NumberField({ "allowBlank": false, "anchor": "-20", "autoHeight": true, "fieldLabel": "Repeat every", "listeners": { "render": Lino.quicktip_renderer("Repeat every","(courses.Lines.every) ") }, "name": "every", "selectOnFocus": true, "value": 1 });
    var event_type1882 = new Lino.RemoteComboFieldElement({ "allowBlank": true, "anchor": "-20", "autoHeight": true, "detail_action": "Lino.cal.EventTypes.detail", "emptyText": "Select a Calendar entry type...", "fieldLabel": "<span style=\"border-bottom: 1px dotted #000000;\">Calendar entry type</span>", "hiddenName": "event_typeHidden", "insert_action": "Lino.cal.EventTypes.insert", "listeners": { "render": Lino.quicktip_renderer("Calendar entry type","(courses.Lines.event_type) The type of calendar entries to be generated. If this is empty, no calendar entries will be generated.") }, "name": "event_type", "pageSize": 20, "related_actor_id": "cal.EventTypes", "selectOnFocus": true, "store": new Lino.ComplexRemoteComboStore({ "proxy": new Ext.data.HttpProxy({ "method": "GET", "url": "/choices/courses/Lines/event_type" }) }) });
    var main_3_panel1883 = new Ext.Panel({ "autoHeight": true, "autoScroll": false, "border": false, "frame": false, "hideCheckBoxLabels": true, "items": [ { "autoHeight": true, "flex": 45, "items": every_unit1880, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 10, "items": every1881, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 43, "items": event_type1882, "labelAlign": "top", "layout": "form", "xtype": "panel" } ], "labelAlign": "top", "labelWidth": 0, "layout": "hbox", "layoutConfig": { "align": "stretchmax" } });
    var description1887 = new Lino.RichTextPanel({ "allowBlank": true, "containing_panel": this, "fieldLabel": "Description", "flex": 33, "name": "description", "selectOnFocus": true, "title": "Description" });
    var description_de1888 = new Lino.RichTextPanel({ "allowBlank": true, "containing_panel": this, "fieldLabel": "Description (de)", "flex": 33, "name": "description_de", "selectOnFocus": true, "title": "Description (de)" });
    var description_fr1889 = new Lino.RichTextPanel({ "allowBlank": true, "containing_panel": this, "fieldLabel": "Description (fr)", "flex": 33, "name": "description_fr", "selectOnFocus": true, "title": "Description (fr)" });
    var main_4_panel1890 = new Ext.Panel({ "autoScroll": false, "border": false, "flex": 62, "frame": false, "hideCheckBoxLabels": true, "items": [ description1887, description_de1888, description_fr1889 ], "labelAlign": "top", "labelWidth": 153, "layout": "hbox", "layoutConfig": { "align": "stretch" } });
    var main_panel1891 = new Ext.Panel({ "autoScroll": false, "bodyBorder": false, "border": false, "frame": true, "hideCheckBoxLabels": true, "items": [ main_1_panel1871, main_2_panel1877, main_3_panel1883, main_4_panel1890 ], "labelAlign": "top", "layout": "vbox", "layoutConfig": { "align": "stretch" } });
    this.items = main_panel1891;
    this.before_row_edit = function(record) {
      description1887.refresh();
      description_de1888.refresh();
      description_fr1889.refresh();
    }
    Lino.courses.Lines.InsertFormPanel.superclass.initComponent.call(this);
  }
});


Lino.uploads.UploadsByController.InsertFormPanel = Ext.extend(Lino.FormPanel,{
cls: "l-InsertFormPanel uploads-UploadsByController",
  layout: 'fit',
  auto_save: true,
  actions_hotkeys: [ { "alt": false, "ba": "Lino.row_action_handler('as_pdf_p', 'GET', null)", "ctrl": true, "key": "P", "keycode": 80, "shift": false } ],
  autoHeight: true,
  content_type: 30,
  initComponent : function() {
    var file2524 = Lino.file_field_handler(this,{ "allowBlank": true, "anchor": "-20", "autoHeight": true, "fieldLabel": "<span style=\"border-bottom: 1px dotted #000000;\">File</span>", "listeners": { "render": Lino.quicktip_renderer("File","(uploads.UploadsByController.file) Pointer to the uploaded file itself (a Django FileField).") }, "maxLength": 100, "name": "file", "selectOnFocus": true });
    var volume2525 = new Lino.RemoteComboFieldElement({ "allowBlank": true, "detail_action": "Lino.uploads.Volumes.detail", "emptyText": "Select a Library volume...", "fieldLabel": "<span style=\"border-bottom: 1px dotted #000000;\">Library volume</span>", "flex": 66, "hidden": true, "hiddenName": "volumeHidden", "insert_action": "Lino.uploads.Volumes.insert", "listeners": { "render": Lino.quicktip_renderer("Library volume","(uploads.UploadsByController.volume) A pointer to the library volume where this file is stored.") }, "name": "volume", "pageSize": 20, "preferred_width": 5, "related_actor_id": "uploads.Volumes", "selectOnFocus": true, "store": new Lino.ComplexRemoteComboStore({ "proxy": new Ext.data.HttpProxy({ "method": "GET", "url": "/choices/uploads/UploadsByController/volume" }) }) });
    var library_file2526 = new Lino.SimpleRemoteComboFieldElement({ "allowBlank": true, "anchor": "-20", "autoHeight": true, "can_create_choice": false, "fieldLabel": "<span style=\"border-bottom: 1px dotted #000000;\">Library file</span>", "listeners": { "render": Lino.quicktip_renderer("Library file","(uploads.UploadsByController.library_file) The path of this file, relative the volume's root.") }, "name": "library_file", "selectOnFocus": true, "store": new Lino.ComplexRemoteComboStore({ "proxy": new Ext.data.HttpProxy({ "method": "GET", "url": "/choices/uploads/UploadsByController/library_file" }) }) });
    var main_2_panel2527 = new Ext.Panel({ "anchor": "-20", "autoHeight": true, "autoScroll": false, "border": false, "frame": false, "hideCheckBoxLabels": true, "items": [ volume2525, { "autoHeight": true, "flex": 33, "items": library_file2526, "labelAlign": "top", "layout": "form", "xtype": "panel" } ], "labelAlign": "top", "labelWidth": 135, "layout": "hbox", "layoutConfig": { "align": "stretchmax" } });
    var type2529 = new Lino.RemoteComboFieldElement({ "allowBlank": true, "anchor": "-20", "autoHeight": true, "can_create_choice": false, "detail_action": "Lino.uploads.UploadTypes.detail", "emptyText": "Select a Upload type...", "fieldLabel": "<span style=\"border-bottom: 1px dotted #000000;\">Upload type</span>", "hiddenName": "typeHidden", "insert_action": "Lino.uploads.UploadTypes.insert", "listeners": { "render": Lino.quicktip_renderer("Upload type","(uploads.UploadsByController.type) The type of this upload.") }, "name": "type", "pageSize": 20, "related_actor_id": "uploads.UploadTypes", "selectOnFocus": true, "store": new Lino.ComplexRemoteComboStore({ "proxy": new Ext.data.HttpProxy({ "method": "GET", "url": "/choices/uploads/UploadsByController/type" }) }) });
    var description2530 = new Ext.form.TextField({ "allowBlank": true, "anchor": "-20", "autoHeight": true, "fieldLabel": "<span style=\"border-bottom: 1px dotted #000000;\">Description</span>", "listeners": { "render": Lino.quicktip_renderer("Description","(uploads.UploadsByController.description) A short description entered manually by the user.") }, "maxLength": 200, "name": "description", "selectOnFocus": true });
    var main_panel2531 = new Ext.Panel({ "autoHeight": true, "autoScroll": false, "bodyBorder": false, "border": false, "frame": true, "hideCheckBoxLabels": true, "items": [ { "anchor": "-20", "autoHeight": true, "items": file2524, "labelAlign": "top", "layout": "form", "xtype": "panel" }, main_2_panel2527, { "anchor": "-20", "autoHeight": true, "items": type2529, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "anchor": "-20", "autoHeight": true, "items": description2530, "labelAlign": "top", "layout": "form", "xtype": "panel" } ], "labelAlign": "top", "labelWidth": 0, "layout": "form" });
    this.items = main_panel2531;
    this.before_row_edit = function(record) {
      library_file2526.setContextValue('volume', record ? record.data['volumeHidden'] : undefined);
      type2529.setContextValue('upload_area', record ? record.data['upload_areaHidden'] : undefined);
    }
    this.onRender = function(ct, position) {
      typeof volume2525 !== 'undefined' && volume2525.on('change',Lino.chooser_handler(library_file2526,'volume'));
      Lino.uploads.UploadsByController.InsertFormPanel.superclass.onRender.call(this, ct, position);
    }
    Lino.uploads.UploadsByController.InsertFormPanel.superclass.initComponent.call(this);
  }
});


Lino.blogs.Entries.DetailFormPanel = Ext.extend(Lino.FormPanel,{
cls: "l-DetailFormPanel blogs-Entries",
  layout: 'fit',
  auto_save: true,
  actions_hotkeys: [ { "alt": false, "ba": "Lino.row_action_handler('as_pdf_p', 'GET', null)", "ctrl": true, "key": "P", "keycode": 80, "shift": false } ],
  content_type: 59,
  initComponent : function() {
    var title2276 = new Ext.form.TextField({ "allowBlank": true, "anchor": "-20", "autoHeight": true, "fieldLabel": "Heading", "listeners": { "render": Lino.quicktip_renderer("Heading","(blogs.Entries.title) ") }, "maxLength": 200, "name": "title", "selectOnFocus": true });
    var entry_type2277 = new Lino.RemoteComboFieldElement({ "allowBlank": true, "anchor": "-20", "autoHeight": true, "detail_action": "Lino.blogs.EntryTypes.detail", "emptyText": "Select a Blog Entry Type...", "fieldLabel": "Blog Entry Type", "hiddenName": "entry_typeHidden", "listeners": { "render": Lino.quicktip_renderer("Blog Entry Type","(blogs.Entries.entry_type) ") }, "name": "entry_type", "pageSize": 20, "related_actor_id": "blogs.EntryTypes", "selectOnFocus": true, "store": new Lino.ComplexRemoteComboStore({ "proxy": new Ext.data.HttpProxy({ "method": "GET", "url": "/choices/blogs/Entries/entry_type" }) }) });
    var id2278 = new Ext.form.NumberField({ "allowBlank": true, "anchor": "-20", "autoHeight": true, "fieldLabel": "ID", "listeners": { "render": Lino.quicktip_renderer("ID","(blogs.Entries.id) ") }, "name": "id", "selectOnFocus": true });
    var main_1_panel2279 = new Ext.Panel({ "autoHeight": true, "autoScroll": false, "border": false, "frame": false, "hideCheckBoxLabels": true, "items": [ { "autoHeight": true, "flex": 55, "items": title2276, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 31, "items": entry_type2277, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 13, "items": id2278, "labelAlign": "top", "layout": "form", "xtype": "panel" } ], "labelAlign": "top", "labelWidth": 0, "layout": "hbox", "layoutConfig": { "align": "stretchmax" } });
    var pub_date2283 = new Lino.DateField({ "allowBlank": true, "anchor": "-20", "autoHeight": true, "fieldLabel": "Publication date", "listeners": { "render": Lino.quicktip_renderer("Publication date","(blogs.Entries.pub_date) ") }, "name": "pub_date", "selectOnFocus": true });
    var pub_time2284 = new Lino.TimeField({ "allowBlank": true, "anchor": "-20", "autoHeight": true, "fieldLabel": "Publication time", "listeners": { "render": Lino.quicktip_renderer("Publication time","(blogs.Entries.pub_time) ") }, "maxValue": "9:00 PM", "minValue": "7:00", "name": "pub_time", "selectOnFocus": true });
    var user2285 = new Lino.RemoteComboFieldElement({ "allowBlank": true, "anchor": "-20", "autoHeight": true, "detail_action": "Lino.users.AllUsers.detail", "emptyText": "Select a User...", "fieldLabel": "<span style=\"border-bottom: 1px dotted #000000;\">Author</span>", "hiddenName": "userHidden", "insert_action": "Lino.users.AllUsers.insert", "listeners": { "render": Lino.quicktip_renderer("Author","(blogs.Entries.user) The author of this object.\nA pointer to lino.modlib.users.models.User.") }, "name": "user", "pageSize": 20, "preferred_width": 15, "related_actor_id": "users.AllUsers", "selectOnFocus": true, "store": new Lino.ComplexRemoteComboStore({ "proxy": new Ext.data.HttpProxy({ "method": "GET", "url": "/choices/blogs/Entries/user" }) }) });
    var language2286 = new Lino.ChoicesFieldElement({ "allowBlank": true, "anchor": "-20", "autoHeight": true, "fieldLabel": "Language", "hiddenName": "languageHidden", "listeners": { "render": Lino.quicktip_renderer("Language","(blogs.Entries.language) ") }, "name": "language", "selectOnFocus": true, "store": [ [ "en", "English" ], [ "de", "German" ], [ "fr", "French" ] ] });
    var owner_disp2287 = new Ext.form.DisplayField({ "anchor": "-20", "autoHeight": true, "disabled": true, "fieldLabel": "Controlled by", "name": "owner" });
    var add_interest2288 = new Lino.RemoteComboFieldElement({ "allowBlank": true, "anchor": "-20", "autoHeight": true, "detail_action": "Lino.topics.Topics.detail", "emptyText": "Select a Topic...", "fieldLabel": "Add interest", "hiddenName": "add_interestHidden", "insert_action": "Lino.topics.Topics.insert", "listeners": { "render": Lino.quicktip_renderer("Add interest","(blogs.Entries.add_interest) ") }, "name": "add_interest", "pageSize": 20, "related_actor_id": "topics.Topics", "selectOnFocus": true, "store": new Lino.ComplexRemoteComboStore({ "proxy": new Ext.data.HttpProxy({ "method": "GET", "url": "/choices/blogs/Entries/add_interest" }) }) });
    var main_2_panel2289 = new Ext.Panel({ "autoHeight": true, "autoScroll": false, "border": false, "frame": false, "hideCheckBoxLabels": true, "items": [ { "autoHeight": true, "flex": 18, "items": pub_date2283, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 11, "items": pub_time2284, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 14, "items": user2285, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 14, "items": language2286, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 14, "items": owner_disp2287, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 28, "items": add_interest2288, "labelAlign": "top", "layout": "form", "xtype": "panel" } ], "labelAlign": "top", "labelWidth": 0, "layout": "hbox", "layoutConfig": { "align": "stretchmax" } });
    var body2296 = new Lino.RichTextPanel({ "allowBlank": true, "containing_panel": this, "fieldLabel": "<span style=\"border-bottom: 1px dotted #000000;\">Body</span>", "flex": 75, "name": "body", "region": "center", "selectOnFocus": true, "title": "Body" });
    var main_3_panel2298 = new Ext.Panel({ "autoScroll": false, "border": false, "flex": 71, "frame": false, "hideCheckBoxLabels": true, "items": [ body2296 ], "labelAlign": "top", "labelWidth": 90, "layout": "hbox", "layoutConfig": { "align": "stretch" } });
    var main_panel2299 = new Ext.Panel({ "autoScroll": false, "bodyBorder": false, "border": false, "frame": true, "hideCheckBoxLabels": true, "items": [ main_1_panel2279, main_2_panel2289, main_3_panel2298 ], "labelAlign": "top", "layout": "vbox", "layoutConfig": { "align": "stretch" } });
    this.items = main_panel2299;
    this.before_row_edit = function(record) {
      body2296.refresh();
    }
    Lino.blogs.Entries.DetailFormPanel.superclass.initComponent.call(this);
  }
});


Lino.phones.ContactDetails.InsertFormPanel = Ext.extend(Lino.FormPanel,{
cls: "l-InsertFormPanel phones-ContactDetails",
  layout: 'fit',
  auto_save: true,
  actions_hotkeys: [ { "alt": false, "ba": "Lino.row_action_handler('as_pdf_p', 'GET', null)", "ctrl": true, "key": "P", "keycode": 80, "shift": false } ],
  autoHeight: true,
  content_type: 43,
  initComponent : function() {
    var detail_type2535 = new Lino.ChoicesFieldElement({ "allowBlank": false, "anchor": "-20", "autoHeight": true, "fieldLabel": "Contact detail type", "forceSelection": true, "hiddenName": "detail_typeHidden", "listeners": { "render": Lino.quicktip_renderer("Contact detail type","(phones.ContactDetails.detail_type) ") }, "name": "detail_type", "selectOnFocus": true, "store": Lino.phones.ContactDetailTypes });
    var value2536 = new Ext.form.TextField({ "allowBlank": true, "anchor": "-20", "autoHeight": true, "fieldLabel": "Value", "listeners": { "render": Lino.quicktip_renderer("Value","(phones.ContactDetails.value) ") }, "maxLength": 200, "name": "value", "selectOnFocus": true });
    var remark2537 = new Ext.form.TextField({ "allowBlank": true, "anchor": "-20", "autoHeight": true, "fieldLabel": "Remark", "listeners": { "render": Lino.quicktip_renderer("Remark","(phones.ContactDetails.remark) ") }, "maxLength": 200, "name": "remark", "selectOnFocus": true });
    var main_panel2538 = new Ext.Panel({ "autoHeight": true, "autoScroll": false, "bodyBorder": false, "border": false, "frame": true, "hideCheckBoxLabels": true, "items": [ { "anchor": "-20", "autoHeight": true, "items": detail_type2535, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "anchor": "-20", "autoHeight": true, "items": value2536, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "anchor": "-20", "autoHeight": true, "items": remark2537, "labelAlign": "top", "layout": "form", "xtype": "panel" } ], "labelAlign": "top", "labelWidth": 0, "layout": "form" });
    this.items = main_panel2538;
    this.before_row_edit = function(record) {
    }
    Lino.phones.ContactDetails.InsertFormPanel.superclass.initComponent.call(this);
  }
});


Lino.households.Households.DetailFormPanel = Ext.extend(Lino.FormPanel,{
cls: "l-DetailFormPanel households-Households",
  layout: 'fit',
  auto_save: true,
  actions_hotkeys: [ { "alt": false, "ba": "Lino.row_action_handler('print_labels', 'GET', null)", "ctrl": true, "key": "P", "keycode": 80, "shift": false }, { "alt": false, "ba": "Lino.row_action_handler('create_excerpt2', 'GET', null)", "ctrl": true, "key": "P", "keycode": 80, "shift": false } ],
  content_type: 45,
  initComponent : function() {
    var overview_htmlbox2092 = new Lino.HtmlBoxPanel({ "always_enabled": true, "bodyStyle": "overflow-x:hidden;", "containing_panel": this, "flex": 40, "items": new Ext.BoxComponent({autoScroll:true}), "layout": "fit", "listeners": { "render": Lino.quicktip_renderer(null,"(households.Households.overview) ") }, "name": "overview", "value": "<br/>" });
    var type2093 = new Lino.RemoteComboFieldElement({ "allowBlank": true, "anchor": "-20", "autoHeight": true, "detail_action": "Lino.households.Types.detail", "emptyText": "Select a Household Type...", "fieldLabel": "<span style=\"border-bottom: 1px dotted #000000;\">Household Type</span>", "hiddenName": "typeHidden", "listeners": { "render": Lino.quicktip_renderer("Household Type","(households.Households.type) The type of this household.  See household types") }, "name": "type", "pageSize": 20, "related_actor_id": "households.Types", "selectOnFocus": true, "store": new Lino.ComplexRemoteComboStore({ "proxy": new Ext.data.HttpProxy({ "method": "GET", "url": "/choices/households/Households/type" }) }) });
    var prefix2094 = new Ext.form.TextField({ "allowBlank": true, "anchor": "-20", "autoHeight": true, "fieldLabel": "<span style=\"border-bottom: 1px dotted #000000;\">Name prefix</span>", "listeners": { "render": Lino.quicktip_renderer("Name prefix","(households.Households.prefix) An optional name prefix. For organisations this is inserted\nbefore the name, for persons this is inserted between first\nname and last name.") }, "maxLength": 200, "name": "prefix", "selectOnFocus": true });
    var name2095 = new Ext.form.TextField({ "allowBlank": false, "anchor": "-20", "autoHeight": true, "fieldLabel": "<span style=\"border-bottom: 1px dotted #000000;\">Name</span>", "listeners": { "render": Lino.quicktip_renderer("Name","(households.Households.name) The full name of this partner. Used for alphabetic sorting.") }, "maxLength": 200, "name": "name", "selectOnFocus": true });
    var language2096 = new Lino.ChoicesFieldElement({ "allowBlank": true, "anchor": "-20", "autoHeight": true, "fieldLabel": "<span style=\"border-bottom: 1px dotted #000000;\">Language</span>", "hiddenName": "languageHidden", "listeners": { "render": Lino.quicktip_renderer("Language","(households.Households.language) The language to use when communicating with this partner.") }, "name": "language", "selectOnFocus": true, "store": [ [ "en", "English" ], [ "de", "German" ], [ "fr", "French" ] ] });
    var id2097 = new Ext.form.NumberField({ "allowBlank": true, "anchor": "-20", "autoHeight": true, "fieldLabel": "ID", "listeners": { "render": Lino.quicktip_renderer("ID","(households.Households.id) ") }, "name": "id", "selectOnFocus": true });
    var data_box_4_panel2098 = new Ext.Panel({ "anchor": "-20", "autoHeight": true, "autoScroll": false, "border": false, "frame": false, "hideCheckBoxLabels": true, "items": [ { "autoHeight": true, "flex": 80, "items": language2096, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 20, "items": id2097, "labelAlign": "top", "layout": "form", "xtype": "panel" } ], "labelAlign": "top", "labelWidth": 0, "layout": "hbox", "layoutConfig": { "align": "stretchmax" } });
    var data_box_panel2101 = new Ext.Panel({ "autoHeight": true, "autoScroll": false, "bodyBorder": false, "border": false, "flex": 30, "frame": true, "hideCheckBoxLabels": true, "items": [ { "anchor": "-20", "autoHeight": true, "items": type2093, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "anchor": "-20", "autoHeight": true, "items": prefix2094, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "anchor": "-20", "autoHeight": true, "items": name2095, "labelAlign": "top", "layout": "form", "xtype": "panel" }, data_box_4_panel2098 ], "labelAlign": "top", "labelWidth": 0, "layout": "form" });
    var lists_MembersByPartner_htmlbox2105 = new Lino.HtmlBoxPanel({ "always_enabled": true, "bodyStyle": "overflow-x:hidden;", "containing_panel": this, "flex": 30, "items": new Ext.BoxComponent({autoScroll:true}), "layout": "fit", "listeners": { "render": Lino.quicktip_renderer("List memberships","(households.Households.lists.MembersByPartner) ") }, "name": "lists.MembersByPartner", "title": "List memberships", "value": "<br/>" });
    var address_box_panel2106 = new Ext.Panel({ "autoHeight": true, "autoScroll": false, "border": false, "frame": false, "hideCheckBoxLabels": true, "items": [ overview_htmlbox2092, data_box_panel2101, lists_MembersByPartner_htmlbox2105 ], "labelAlign": "top", "labelWidth": 153, "layout": "hbox", "layoutConfig": { "align": "stretchmax" } });
    var general_panel2126 = new Ext.Panel({ "autoScroll": false, "bodyBorder": false, "border": false, "frame": true, "hideCheckBoxLabels": true, "items": [ address_box_panel2106 ], "labelAlign": "top", "layout": "vbox", "layoutConfig": { "align": "stretch" }, "listeners": { "activate": Lino.on_tab_activate }, "region": "center", "title": "General" });
    var main_panel2130 = new Ext.TabPanel({ "activeTab": 0, "autoScroll": false, "bodyBorder": false, "border": false, "enableTabScroll": true, "frame": true, "hideCheckBoxLabels": true, "items": [ general_panel2126 ], "labelAlign": "top", "split": true });
    this.items = main_panel2130;
    this.before_row_edit = function(record) {
      overview_htmlbox2092.refresh();
      lists_MembersByPartner_htmlbox2105.refresh();
    }
    Lino.households.Households.DetailFormPanel.superclass.initComponent.call(this);
  }
});


Lino.lists.Lists.DetailFormPanel = Ext.extend(Lino.FormPanel,{
cls: "l-DetailFormPanel lists-Lists",
  layout: 'fit',
  auto_save: true,
  actions_hotkeys: [ { "alt": false, "ba": "Lino.row_action_handler('print_labels', 'GET', null)", "ctrl": true, "key": "P", "keycode": 80, "shift": false }, { "alt": false, "ba": "Lino.row_action_handler('print_members_html', 'GET', null)", "ctrl": true, "key": "P", "keycode": 80, "shift": false } ],
  content_type: 56,
  initComponent : function() {
    var id2542 = new Ext.form.NumberField({ "allowBlank": true, "anchor": "-20", "autoHeight": true, "fieldLabel": "ID", "listeners": { "render": Lino.quicktip_renderer("ID","(lists.Lists.id) ") }, "name": "id", "selectOnFocus": true });
    var ref2543 = new Ext.form.TextField({ "allowBlank": true, "anchor": "-20", "autoHeight": true, "fieldLabel": "<span style=\"border-bottom: 1px dotted #000000;\">Reference</span>", "listeners": { "render": Lino.quicktip_renderer("Reference","(lists.Lists.ref) The reference. This must be either empty or unique.") }, "maxLength": 200, "name": "ref", "selectOnFocus": true });
    var list_type2544 = new Lino.RemoteComboFieldElement({ "allowBlank": true, "anchor": "-20", "autoHeight": true, "emptyText": "Select a List Type...", "fieldLabel": "List Type", "hiddenName": "list_typeHidden", "listeners": { "render": Lino.quicktip_renderer("List Type","(lists.Lists.list_type) ") }, "name": "list_type", "pageSize": 20, "related_actor_id": "lists.ListTypes", "selectOnFocus": true, "store": new Lino.ComplexRemoteComboStore({ "proxy": new Ext.data.HttpProxy({ "method": "GET", "url": "/choices/lists/Lists/list_type" }) }) });
    var print_actions_disp2545 = new Ext.form.DisplayField({ "always_enabled": true, "anchor": "-20", "autoHeight": true, "disabled": true, "fieldLabel": "Print", "listeners": { "render": Lino.quicktip_renderer("Print","(lists.Lists.print_actions) ") }, "name": "print_actions", "value": "<br/>" });
    var main_1_panel2546 = new Ext.Panel({ "autoHeight": true, "autoScroll": false, "border": false, "frame": false, "hideCheckBoxLabels": true, "items": [ { "autoHeight": true, "flex": 5, "items": id2542, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 42, "items": ref2543, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 21, "items": list_type2544, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 31, "items": print_actions_disp2545, "labelAlign": "top", "layout": "form", "xtype": "panel" } ], "labelAlign": "top", "labelWidth": 0, "layout": "hbox", "layoutConfig": { "align": "stretchmax" } });
    var designation2551 = new Ext.form.TextField({ "allowBlank": false, "anchor": "-20", "autoHeight": true, "fieldLabel": "Designation", "listeners": { "render": Lino.quicktip_renderer("Designation","(lists.Lists.designation) ") }, "maxLength": 200, "name": "designation", "selectOnFocus": true });
    var designation_de2552 = new Ext.form.TextField({ "allowBlank": true, "anchor": "-20", "autoHeight": true, "fieldLabel": "Designation (de)", "listeners": { "render": Lino.quicktip_renderer("Designation (de)","(lists.Lists.designation_de) ") }, "maxLength": 200, "name": "designation_de", "selectOnFocus": true });
    var designation_fr2553 = new Ext.form.TextField({ "allowBlank": true, "anchor": "-20", "autoHeight": true, "fieldLabel": "Designation (fr)", "listeners": { "render": Lino.quicktip_renderer("Designation (fr)","(lists.Lists.designation_fr) ") }, "maxLength": 200, "name": "designation_fr", "selectOnFocus": true });
    var main_2_panel2554 = new Ext.Panel({ "autoHeight": true, "autoScroll": false, "border": false, "frame": false, "hideCheckBoxLabels": true, "items": [ { "autoHeight": true, "flex": 33, "items": designation2551, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 33, "items": designation_de2552, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 33, "items": designation_fr2553, "labelAlign": "top", "layout": "form", "xtype": "panel" } ], "labelAlign": "top", "labelWidth": 0, "layout": "hbox", "layoutConfig": { "align": "stretchmax" } });
    var remarks2558 = new Lino.RichTextPanel({ "allowBlank": true, "containing_panel": this, "fieldLabel": "Remarks", "flex": 35, "name": "remarks", "selectOnFocus": true, "title": "Remarks" });
    var main_panel2571 = new Ext.Panel({ "autoScroll": false, "bodyBorder": false, "border": false, "frame": true, "hideCheckBoxLabels": true, "items": [ main_1_panel2546, main_2_panel2554, remarks2558 ], "labelAlign": "top", "labelWidth": 72, "layout": "vbox", "layoutConfig": { "align": "stretch" } });
    this.items = main_panel2571;
    this.before_row_edit = function(record) {
      remarks2558.refresh();
    }
    Lino.lists.Lists.DetailFormPanel.superclass.initComponent.call(this);
  }
});


Lino.topics.InterestsByPartner.InsertFormPanel = Ext.extend(Lino.FormPanel,{
cls: "l-InsertFormPanel topics-InterestsByPartner",
  layout: 'fit',
  auto_save: true,
  actions_hotkeys: [ { "alt": false, "ba": "Lino.row_action_handler('as_pdf_p', 'GET', null)", "ctrl": true, "key": "P", "keycode": 80, "shift": false } ],
  content_type: 53,
  initComponent : function() {
    var topic2572 = new Lino.RemoteComboFieldElement({ "allowBlank": false, "anchor": "-20", "autoHeight": true, "detail_action": "Lino.topics.Topics.detail", "emptyText": "Select a Topic...", "fieldLabel": "Topic", "hiddenName": "topicHidden", "insert_action": "Lino.topics.Topics.insert", "listeners": { "render": Lino.quicktip_renderer("Topic","(topics.InterestsByPartner.topic) ") }, "name": "topic", "pageSize": 20, "related_actor_id": "topics.Topics", "selectOnFocus": true, "store": new Lino.ComplexRemoteComboStore({ "proxy": new Ext.data.HttpProxy({ "method": "GET", "url": "/choices/topics/InterestsByPartner/topic" }) }) });
    var remark2573 = new Ext.form.TextArea({ "allowBlank": true, "anchor": "-20 -10", "fieldLabel": "Remark", "growMax": 2000, "listeners": { "render": Lino.quicktip_renderer("Remark","(topics.InterestsByPartner.remark) ") }, "name": "remark", "selectOnFocus": true });
    var main_panel2574 = new Ext.Panel({ "autoScroll": false, "bodyBorder": false, "border": false, "frame": true, "hideCheckBoxLabels": true, "items": [ { "autoHeight": true, "items": topic2572, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "flex": 83, "items": remark2573, "labelAlign": "top", "layout": "form", "xtype": "panel" } ], "labelAlign": "top", "labelWidth": 0, "layout": "vbox", "layoutConfig": { "align": "stretch" } });
    this.items = main_panel2574;
    this.before_row_edit = function(record) {
    }
    Lino.topics.InterestsByPartner.InsertFormPanel.superclass.initComponent.call(this);
  }
});


Lino.lists.MembersByPartner.InsertFormPanel = Ext.extend(Lino.FormPanel,{
cls: "l-InsertFormPanel lists-MembersByPartner",
  layout: 'fit',
  auto_save: true,
  actions_hotkeys: [ { "alt": false, "ba": "Lino.row_action_handler('as_pdf_p', 'GET', null)", "ctrl": true, "key": "P", "keycode": 80, "shift": false } ],
  autoHeight: true,
  content_type: 57,
  initComponent : function() {
    var list2577 = new Lino.RemoteComboFieldElement({ "allowBlank": false, "anchor": "-20", "autoHeight": true, "detail_action": "Lino.lists.Lists.detail", "emptyText": "Select a Partner List...", "fieldLabel": "Partner List", "hiddenName": "listHidden", "insert_action": "Lino.lists.Lists.insert", "listeners": { "render": Lino.quicktip_renderer("Partner List","(lists.MembersByPartner.list) ") }, "name": "list", "pageSize": 20, "related_actor_id": "lists.Lists", "selectOnFocus": true, "store": new Lino.ComplexRemoteComboStore({ "proxy": new Ext.data.HttpProxy({ "method": "GET", "url": "/choices/lists/MembersByPartner/list" }) }) });
    var remark2578 = new Ext.form.TextField({ "allowBlank": true, "anchor": "-20", "autoHeight": true, "fieldLabel": "Remark", "listeners": { "render": Lino.quicktip_renderer("Remark","(lists.MembersByPartner.remark) ") }, "maxLength": 200, "name": "remark", "selectOnFocus": true });
    var main_panel2579 = new Ext.Panel({ "autoHeight": true, "autoScroll": false, "bodyBorder": false, "border": false, "frame": true, "hideCheckBoxLabels": true, "items": [ { "anchor": "-20", "autoHeight": true, "items": list2577, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "anchor": "-20", "autoHeight": true, "items": remark2578, "labelAlign": "top", "layout": "form", "xtype": "panel" } ], "labelAlign": "top", "labelWidth": 0, "layout": "form" });
    this.items = main_panel2579;
    this.before_row_edit = function(record) {
    }
    Lino.lists.MembersByPartner.InsertFormPanel.superclass.initComponent.call(this);
  }
});


Lino.humanlinks.Links.InsertFormPanel = Ext.extend(Lino.FormPanel,{
cls: "l-InsertFormPanel humanlinks-Links",
  layout: 'fit',
  auto_save: true,
  actions_hotkeys: [ { "alt": false, "ba": "Lino.row_action_handler('as_pdf_p', 'GET', null)", "ctrl": true, "key": "P", "keycode": 80, "shift": false } ],
  autoHeight: true,
  content_type: 47,
  initComponent : function() {
    var parent2582 = new Lino.RemoteComboFieldElement({ "allowBlank": false, "anchor": "-20", "autoHeight": true, "detail_action": "Lino.contacts.Persons.detail", "emptyText": "Select a Person...", "fieldLabel": "<span style=\"border-bottom: 1px dotted #000000;\">Who is...</span>", "hiddenName": "parentHidden", "insert_action": "Lino.contacts.Persons.insert", "listeners": { "render": Lino.quicktip_renderer("Who is...","(humanlinks.Links.parent) Pointer to the person who is \"parent\".") }, "name": "parent", "pageSize": 20, "preferred_width": 20, "related_actor_id": "contacts.Persons", "selectOnFocus": true, "store": new Lino.ComplexRemoteComboStore({ "proxy": new Ext.data.HttpProxy({ "method": "GET", "url": "/choices/humanlinks/Links/parent" }) }) });
    var type2583 = new Lino.ChoicesFieldElement({ "allowBlank": false, "anchor": "-20", "autoHeight": true, "fieldLabel": "<span style=\"border-bottom: 1px dotted #000000;\">Parency type</span>", "forceSelection": true, "hiddenName": "typeHidden", "listeners": { "render": Lino.quicktip_renderer("Parency type","(humanlinks.Links.type) The type of link.  Pointer to LinkTypes.") }, "name": "type", "selectOnFocus": true, "store": Lino.humanlinks.LinkTypes });
    var child2584 = new Lino.RemoteComboFieldElement({ "allowBlank": true, "anchor": "-20", "autoHeight": true, "detail_action": "Lino.contacts.Persons.detail", "emptyText": "Select a Person...", "fieldLabel": "<span style=\"border-bottom: 1px dotted #000000;\">To whom...</span>", "hiddenName": "childHidden", "insert_action": "Lino.contacts.Persons.insert", "listeners": { "render": Lino.quicktip_renderer("To whom...","(humanlinks.Links.child) Pointer to the person who is \"child\".") }, "name": "child", "pageSize": 20, "preferred_width": 20, "related_actor_id": "contacts.Persons", "selectOnFocus": true, "store": new Lino.ComplexRemoteComboStore({ "proxy": new Ext.data.HttpProxy({ "method": "GET", "url": "/choices/humanlinks/Links/child" }) }) });
    var main_panel2585 = new Ext.Panel({ "autoHeight": true, "autoScroll": false, "bodyBorder": false, "border": false, "frame": true, "hideCheckBoxLabels": true, "items": [ { "anchor": "-20", "autoHeight": true, "items": parent2582, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "anchor": "-20", "autoHeight": true, "items": type2583, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "anchor": "-20", "autoHeight": true, "items": child2584, "labelAlign": "top", "layout": "form", "xtype": "panel" } ], "labelAlign": "top", "labelWidth": 0, "layout": "form" });
    this.items = main_panel2585;
    this.before_row_edit = function(record) {
    }
    Lino.humanlinks.Links.InsertFormPanel.superclass.initComponent.call(this);
  }
});


Lino.users.AllUsers.DetailFormPanel = Ext.extend(Lino.FormPanel,{
cls: "l-DetailFormPanel users-Users",
  layout: 'fit',
  auto_save: true,
  content_type: 2,
  initComponent : function() {
    var username2589 = new Ext.form.TextField({ "allowBlank": false, "anchor": "-20", "autoHeight": true, "fieldLabel": "<span style=\"border-bottom: 1px dotted #000000;\">Username</span>", "listeners": { "render": Lino.quicktip_renderer("Username","(users.Users.username) Must be either unique or empty.  Users with an empty username cannot\nsign in.") }, "maxLength": 30, "name": "username", "selectOnFocus": true });
    var user_type2590 = new Lino.ChoicesFieldElement({ "allowBlank": true, "anchor": "-20", "autoHeight": true, "fieldLabel": "<span style=\"border-bottom: 1px dotted #000000;\">User type</span>", "forceSelection": true, "hiddenName": "user_typeHidden", "listeners": { "render": Lino.quicktip_renderer("User type","(users.Users.user_type) The user type assigned to this user. User accounts having this\nfield empty cannot be used to sign in.") }, "name": "user_type", "selectOnFocus": true, "store": [['','<br>']].concat(Lino.users.UserTypes) });
    var partner2591 = new Lino.RemoteComboFieldElement({ "allowBlank": true, "anchor": "-20", "autoHeight": true, "detail_action": "Lino.contacts.Partners.detail", "emptyText": "Select a Partner...", "fieldLabel": "<span style=\"border-bottom: 1px dotted #000000;\">Partner</span>", "hiddenName": "partnerHidden", "listeners": { "render": Lino.quicktip_renderer("Partner","(users.Users.partner) The partner record with additional contact information about\nthis user account.") }, "name": "partner", "pageSize": 20, "preferred_width": 20, "related_actor_id": "contacts.Partners", "selectOnFocus": true, "store": new Lino.ComplexRemoteComboStore({ "proxy": new Ext.data.HttpProxy({ "method": "GET", "url": "/choices/users/Users/partner" }) }) });
    var box1_1_panel2592 = new Ext.Panel({ "anchor": "-20", "autoHeight": true, "autoScroll": false, "border": false, "frame": false, "hideCheckBoxLabels": true, "items": [ { "autoHeight": true, "flex": 34, "items": username2589, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 32, "items": user_type2590, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 32, "items": partner2591, "labelAlign": "top", "layout": "form", "xtype": "panel" } ], "labelAlign": "top", "labelWidth": 0, "layout": "hbox", "layoutConfig": { "align": "stretchmax" } });
    var first_name2596 = new Ext.form.TextField({ "allowBlank": true, "anchor": "-20", "autoHeight": true, "fieldLabel": "First name", "listeners": { "render": Lino.quicktip_renderer("First name","(users.Users.first_name) ") }, "maxLength": 30, "name": "first_name", "selectOnFocus": true });
    var last_name2597 = new Ext.form.TextField({ "allowBlank": true, "anchor": "-20", "autoHeight": true, "fieldLabel": "Last name", "listeners": { "render": Lino.quicktip_renderer("Last name","(users.Users.last_name) ") }, "maxLength": 30, "name": "last_name", "selectOnFocus": true });
    var initials2598 = new Ext.form.TextField({ "allowBlank": true, "anchor": "-20", "autoHeight": true, "boxMinWidth": Lino.chars2width(10), "fieldLabel": "<span style=\"border-bottom: 1px dotted #000000;\">Initials</span>", "listeners": { "render": Lino.quicktip_renderer("Initials","(users.Users.initials) The nickname or initials of this user. This does not need to be unique\nbut should be reasonably identifying.") }, "maxLength": 10, "name": "initials", "selectOnFocus": true });
    var box1_2_panel2599 = new Ext.Panel({ "anchor": "-20", "autoHeight": true, "autoScroll": false, "border": false, "frame": false, "hideCheckBoxLabels": true, "items": [ { "autoHeight": true, "flex": 39, "items": first_name2596, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 39, "items": last_name2597, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 20, "items": initials2598, "labelAlign": "top", "layout": "form", "xtype": "panel" } ], "labelAlign": "top", "labelWidth": 0, "layout": "hbox", "layoutConfig": { "align": "stretchmax" } });
    var email2603 = new Ext.form.TextField({ "allowBlank": true, "anchor": "-20", "autoHeight": true, "fieldLabel": "e-mail address", "listeners": { "render": Lino.quicktip_renderer("e-mail address","(users.Users.email) ") }, "maxLength": 254, "name": "email", "selectOnFocus": true });
    var language2604 = new Lino.ChoicesFieldElement({ "allowBlank": true, "anchor": "-20", "autoHeight": true, "fieldLabel": "Language", "hiddenName": "languageHidden", "listeners": { "render": Lino.quicktip_renderer("Language","(users.Users.language) ") }, "name": "language", "selectOnFocus": true, "store": [ [ "en", "English" ], [ "de", "German" ], [ "fr", "French" ] ] });
    var box1_3_panel2605 = new Ext.Panel({ "anchor": "-20", "autoHeight": true, "autoScroll": false, "border": false, "frame": false, "hideCheckBoxLabels": true, "items": [ { "autoHeight": true, "flex": 51, "items": email2603, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 48, "items": language2604, "labelAlign": "top", "layout": "form", "xtype": "panel" } ], "labelAlign": "top", "labelWidth": 0, "layout": "hbox", "layoutConfig": { "align": "stretchmax" } });
    var id2608 = new Ext.form.NumberField({ "allowBlank": true, "anchor": "-20", "autoHeight": true, "fieldLabel": "ID", "listeners": { "render": Lino.quicktip_renderer("ID","(users.Users.id) ") }, "name": "id", "selectOnFocus": true });
    var created2609 = new Ext.form.DisplayField({ "anchor": "-20", "autoHeight": true, "disabled": true, "fieldLabel": "<span style=\"border-bottom: 1px dotted #000000;\">Created</span>", "listeners": { "render": Lino.quicktip_renderer("Created","(users.Users.created) The time when this object was created.") }, "name": "created", "value": "<br>" });
    var modified2610 = new Ext.form.DisplayField({ "anchor": "-20", "autoHeight": true, "disabled": true, "fieldLabel": "<span style=\"border-bottom: 1px dotted #000000;\">Modified</span>", "listeners": { "render": Lino.quicktip_renderer("Modified","(users.Users.modified) The time when this database object was last modified.") }, "name": "modified", "value": "<br>" });
    var box1_4_panel2611 = new Ext.Panel({ "anchor": "-20", "autoHeight": true, "autoScroll": false, "border": false, "frame": false, "hideCheckBoxLabels": true, "items": [ { "autoHeight": true, "flex": 13, "items": id2608, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 43, "items": created2609, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 43, "items": modified2610, "labelAlign": "top", "layout": "form", "xtype": "panel" } ], "labelAlign": "top", "labelWidth": 0, "layout": "hbox", "layoutConfig": { "align": "stretchmax" } });
    var box1_panel2615 = new Ext.Panel({ "autoHeight": true, "autoScroll": false, "bodyBorder": false, "border": false, "frame": true, "hideCheckBoxLabels": true, "items": [ box1_1_panel2592, box1_2_panel2599, box1_3_panel2605, box1_4_panel2611 ], "labelAlign": "top", "layout": "form" });
    var remarks2616 = new Lino.RichTextPanel({ "allowBlank": true, "containing_panel": this, "fieldLabel": "Remarks", "flex": 66, "name": "remarks", "region": "center", "selectOnFocus": true, "title": "Remarks" });
    var general_2_panel2622 = new Ext.Panel({ "autoScroll": false, "border": false, "flex": 55, "frame": false, "hideCheckBoxLabels": true, "items": [ remarks2616 ], "labelAlign": "top", "labelWidth": 72, "layout": "hbox", "layoutConfig": { "align": "stretch" } });
    var general_panel2623 = new Ext.Panel({ "autoScroll": false, "bodyBorder": false, "border": false, "frame": true, "hideCheckBoxLabels": true, "items": [ box1_panel2615, general_2_panel2622 ], "labelAlign": "top", "layout": "vbox", "layoutConfig": { "align": "stretch" }, "listeners": { "activate": Lino.on_tab_activate }, "region": "center", "title": "General" });
    var main_panel2649 = new Ext.TabPanel({ "activeTab": 0, "autoScroll": false, "bodyBorder": false, "border": false, "enableTabScroll": true, "frame": true, "hideCheckBoxLabels": true, "items": [ general_panel2623 ], "labelAlign": "top", "split": true });
    this.items = main_panel2649;
    this.before_row_edit = function(record) {
      remarks2616.refresh();
    }
    Lino.users.AllUsers.DetailFormPanel.superclass.initComponent.call(this);
    // active_fields:
    partner2591.on("change", function(){ this.save() }, this);
  }
});


Lino.calview.DailyView.DetailFormPanel = Ext.extend(Lino.FormPanel,{
cls: "l-DetailFormPanel calview-DailyView",
  layout: 'fit',
  auto_save: true,
  actions_hotkeys: [ { "alt": false, "ba": "Lino.row_action_handler('as_pdf_p', 'GET', null)", "ctrl": true, "key": "P", "keycode": 80, "shift": false } ],
  disable_editing: true,
  initComponent : function() {
    var navigation_panel_htmlbox2650 = new Lino.HtmlBoxPanel({ "always_enabled": true, "bodyStyle": "overflow-x:hidden;", "containing_panel": this, "flex": 15, "items": new Ext.BoxComponent({autoScroll:true}), "layout": "fit", "listeners": { "render": Lino.quicktip_renderer(null,"(calview.DailyView.navigation_panel) ") }, "name": "navigation_panel", "region": "center", "value": "<br/>" });
    var body_panel2658 = new Ext.Panel({ "autoScroll": false, "border": false, "frame": false, "hideCheckBoxLabels": true, "items": [ navigation_panel_htmlbox2650 ], "labelAlign": "top", "labelWidth": 0, "layout": "hbox", "layoutConfig": { "align": "stretch" }, "region": "center" });
    var main_panel2659 = new Ext.Panel({ "autoScroll": false, "bodyBorder": false, "border": false, "frame": true, "hideCheckBoxLabels": true, "items": [ body_panel2658 ], "labelAlign": "top", "layout": "fit" });
    this.items = main_panel2659;
    this.before_row_edit = function(record) {
      navigation_panel_htmlbox2650.refresh();
    }
    Lino.calview.DailyView.DetailFormPanel.superclass.initComponent.call(this);
  }
});


Lino.about.About.DetailFormPanel = Ext.extend(Lino.FormPanel,{
cls: "l-DetailFormPanel about-About",
  layout: 'fit',
  auto_save: true,
  disable_editing: true,
  initComponent : function() {
    var main_panel2661 = new Ext.Panel({ "autoScroll": false, "bodyBorder": false, "border": false, "frame": true, "hideCheckBoxLabels": true, "items": [ { "html": "<div class=\"htmlText\"><span>This is <a href=\"https://gitlab.com/lino-framework/amici\" target=\"_blank\">Lino Amici</a> 21.7.1 using <a href=\"https://gitlab.com/lino-framework/lino\" target=\"_blank\">Lino</a> 21.7.5, <a href=\"http://www.djangoproject.com\" target=\"_blank\">Django</a> 3.2.5, <a href=\"http://www.python.org/\" target=\"_blank\">Python</a> 3.8.10, <a href=\"http://babel.edgewall.org/\" target=\"_blank\">Babel</a> 2.9.1, <a href=\"http://jinja.pocoo.org/\" target=\"_blank\">Jinja</a> 3.0.1, <a href=\"http://labix.org/python-dateutil\" target=\"_blank\">python-dateutil</a> 2.8.1, <a href=\"http://getbootstrap.com\" target=\"_blank\">Bootstrap</a> 3.3.4, <a href=\"http://www.sencha.com\" target=\"_blank\">ExtJS</a> <a href=\"#\" onclick=\"alert('ExtJS client version is ' + Ext.version);\" title=\"Click to see ExtJS client version\">(version)</a>, <a href=\"http://www.famfamfam.com/lab/icons/silk/\" target=\"_blank\">Silk Icons</a> 1.3, <a href=\"http://www.tinymce.com/\" target=\"_blank\">TinyMCE</a> 3.5.11, <a href=\"http://www.byte-force.com\" target=\"_blank\">Ext.ux.TinyMCE</a> 0.8.4, <a href=\"http://appyframework.org/pod.html\" target=\"_blank\">Appy</a> (unknown)</span><p>Languages: en, de, fr</p><p>This is a Lino demo site.</p><p>We are running with simulated date set to Monday, 16 December 2019.</p><p>Source timestamps:</p><ul><li>Server timestamp : <b>05/08/2021 at 07:11</b></li><li>django : <b>10/07/2021 at 10:00</b></li><li>lino_amici : <b>05/08/2021 at 05:22</b></li><li>lino : <b>05/08/2021 at 06:45</b></li><li>lino_xl : <b>05/08/2021 at 07:11</b></li></ul><p>Complexity factors : 40 plugins, 68 models, 3 users, 6 user types, 252 views, 22 dialog actions</p></div>", "region": "center", "xtype": "label" } ], "labelAlign": "top", "layout": "fit" });
    this.items = main_panel2661;
    this.before_row_edit = function(record) {
    }
    Lino.about.About.DetailFormPanel.superclass.initComponent.call(this);
  }
});


Lino.uploads.Volumes.InsertFormPanel = Ext.extend(Lino.FormPanel,{
cls: "l-InsertFormPanel uploads-Volumes",
  layout: 'fit',
  auto_save: true,
  actions_hotkeys: [ { "alt": false, "ba": "Lino.row_action_handler('as_pdf_p', 'GET', null)", "ctrl": true, "key": "P", "keycode": 80, "shift": false } ],
  autoHeight: true,
  content_type: 28,
  initComponent : function() {
    var ref2662 = new Ext.form.TextField({ "allowBlank": true, "anchor": "-20", "autoHeight": true, "fieldLabel": "<span style=\"border-bottom: 1px dotted #000000;\">Reference</span>", "listeners": { "render": Lino.quicktip_renderer("Reference","(uploads.Volumes.ref) The reference. This must be either empty or unique.") }, "maxLength": 200, "name": "ref", "selectOnFocus": true });
    var description2663 = new Ext.form.TextField({ "allowBlank": true, "anchor": "-20", "autoHeight": true, "fieldLabel": "Description", "listeners": { "render": Lino.quicktip_renderer("Description","(uploads.Volumes.description) ") }, "maxLength": 255, "name": "description", "selectOnFocus": true });
    var main_1_panel2664 = new Ext.Panel({ "anchor": "-20", "autoHeight": true, "autoScroll": false, "border": false, "frame": false, "hideCheckBoxLabels": true, "items": [ { "autoHeight": true, "flex": 65, "items": ref2662, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 34, "items": description2663, "labelAlign": "top", "layout": "form", "xtype": "panel" } ], "labelAlign": "top", "labelWidth": 0, "layout": "hbox", "layoutConfig": { "align": "stretchmax" } });
    var root_dir2667 = new Ext.form.TextField({ "allowBlank": false, "anchor": "-20", "autoHeight": true, "fieldLabel": "Root directory", "listeners": { "render": Lino.quicktip_renderer("Root directory","(uploads.Volumes.root_dir) ") }, "maxLength": 255, "name": "root_dir", "selectOnFocus": true });
    var base_url2668 = new Ext.form.TextField({ "allowBlank": true, "anchor": "-20", "autoHeight": true, "fieldLabel": "Base URL", "listeners": { "render": Lino.quicktip_renderer("Base URL","(uploads.Volumes.base_url) ") }, "maxLength": 255, "name": "base_url", "selectOnFocus": true });
    var main_panel2669 = new Ext.Panel({ "autoHeight": true, "autoScroll": false, "bodyBorder": false, "border": false, "frame": true, "hideCheckBoxLabels": true, "items": [ main_1_panel2664, { "anchor": "-20", "autoHeight": true, "items": root_dir2667, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "anchor": "-20", "autoHeight": true, "items": base_url2668, "labelAlign": "top", "layout": "form", "xtype": "panel" } ], "labelAlign": "top", "labelWidth": 0, "layout": "form" });
    this.items = main_panel2669;
    this.before_row_edit = function(record) {
    }
    Lino.uploads.Volumes.InsertFormPanel.superclass.initComponent.call(this);
  }
});


Lino.topics.Topics.DetailFormPanel = Ext.extend(Lino.FormPanel,{
cls: "l-DetailFormPanel topics-Topics",
  layout: 'fit',
  auto_save: true,
  actions_hotkeys: [ { "alt": false, "ba": "Lino.row_action_handler('as_pdf_p', 'GET', null)", "ctrl": true, "key": "P", "keycode": 80, "shift": false } ],
  content_type: 54,
  initComponent : function() {
    var id2672 = new Ext.form.NumberField({ "allowBlank": true, "anchor": "-20", "autoHeight": true, "fieldLabel": "ID", "listeners": { "render": Lino.quicktip_renderer("ID","(topics.Topics.id) ") }, "name": "id", "selectOnFocus": true });
    var ref2673 = new Ext.form.TextField({ "allowBlank": true, "anchor": "-20", "autoHeight": true, "fieldLabel": "<span style=\"border-bottom: 1px dotted #000000;\">Reference</span>", "listeners": { "render": Lino.quicktip_renderer("Reference","(topics.Topics.ref) The reference.") }, "maxLength": 200, "name": "ref", "selectOnFocus": true });
    var name2674 = new Ext.form.TextField({ "allowBlank": false, "anchor": "-20", "autoHeight": true, "fieldLabel": "<span style=\"border-bottom: 1px dotted #000000;\">Designation</span>", "listeners": { "render": Lino.quicktip_renderer("Designation","(topics.Topics.name) The designation in different languages.") }, "maxLength": 200, "name": "name", "selectOnFocus": true });
    var name_de2675 = new Ext.form.TextField({ "allowBlank": true, "anchor": "-20", "autoHeight": true, "fieldLabel": "Designation (de)", "listeners": { "render": Lino.quicktip_renderer("Designation (de)","(topics.Topics.name_de) ") }, "maxLength": 200, "name": "name_de", "selectOnFocus": true });
    var name_fr2676 = new Ext.form.TextField({ "allowBlank": true, "anchor": "-20", "autoHeight": true, "fieldLabel": "Designation (fr)", "listeners": { "render": Lino.quicktip_renderer("Designation (fr)","(topics.Topics.name_fr) ") }, "maxLength": 200, "name": "name_fr", "selectOnFocus": true });
    var main_1_panel2677 = new Ext.Panel({ "autoHeight": true, "autoScroll": false, "border": false, "frame": false, "hideCheckBoxLabels": true, "items": [ { "autoHeight": true, "flex": 6, "items": id2672, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 6, "items": ref2673, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 28, "items": name2674, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 28, "items": name_de2675, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 28, "items": name_fr2676, "labelAlign": "top", "layout": "form", "xtype": "panel" } ], "labelAlign": "top", "labelWidth": 0, "layout": "hbox", "layoutConfig": { "align": "stretchmax" }, "region": "north", "split": true });
    var description_text2683 = new Lino.RichTextPanel({ "allowBlank": true, "containing_panel": this, "fieldLabel": "<span style=\"border-bottom: 1px dotted #000000;\">Long description</span>", "flex": 33, "name": "description_text", "selectOnFocus": true, "title": "Long description" });
    var description_text_de2684 = new Lino.RichTextPanel({ "allowBlank": true, "containing_panel": this, "fieldLabel": "Long description (de)", "flex": 33, "name": "description_text_de", "selectOnFocus": true, "title": "Long description (de)" });
    var description_text_fr2685 = new Lino.RichTextPanel({ "allowBlank": true, "containing_panel": this, "fieldLabel": "Long description (fr)", "flex": 33, "name": "description_text_fr", "selectOnFocus": true, "title": "Long description (fr)" });
    var main_2_panel2686 = new Ext.Panel({ "autoScroll": false, "border": false, "flex": 5, "frame": false, "hideCheckBoxLabels": true, "items": [ description_text2683, description_text_de2684, description_text_fr2685 ], "labelAlign": "top", "labelWidth": 198, "layout": "hbox", "layoutConfig": { "align": "stretch" }, "region": "center", "split": true });
    var main_panel2698 = new Lino.VBorderPanel({ "autoScroll": false, "bodyBorder": false, "border": false, "frame": true, "hideCheckBoxLabels": true, "items": [ main_1_panel2677, main_2_panel2686 ], "labelAlign": "top" });
    this.items = main_panel2698;
    this.before_row_edit = function(record) {
      description_text2683.refresh();
      description_text_de2684.refresh();
      description_text_fr2685.refresh();
    }
    Lino.topics.Topics.DetailFormPanel.superclass.initComponent.call(this);
  }
});


Lino.uploads.UploadTypes.DetailFormPanel = Ext.extend(Lino.FormPanel,{
cls: "l-DetailFormPanel uploads-UploadTypes",
  layout: 'fit',
  auto_save: true,
  actions_hotkeys: [ { "alt": false, "ba": "Lino.row_action_handler('as_pdf_p', 'GET', null)", "ctrl": true, "key": "P", "keycode": 80, "shift": false } ],
  content_type: 29,
  initComponent : function() {
    var id2699 = new Ext.form.NumberField({ "allowBlank": true, "anchor": "-20", "autoHeight": true, "fieldLabel": "ID", "listeners": { "render": Lino.quicktip_renderer("ID","(uploads.UploadTypes.id) ") }, "name": "id", "selectOnFocus": true });
    var upload_area2700 = new Lino.ChoicesFieldElement({ "allowBlank": false, "anchor": "-20", "autoHeight": true, "fieldLabel": "Upload area", "forceSelection": true, "hiddenName": "upload_areaHidden", "listeners": { "render": Lino.quicktip_renderer("Upload area","(uploads.UploadTypes.upload_area) ") }, "name": "upload_area", "selectOnFocus": true, "store": Lino.uploads.UploadAreas });
    var wanted2701 = new Ext.form.Checkbox({ "allowBlank": false, "anchor": "-20", "autoHeight": true, "boxLabel": "Wanted", "checked": false, "hideLabel": true, "listeners": { "render": Lino.quicktip_renderer("Wanted","(uploads.UploadTypes.wanted) Add a (+) button when there is no upload of this type.") }, "name": "wanted", "selectOnFocus": true });
    var max_number2702 = new Ext.form.NumberField({ "allowBlank": false, "anchor": "-20", "autoHeight": true, "fieldLabel": "<span style=\"border-bottom: 1px dotted #000000;\">Max. number</span>", "listeners": { "render": Lino.quicktip_renderer("Max. number","(uploads.UploadTypes.max_number) No need to upload more uploads than N of this type.\n-1 means no limit.") }, "name": "max_number", "selectOnFocus": true, "value": -1 });
    var shortcut2703 = new Ext.form.TextField({ "allowBlank": true, "anchor": "-20", "autoHeight": true, "fieldLabel": "<span style=\"border-bottom: 1px dotted #000000;\">Upload shortcut</span>", "listeners": { "render": Lino.quicktip_renderer("Upload shortcut","(uploads.UploadTypes.shortcut) Optional pointer to a virtual upload shortcut field.  If\nthis is not empty, then the given shortcut field will manage\nuploads of this type.  See also Shortcuts.") }, "maxLength": 50, "name": "shortcut", "selectOnFocus": true });
    var main_1_panel2704 = new Ext.Panel({ "autoHeight": true, "autoScroll": false, "border": false, "frame": false, "hideCheckBoxLabels": true, "items": [ { "autoHeight": true, "flex": 9, "items": id2699, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 19, "items": upload_area2700, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 19, "items": wanted2701, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 9, "items": max_number2702, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 41, "items": shortcut2703, "labelAlign": "top", "layout": "form", "xtype": "panel" } ], "labelAlign": "top", "labelWidth": 0, "layout": "hbox", "layoutConfig": { "align": "stretchmax" } });
    var name2710 = new Ext.form.TextField({ "allowBlank": false, "anchor": "-20", "autoHeight": true, "fieldLabel": "Designation", "listeners": { "render": Lino.quicktip_renderer("Designation","(uploads.UploadTypes.name) ") }, "maxLength": 200, "name": "name", "selectOnFocus": true });
    var name_de2711 = new Ext.form.TextField({ "allowBlank": true, "anchor": "-20", "autoHeight": true, "fieldLabel": "Designation (de)", "listeners": { "render": Lino.quicktip_renderer("Designation (de)","(uploads.UploadTypes.name_de) ") }, "maxLength": 200, "name": "name_de", "selectOnFocus": true });
    var name_fr2712 = new Ext.form.TextField({ "allowBlank": true, "anchor": "-20", "autoHeight": true, "fieldLabel": "Designation (fr)", "listeners": { "render": Lino.quicktip_renderer("Designation (fr)","(uploads.UploadTypes.name_fr) ") }, "maxLength": 200, "name": "name_fr", "selectOnFocus": true });
    var main_2_panel2713 = new Ext.Panel({ "autoHeight": true, "autoScroll": false, "border": false, "frame": false, "hideCheckBoxLabels": true, "items": [ { "autoHeight": true, "flex": 33, "items": name2710, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 33, "items": name_de2711, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 33, "items": name_fr2712, "labelAlign": "top", "layout": "form", "xtype": "panel" } ], "labelAlign": "top", "labelWidth": 0, "layout": "hbox", "layoutConfig": { "align": "stretchmax" } });
    var main_panel2734 = new Ext.Panel({ "autoScroll": false, "bodyBorder": false, "border": false, "frame": true, "hideCheckBoxLabels": true, "items": [ main_1_panel2704, main_2_panel2713 ], "labelAlign": "top", "layout": "vbox", "layoutConfig": { "align": "stretch" } });
    this.items = main_panel2734;
    this.before_row_edit = function(record) {
    }
    Lino.uploads.UploadTypes.DetailFormPanel.superclass.initComponent.call(this);
  }
});


Lino.households.HouseholdsByType.InsertFormPanel = Ext.extend(Lino.FormPanel,{
cls: "l-InsertFormPanel households-HouseholdsByType",
  layout: 'fit',
  auto_save: true,
  actions_hotkeys: [ { "alt": false, "ba": "Lino.row_action_handler('print_labels', 'GET', null)", "ctrl": true, "key": "P", "keycode": 80, "shift": false }, { "alt": false, "ba": "Lino.row_action_handler('create_excerpt2', 'GET', null)", "ctrl": true, "key": "P", "keycode": 80, "shift": false } ],
  autoHeight: true,
  content_type: 45,
  initComponent : function() {
    var name2131 = new Ext.form.TextField({ "allowBlank": false, "anchor": "-20", "autoHeight": true, "fieldLabel": "<span style=\"border-bottom: 1px dotted #000000;\">Name</span>", "listeners": { "render": Lino.quicktip_renderer("Name","(households.HouseholdsByType.name) The full name of this partner. Used for alphabetic sorting.") }, "maxLength": 200, "name": "name", "selectOnFocus": true });
    var language2132 = new Lino.ChoicesFieldElement({ "allowBlank": true, "anchor": "-20", "autoHeight": true, "fieldLabel": "<span style=\"border-bottom: 1px dotted #000000;\">Language</span>", "hiddenName": "languageHidden", "listeners": { "render": Lino.quicktip_renderer("Language","(households.HouseholdsByType.language) The language to use when communicating with this partner.") }, "name": "language", "selectOnFocus": true, "store": [ [ "en", "English" ], [ "de", "German" ], [ "fr", "French" ] ] });
    var main_panel2133 = new Ext.Panel({ "autoHeight": true, "autoScroll": false, "bodyBorder": false, "border": false, "frame": true, "hideCheckBoxLabels": true, "items": [ { "anchor": "-20", "autoHeight": true, "items": name2131, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "anchor": "-20", "autoHeight": true, "items": language2132, "labelAlign": "top", "layout": "form", "xtype": "panel" } ], "labelAlign": "top", "labelWidth": 0, "layout": "form" });
    this.items = main_panel2133;
    this.before_row_edit = function(record) {
    }
    Lino.households.HouseholdsByType.InsertFormPanel.superclass.initComponent.call(this);
  }
});


Lino.uploads.UploadTypes.InsertFormPanel = Ext.extend(Lino.FormPanel,{
cls: "l-InsertFormPanel uploads-UploadTypes",
  layout: 'fit',
  auto_save: true,
  actions_hotkeys: [ { "alt": false, "ba": "Lino.row_action_handler('as_pdf_p', 'GET', null)", "ctrl": true, "key": "P", "keycode": 80, "shift": false } ],
  autoHeight: true,
  content_type: 29,
  initComponent : function() {
    var name2735 = new Ext.form.TextField({ "allowBlank": false, "anchor": "-20", "autoHeight": true, "fieldLabel": "Designation", "listeners": { "render": Lino.quicktip_renderer("Designation","(uploads.UploadTypes.name) ") }, "maxLength": 200, "name": "name", "selectOnFocus": true });
    var name_de2736 = new Ext.form.TextField({ "allowBlank": true, "anchor": "-20", "autoHeight": true, "fieldLabel": "Designation (de)", "listeners": { "render": Lino.quicktip_renderer("Designation (de)","(uploads.UploadTypes.name_de) ") }, "maxLength": 200, "name": "name_de", "selectOnFocus": true });
    var name_fr2737 = new Ext.form.TextField({ "allowBlank": true, "anchor": "-20", "autoHeight": true, "fieldLabel": "Designation (fr)", "listeners": { "render": Lino.quicktip_renderer("Designation (fr)","(uploads.UploadTypes.name_fr) ") }, "maxLength": 200, "name": "name_fr", "selectOnFocus": true });
    var main_1_panel2738 = new Ext.Panel({ "anchor": "-20", "autoHeight": true, "autoScroll": false, "border": false, "frame": false, "hideCheckBoxLabels": true, "items": [ { "autoHeight": true, "flex": 33, "items": name2735, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 33, "items": name_de2736, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 33, "items": name_fr2737, "labelAlign": "top", "layout": "form", "xtype": "panel" } ], "labelAlign": "top", "labelWidth": 0, "layout": "hbox", "layoutConfig": { "align": "stretchmax" } });
    var upload_area2742 = new Lino.ChoicesFieldElement({ "allowBlank": false, "anchor": "-20", "autoHeight": true, "fieldLabel": "Upload area", "forceSelection": true, "hiddenName": "upload_areaHidden", "listeners": { "render": Lino.quicktip_renderer("Upload area","(uploads.UploadTypes.upload_area) ") }, "name": "upload_area", "selectOnFocus": true, "store": Lino.uploads.UploadAreas });
    var main_panel2743 = new Ext.Panel({ "autoHeight": true, "autoScroll": false, "bodyBorder": false, "border": false, "frame": true, "hideCheckBoxLabels": true, "items": [ main_1_panel2738, { "anchor": "-20", "autoHeight": true, "items": upload_area2742, "labelAlign": "top", "layout": "form", "xtype": "panel" } ], "labelAlign": "top", "labelWidth": 0, "layout": "form" });
    this.items = main_panel2743;
    this.before_row_edit = function(record) {
    }
    Lino.uploads.UploadTypes.InsertFormPanel.superclass.initComponent.call(this);
  }
});


Lino.uploads.Volumes.DetailFormPanel = Ext.extend(Lino.FormPanel,{
cls: "l-DetailFormPanel uploads-Volumes",
  layout: 'fit',
  auto_save: true,
  actions_hotkeys: [ { "alt": false, "ba": "Lino.row_action_handler('as_pdf_p', 'GET', null)", "ctrl": true, "key": "P", "keycode": 80, "shift": false } ],
  content_type: 28,
  initComponent : function() {
    var ref2745 = new Ext.form.TextField({ "allowBlank": true, "anchor": "-20", "autoHeight": true, "fieldLabel": "<span style=\"border-bottom: 1px dotted #000000;\">Reference</span>", "listeners": { "render": Lino.quicktip_renderer("Reference","(uploads.Volumes.ref) The reference. This must be either empty or unique.") }, "maxLength": 200, "name": "ref", "selectOnFocus": true });
    var description2746 = new Ext.form.TextField({ "allowBlank": true, "anchor": "-20", "autoHeight": true, "fieldLabel": "Description", "listeners": { "render": Lino.quicktip_renderer("Description","(uploads.Volumes.description) ") }, "maxLength": 255, "name": "description", "selectOnFocus": true });
    var main_1_panel2747 = new Ext.Panel({ "autoHeight": true, "autoScroll": false, "border": false, "frame": false, "hideCheckBoxLabels": true, "items": [ { "autoHeight": true, "flex": 65, "items": ref2745, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 34, "items": description2746, "labelAlign": "top", "layout": "form", "xtype": "panel" } ], "labelAlign": "top", "labelWidth": 0, "layout": "hbox", "layoutConfig": { "align": "stretchmax" } });
    var root_dir2750 = new Ext.form.TextField({ "allowBlank": false, "anchor": "-20", "autoHeight": true, "fieldLabel": "Root directory", "listeners": { "render": Lino.quicktip_renderer("Root directory","(uploads.Volumes.root_dir) ") }, "maxLength": 255, "name": "root_dir", "selectOnFocus": true });
    var base_url2751 = new Ext.form.TextField({ "allowBlank": true, "anchor": "-20", "autoHeight": true, "fieldLabel": "Base URL", "listeners": { "render": Lino.quicktip_renderer("Base URL","(uploads.Volumes.base_url) ") }, "maxLength": 255, "name": "base_url", "selectOnFocus": true });
    var main_2_panel2752 = new Ext.Panel({ "autoHeight": true, "autoScroll": false, "border": false, "frame": false, "hideCheckBoxLabels": true, "items": [ { "autoHeight": true, "flex": 50, "items": root_dir2750, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 50, "items": base_url2751, "labelAlign": "top", "layout": "form", "xtype": "panel" } ], "labelAlign": "top", "labelWidth": 0, "layout": "hbox", "layoutConfig": { "align": "stretchmax" } });
    var overview_htmlbox2755 = new Lino.HtmlBoxPanel({ "always_enabled": true, "bodyStyle": "overflow-x:hidden;", "containing_panel": this, "flex": 60, "items": new Ext.BoxComponent({autoScroll:true}), "layout": "fit", "listeners": { "render": Lino.quicktip_renderer(null,"(uploads.Volumes.overview) ") }, "name": "overview", "value": "<br/>" });
    var main_panel2756 = new Ext.Panel({ "autoScroll": false, "bodyBorder": false, "border": false, "frame": true, "hideCheckBoxLabels": true, "items": [ main_1_panel2747, main_2_panel2752, overview_htmlbox2755 ], "labelAlign": "top", "labelWidth": 0, "layout": "vbox", "layoutConfig": { "align": "stretch" } });
    this.items = main_panel2756;
    this.before_row_edit = function(record) {
      overview_htmlbox2755.refresh();
    }
    Lino.uploads.Volumes.DetailFormPanel.superclass.initComponent.call(this);
  }
});

Lino.users.AllUsers.merge_row = new Lino.WindowAction({ "autoHeight": true, "draggable": true, "maximizable": true, "maximized": false, "modal": true, "width": Lino.chars2width(70) }, function(){
  var p = { "hide_top_toolbar": true, "is_main_window": true, "ls_url": "/users/UsersOverview" };
  return new Lino.users.AllUsers.merge_row_ActionFormPanel(p);
});
Lino.users.AllUsers.change_password = new Lino.WindowAction({ "autoHeight": true, "draggable": true, "maximizable": true, "maximized": false, "modal": true, "width": Lino.chars2width(50) }, function(){
  var p = { "hide_top_toolbar": true, "is_main_window": true, "ls_url": "/users/UsersOverview" };
  return new Lino.users.AllUsers.change_password_ActionFormPanel(p);
});
Lino.about.About.sign_in = new Lino.WindowAction({ "autoHeight": true, "draggable": true, "maximizable": true, "maximized": false, "modal": true, "width": Lino.chars2width(50) }, function(){
  var p = { "hide_top_toolbar": true, "is_main_window": true, "ls_url": "/about/About" };
  return new Lino.about.About.sign_in_ActionFormPanel(p);
});

// js_render_GridPanel_class users.UsersOverview
Lino.users.UsersOverview.GridPanel = Ext.extend(Lino.GridPanel,{
  ls_url : "/users/UsersOverview",
  ls_store_fields : [ { "name": "username" }, { "name": "user_type" }, 'user_typeHidden', { "name": "language" }, 'languageHidden', { "name": "id", "type": "int" }, { "name": "disabled_fields" }, { "name": "disable_editing" } ],
  ls_id_property : "id",
  pk_index : 5,
  content_type : 2,
  cell_edit : true,
  focus_on_quick_search : false,
  ls_bbar_actions : [ { "auto_save": true, "iconCls": "x-tbar-application_form", "itemId": "detail", "menu_item_text": "Detail", "overflowText": "Detail", "panel_btn_handler": Lino.show_detail, "tooltip": "Open a detail window on records of users.", "tooltipType": "title" }, { "auto_save": true, "itemId": "change_password", "menu_item_text": "Change password", "overflowText": "Change password", "panel_btn_handler": Lino.param_action_handler(Lino.users.AllUsers.change_password), "text": " <font size=\"4\">\u2731</font>", "tooltip": "Change the password of this user.", "tooltipType": "title" }, { "auto_save": true, "itemId": "open_help", "menu_item_text": "open_help", "overflowText": "open_help", "panel_btn_handler": () => window.open('/media/cache/help/users.UsersOverview.html'), "text": " <font size=\"4\">?</font>", "tooltip": "Open Help Window", "tooltipType": "title" }, { "auto_save": true, "itemId": "send_welcome_email", "menu_item_text": "Welcome mail", "overflowText": "Welcome mail", "panel_btn_handler": Lino.row_action_handler('send_welcome_email','GET',null), "text": " <font size=\"4\">\u2709</font>", "tooltip": "Send a welcome mail to this user.", "tooltipType": "title" }, { "auto_save": true, "itemId": "update_widgets", "menu_item_text": "Update widgets", "overflowText": "Update widgets", "panel_btn_handler": Lino.row_action_handler('update_widgets','GET',null), "text": "\u00a0\u26a1\u00a0", "tooltip": "Create or update the dashboard widgets for this user.", "tooltipType": "title" } ],
  viewConfig : { "emptyText": "No data to display.", "forceFit": true },
  params_panel_hidden : true,
  page_length : 20,
  stripeRows : true,
  title : "Users",
  initComponent : function() {
    this.ls_detail_handler = Lino.users.UsersOverview.detail;
    this.ls_insert_handler = Lino.users.UsersOverview.insert;
    var ww = this.containing_window;
    var username2757 = new Ext.form.TextField({ "allowBlank": false, "maxLength": 30, "selectOnFocus": true });
    var user_type2758 = new Lino.ChoicesFieldElement({ "allowBlank": true, "forceSelection": true, "selectOnFocus": true, "store": [['','<br>']].concat(Lino.users.UserTypes) });
    var language2759 = new Lino.ChoicesFieldElement({ "allowBlank": true, "selectOnFocus": true, "store": [ [ "en", "English" ], [ "de", "German" ], [ "fr", "French" ] ] });
    this.before_row_edit = function(record) {
    };
    this.ls_columns = [ { "colIndex": 0, "dataIndex": "username", "editable": true, "editor": username2757, "filter": { "type": "string" }, "header": "Username", "listeners": { "render": Lino.quicktip_renderer("","(users.UsersOverview.username) Must be either unique or empty.  Users with an empty username cannot\nsign in.") }, "sortable": true, "tooltip": "Must be either unique or empty.  Users with an empty username cannot\nsign in.", "width": Lino.chars2width(22) }, { "colIndex": 1, "dataIndex": "user_type", "editable": true, "editor": user_type2758, "filter": { "options": [ "000 (000 (Anonymous))", "100 (100 (User))", "200 (200 (Collector))", "300 (300 (Project manager))", "800 (800 (Staff))", "900 (900 (Administrator))" ], "type": "list" }, "header": "User type", "listeners": { "render": Lino.quicktip_renderer("","(users.UsersOverview.user_type) The user type assigned to this user. User accounts having this\nfield empty cannot be used to sign in.") }, "sortable": false, "tooltip": "The user type assigned to this user. User accounts having this\nfield empty cannot be used to sign in.", "width": Lino.chars2width(31) }, { "colIndex": 2, "dataIndex": "language", "editable": true, "editor": language2759, "filter": { "type": "string" }, "header": "Language", "listeners": { "render": Lino.quicktip_renderer("","(users.UsersOverview.language) ") }, "sortable": false, "tooltip": "", "width": Lino.chars2width(21) } ];
    Lino.users.UsersOverview.GridPanel.superclass.initComponent.call(this);
  }
});

Lino.users.UsersOverview.show_as_html = function(rp, is_main, pk, params) { 
  var h = function() { 
    Lino.run_row_action(rp, is_main, "/users/UsersOverview", "GET", pk, "show_as_html", params, Lino.get_current_grid_config);
  };
  var panel = Ext.getCmp(rp);
  if(panel && !params.rqdata) panel.do_when_clean(true, h); else h();
};
Lino.users.UsersOverview.as_pdf = function(rp, is_main, pk, params) { 
  var h = function() { 
    Lino.run_row_action(rp, is_main, "/users/UsersOverview", "GET", pk, "as_pdf", params, Lino.get_current_grid_config);
  };
  var panel = Ext.getCmp(rp);
  if(panel && !params.rqdata) panel.do_when_clean(true, h); else h();
};
Lino.users.UsersOverview.as_pdf_p = function(rp, is_main, pk, params) { 
  var h = function() { 
    Lino.run_row_action(rp, is_main, "/users/UsersOverview", "GET", pk, "as_pdf_p", params, Lino.get_current_grid_config);
  };
  var panel = Ext.getCmp(rp);
  if(panel && !params.rqdata) panel.do_when_clean(true, h); else h();
};
Lino.users.UsersOverview.export_excel = function(rp, is_main, pk, params) { 
  var h = function() { 
    Lino.run_row_action(rp, is_main, "/users/UsersOverview", "GET", pk, "export_excel", params, Lino.get_current_grid_config);
  };
  var panel = Ext.getCmp(rp);
  if(panel && !params.rqdata) panel.do_when_clean(true, h); else h();
};

Lino.users.UsersOverview.insertPanel = Ext.extend(Lino.users.AllUsers.InsertFormPanel,{
  empty_title: "New",
  hide_navigator: true,
  params_panel_hidden: true,
  save_action_name: "submit_insert",
  ls_bbar_actions: [  ],
  ls_url: "/users/UsersOverview",
  action_name: "insert",
  default_record_id: -99999,
  initComponent : function() {
    this.ls_detail_handler = Lino.users.UsersOverview.detail;
    this.ls_insert_handler = Lino.users.UsersOverview.insert;
    Lino.users.UsersOverview.insertPanel.superclass.initComponent.call(this);
  }
});

Lino.users.UsersOverview.insert = new Lino.WindowAction({ "autoHeight": true, "draggable": true, "maximizable": true, "maximized": false, "modal": true, "width": Lino.chars2width(60) }, function(){
  var p = { "hide_top_toolbar": true, "is_main_window": true, "ls_url": "/users/UsersOverview" };
  return new Lino.users.UsersOverview.insertPanel(p);
});
Lino.users.UsersOverview.submit_insert = function(rp, is_main, pk, params) { 
  var h = function() { 
    Lino.run_row_action(rp, is_main, "/users/UsersOverview", "POST", pk, "submit_insert", params, null);
  };
  var panel = Ext.getCmp(rp);
  if(panel && !params.rqdata) panel.do_when_clean(true, h); else h();
};

Lino.users.UsersOverview.detailPanel = Ext.extend(Lino.users.AllUsers.DetailFormPanel,{
  empty_title: "Detail",
  params_panel_hidden: true,
  save_action_name: "submit_detail",
  ls_bbar_actions: [ { "auto_save": true, "itemId": "change_password", "menu_item_text": "Change password", "overflowText": "Change password", "panel_btn_handler": Lino.param_action_handler(Lino.users.AllUsers.change_password), "text": " <font size=\"4\">\u2731</font>", "tooltip": "Change the password of this user.", "tooltipType": "title" }, { "auto_save": true, "itemId": "open_help", "menu_item_text": "open_help", "overflowText": "open_help", "panel_btn_handler": () => window.open('/media/cache/help/users.UsersOverview.html'), "text": " <font size=\"4\">?</font>", "tooltip": "Open Help Window", "tooltipType": "title" }, { "auto_save": true, "itemId": "send_welcome_email", "menu_item_text": "Welcome mail", "overflowText": "Welcome mail", "panel_btn_handler": Lino.row_action_handler('send_welcome_email','GET',null), "text": " <font size=\"4\">\u2709</font>", "tooltip": "Send a welcome mail to this user.", "tooltipType": "title" }, { "auto_save": true, "itemId": "update_widgets", "menu_item_text": "Update widgets", "overflowText": "Update widgets", "panel_btn_handler": Lino.row_action_handler('update_widgets','GET',null), "text": "\u00a0\u26a1\u00a0", "tooltip": "Create or update the dashboard widgets for this user.", "tooltipType": "title" } ],
  ls_url: "/users/UsersOverview",
  action_name: "detail",
  initComponent : function() {
    this.ls_detail_handler = Lino.users.UsersOverview.detail;
    this.ls_insert_handler = Lino.users.UsersOverview.insert;
    Lino.users.UsersOverview.detailPanel.superclass.initComponent.call(this);
  }
});

Lino.users.UsersOverview.detail = new Lino.WindowAction({  }, function(){
  var p = { "is_main_window": true, "ls_url": "/users/UsersOverview" };
  return new Lino.users.UsersOverview.detailPanel(p);
});
Lino.users.UsersOverview.delete_selected = function(rp, is_main, pk, params) { 
  var h = function() { 
    Lino.run_row_action(rp, is_main, "/users/UsersOverview", "GET", pk, "delete_selected", params, null);
  };
  var panel = Ext.getCmp(rp);
  if(panel && !params.rqdata) panel.do_when_clean(true, h); else h();
};
Lino.users.UsersOverview.grid = new Lino.WindowAction({  }, function(){
  var p = { "is_main_window": true, "ls_url": "/users/UsersOverview" };
  p.params_panel = new Lino.users.UsersOverview.ParamsPanel({});
  return new Lino.users.UsersOverview.GridPanel(p);
});
Lino.users.UsersOverview.my_settings = function(rp, is_main, pk, params) { 
  var h = function() { 
    Lino.run_row_action(rp, is_main, "/users/UsersOverview", "GET", pk, "my_settings", params, null);
  };
  var panel = Ext.getCmp(rp);
  if(panel && !params.rqdata) panel.do_when_clean(true, h); else h();
};
Lino.users.UsersOverview.open_help = function(rp, is_main, pk, params) { 
  var h = function() { 
    Lino.run_row_action(rp, is_main, "/users/UsersOverview", "GET", pk, "open_help", params, null);
  };
  var panel = Ext.getCmp(rp);
  if(panel && !params.rqdata) panel.do_when_clean(true, h); else h();
};
Lino.users.UsersOverview.send_welcome_email = function(rp, is_main, pk, params) { 
  var h = function() { 
    Lino.run_row_action(rp, is_main, "/users/UsersOverview", "GET", pk, "send_welcome_email", params, null);
  };
  var panel = Ext.getCmp(rp);
  if(panel && !params.rqdata) panel.do_when_clean(true, h); else h();
};
Lino.users.UsersOverview.sign_out = function(rp, is_main, pk, params) { 
  var h = function() { 
    Lino.run_row_action(rp, is_main, "/users/UsersOverview", "GET", pk, "sign_out", params, null);
  };
  var panel = Ext.getCmp(rp);
  if(panel && !params.rqdata) panel.do_when_clean(true, h); else h();
};
Lino.users.UsersOverview.update_widgets = function(rp, is_main, pk, params) { 
  var h = function() { 
    Lino.run_row_action(rp, is_main, "/users/UsersOverview", "GET", pk, "update_widgets", params, null);
  };
  var panel = Ext.getCmp(rp);
  if(panel && !params.rqdata) panel.do_when_clean(true, h); else h();
};
Lino.users.UsersOverview.submit_detail = function(rp, is_main, pk, params) { 
  var h = function() { 
    Lino.run_row_action(rp, is_main, "/users/UsersOverview", "PUT", pk, "submit_detail", params, null);
  };
  var panel = Ext.getCmp(rp);
  if(panel && !params.rqdata) panel.do_when_clean(true, h); else h();
};

Lino.about.About.showPanel = Ext.extend(Lino.about.About.DetailFormPanel,{
  empty_title: "About",
  hide_navigator: true,
  params_panel_hidden: true,
  save_action_name: "submit_detail",
  ls_bbar_actions: [ { "auto_save": true, "itemId": "open_help", "menu_item_text": "open_help", "overflowText": "open_help", "panel_btn_handler": () => window.open('/media/cache/help/about.About.html'), "text": " <font size=\"4\">?</font>", "tooltip": "Open Help Window", "tooltipType": "title" }, { "auto_save": true, "itemId": "sign_in", "menu_item_text": "Sign in", "overflowText": "Sign in", "panel_btn_handler": Lino.param_action_handler(Lino.about.About.sign_in), "text": "Sign in", "tooltip": "Open a window which asks for username and password and which\nauthenticates as this user when submitted.", "tooltipType": "title" } ],
  ls_url: "/about/About",
  initComponent : function() {
    this.ls_detail_handler = Lino.about.About.show;
    Lino.about.About.showPanel.superclass.initComponent.call(this);
  }
});

Lino.about.About.show = new Lino.WindowAction({ "draggable": true, "height": Lino.rows2height(20), "maximizable": true, "maximized": false, "modal": true, "width": Lino.chars2width(60) }, function(){
  var p = { "hide_top_toolbar": true, "is_main_window": true, "ls_url": "/about/About" };
  return new Lino.about.About.showPanel(p);
});
Lino.about.About.open_help = function(rp, is_main, pk, params) { 
  var h = function() { 
    Lino.run_row_action(rp, is_main, "/about/About", "GET", pk, "open_help", params, null);
  };
  var panel = Ext.getCmp(rp);
  if(panel && !params.rqdata) panel.do_when_clean(true, h); else h();
};
