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

// lino.js --- generated Fri Mar 26 01:39:24 2021 by Lino Amici 20.12.0 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 = 1616722555.1958566;

// 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.3.1.'});






/*
  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.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);
    }

    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';
        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.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.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.MySettings')
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.ledger.Situation')
Ext.namespace('Lino.courses.StatusReport')
Ext.namespace('Lino.system.YesNo')
Ext.namespace('Lino.system.Genders')
Ext.namespace('Lino.system.PeriodEvents')
Ext.namespace('Lino.checkdata.Checkers')
Ext.namespace('Lino.printing.BuildMethods')
Ext.namespace('Lino.users.UserTypes')
Ext.namespace('Lino.about.TimeZones')
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.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.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.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,
  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","(ledger.FiscalYears.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","(ledger.FiscalYears.end_date) End date of observed period") }, "name": "end_date", "selectOnFocus": true, "value": null });
    this.items = [ { "autoHeight": true, "flex": 50, "items": start_date1, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 50, "items": end_date2, "labelAlign": "top", "layout": "form", "xtype": "panel" } ];
    this.fields = [ start_date1, end_date2 ];
    Lino.ledger.FiscalYears.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,
  initComponent : function() {
    var user6 = new Lino.TwinCombo({ "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", "onTrigger2Click": function(e){ Lino.show_fk_detail(this,Lino.users.AllUsers.detail,Lino.users.AllUsers.insert)}, "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": user6, "labelAlign": "top", "layout": "form", "xtype": "panel" } ];
    this.fields = [ user6 ];
    Lino.dashboard.Widgets.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,
  initComponent : function() {
    var user_type9 = 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_date10 = 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_date11 = 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_type9, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 20, "items": start_date10, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 20, "items": end_date11, "labelAlign": "top", "layout": "form", "xtype": "panel" } ];
    this.fields = [ user_type9, start_date10, end_date11 ];
    Lino.users.UsersOverview.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,
  initComponent : function() {
    var observed_event16 = 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_date17 = 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_date18 = 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 company19 = new Lino.TwinCombo({ "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", "onTrigger2Click": function(e){ Lino.show_fk_detail(this,Lino.contacts.Companies.detail,Lino.contacts.Companies.insert)}, "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 function20 = 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 topic21 = new Lino.TwinCombo({ "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", "onTrigger2Click": function(e){ Lino.show_fk_detail(this,Lino.topics.Topics.detail,Lino.topics.Topics.insert)}, "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_event16, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 12, "items": start_date17, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 12, "items": end_date18, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 18, "items": company19, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 18, "items": function20, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 18, "items": topic21, "labelAlign": "top", "layout": "form", "xtype": "panel" } ];
    this.fields = [ observed_event16, start_date17, end_date18, company19, function20, topic21 ];
    Lino.contacts.Persons.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,
  initComponent : function() {
    var user29 = new Lino.TwinCombo({ "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", "onTrigger2Click": function(e){ Lino.show_fk_detail(this,Lino.users.AllUsers.detail,Lino.users.AllUsers.insert)}, "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": user29, "labelAlign": "top", "layout": "form", "xtype": "panel" } ];
    this.fields = [ user29 ];
    Lino.cal.Subscriptions.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,
  initComponent : function() {
    var user32 = new Lino.TwinCombo({ "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", "onTrigger2Click": function(e){ Lino.show_fk_detail(this,Lino.users.AllUsers.detail,Lino.users.AllUsers.insert)}, "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_to33 = new Lino.TwinCombo({ "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", "onTrigger2Click": function(e){ Lino.show_fk_detail(this,Lino.users.AllUsers.detail,Lino.users.AllUsers.insert)}, "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_type34 = new Lino.TwinCombo({ "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", "onTrigger2Click": function(e){ Lino.show_fk_detail(this,Lino.cal.EventTypes.detail,Lino.cal.EventTypes.insert)}, "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 room35 = new Lino.TwinCombo({ "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", "onTrigger2Click": function(e){ Lino.show_fk_detail(this,Lino.cal.Rooms.detail,Lino.cal.Rooms.insert)}, "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 state36 = 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_appointments37 = 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": user32, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 18, "items": assigned_to33, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 18, "items": event_type34, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 18, "items": room35, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 12, "items": state36, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 13, "items": show_appointments37, "labelAlign": "top", "layout": "form", "xtype": "panel" } ];
    this.fields = [ user32, assigned_to33, event_type34, room35, state36, show_appointments37 ];
    Lino.calview.DailySlave.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,
  initComponent : function() {
    var user45 = new Lino.TwinCombo({ "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", "onTrigger2Click": function(e){ Lino.show_fk_detail(this,Lino.users.AllUsers.detail,Lino.users.AllUsers.insert)}, "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_to46 = new Lino.TwinCombo({ "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", "onTrigger2Click": function(e){ Lino.show_fk_detail(this,Lino.users.AllUsers.detail,Lino.users.AllUsers.insert)}, "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_type47 = new Lino.TwinCombo({ "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", "onTrigger2Click": function(e){ Lino.show_fk_detail(this,Lino.cal.EventTypes.detail,Lino.cal.EventTypes.insert)}, "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 room48 = new Lino.TwinCombo({ "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", "onTrigger2Click": function(e){ Lino.show_fk_detail(this,Lino.cal.Rooms.detail,Lino.cal.Rooms.insert)}, "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 state49 = 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_appointments50 = 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": user45, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 18, "items": assigned_to46, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 18, "items": event_type47, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 18, "items": room48, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 12, "items": state49, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 13, "items": show_appointments50, "labelAlign": "top", "layout": "form", "xtype": "panel" } ];
    this.fields = [ user45, assigned_to46, event_type47, room48, state49, show_appointments50 ];
    Lino.calview.DailyPlanner.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,
  initComponent : function() {
    var user58 = new Lino.TwinCombo({ "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", "onTrigger2Click": function(e){ Lino.show_fk_detail(this,Lino.users.AllUsers.detail,Lino.users.AllUsers.insert)}, "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_to59 = new Lino.TwinCombo({ "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", "onTrigger2Click": function(e){ Lino.show_fk_detail(this,Lino.users.AllUsers.detail,Lino.users.AllUsers.insert)}, "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_type60 = new Lino.TwinCombo({ "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", "onTrigger2Click": function(e){ Lino.show_fk_detail(this,Lino.cal.EventTypes.detail,Lino.cal.EventTypes.insert)}, "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 room61 = new Lino.TwinCombo({ "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", "onTrigger2Click": function(e){ Lino.show_fk_detail(this,Lino.cal.Rooms.detail,Lino.cal.Rooms.insert)}, "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 state62 = 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_appointments63 = 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": user58, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 18, "items": assigned_to59, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 18, "items": event_type60, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 18, "items": room61, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 12, "items": state62, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 13, "items": show_appointments63, "labelAlign": "top", "layout": "form", "xtype": "panel" } ];
    this.fields = [ user58, assigned_to59, event_type60, room61, state62, show_appointments63 ];
    Lino.calview.WeeklySlave.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,
  initComponent : function() {
    var user71 = new Lino.TwinCombo({ "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", "onTrigger2Click": function(e){ Lino.show_fk_detail(this,Lino.users.AllUsers.detail,Lino.users.AllUsers.insert)}, "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_to72 = new Lino.TwinCombo({ "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", "onTrigger2Click": function(e){ Lino.show_fk_detail(this,Lino.users.AllUsers.detail,Lino.users.AllUsers.insert)}, "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_type73 = new Lino.TwinCombo({ "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", "onTrigger2Click": function(e){ Lino.show_fk_detail(this,Lino.cal.EventTypes.detail,Lino.cal.EventTypes.insert)}, "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 room74 = new Lino.TwinCombo({ "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", "onTrigger2Click": function(e){ Lino.show_fk_detail(this,Lino.cal.Rooms.detail,Lino.cal.Rooms.insert)}, "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 state75 = 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_appointments76 = 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": user71, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 18, "items": assigned_to72, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 18, "items": event_type73, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 18, "items": room74, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 12, "items": state75, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 13, "items": show_appointments76, "labelAlign": "top", "layout": "form", "xtype": "panel" } ];
    this.fields = [ user71, assigned_to72, event_type73, room74, state75, show_appointments76 ];
    Lino.calview.DailyView.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,
  initComponent : function() {
    var start_period84 = 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_period85 = 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_date86 = 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_date87 = 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 cleared88 = 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_panel89 = new Ext.Panel({ "anchor": "-20", "autoHeight": true, "autoScroll": false, "border": false, "frame": false, "hideCheckBoxLabels": true, "items": [ { "autoHeight": true, "flex": 24, "items": start_period84, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 24, "items": end_period85, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 16, "items": start_date86, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 16, "items": end_date87, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 18, "items": cleared88, "labelAlign": "top", "layout": "form", "xtype": "panel" } ], "labelAlign": "top", "labelWidth": 0, "layout": "hbox", "layoutConfig": { "align": "stretchmax" } });
    var journal_group95 = 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 journal96 = new Lino.TwinCombo({ "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", "onTrigger2Click": function(e){ Lino.show_fk_detail(this,Lino.ledger.Journals.detail,Lino.ledger.Journals.insert)}, "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 year97 = 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 partner98 = new Lino.TwinCombo({ "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", "onTrigger2Click": function(e){ Lino.show_fk_detail(this,Lino.contacts.Partners.detail,null)}, "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 account99 = new Lino.TwinCombo({ "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", "onTrigger2Click": function(e){ Lino.show_fk_detail(this,Lino.ledger.Accounts.detail,Lino.ledger.Accounts.insert)}, "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_panel100 = new Ext.Panel({ "anchor": "-20", "autoHeight": true, "autoScroll": false, "border": false, "frame": false, "hideCheckBoxLabels": true, "items": [ { "autoHeight": true, "flex": 26, "items": journal_group95, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 18, "items": journal96, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 18, "items": year97, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 18, "items": partner98, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 18, "items": account99, "labelAlign": "top", "layout": "form", "xtype": "panel" } ], "labelAlign": "top", "labelWidth": 0, "layout": "hbox", "layoutConfig": { "align": "stretchmax" } });
    this.items = [ main_1_panel89, main_2_panel100 ];
    this.fields = [ start_period84, end_period85, start_date86, end_date87, cleared88, journal_group95, journal96, year97, partner98, account99 ];
    Lino.ledger.Movements.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,
  initComponent : function() {
    var user107 = new Lino.TwinCombo({ "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", "onTrigger2Click": function(e){ Lino.show_fk_detail(this,Lino.users.AllUsers.detail,Lino.users.AllUsers.insert)}, "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_to108 = new Lino.TwinCombo({ "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", "onTrigger2Click": function(e){ Lino.show_fk_detail(this,Lino.users.AllUsers.detail,Lino.users.AllUsers.insert)}, "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_type109 = new Lino.TwinCombo({ "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", "onTrigger2Click": function(e){ Lino.show_fk_detail(this,Lino.cal.EventTypes.detail,Lino.cal.EventTypes.insert)}, "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 room110 = new Lino.TwinCombo({ "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", "onTrigger2Click": function(e){ Lino.show_fk_detail(this,Lino.cal.Rooms.detail,Lino.cal.Rooms.insert)}, "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 state111 = 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_appointments112 = 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": user107, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 18, "items": assigned_to108, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 18, "items": event_type109, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 18, "items": room110, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 12, "items": state111, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 13, "items": show_appointments112, "labelAlign": "top", "layout": "form", "xtype": "panel" } ];
    this.fields = [ user107, assigned_to108, event_type109, room110, state111, show_appointments112 ];
    Lino.calview.MonthlyView.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,
  initComponent : function() {
    var user120 = new Lino.TwinCombo({ "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", "onTrigger2Click": function(e){ Lino.show_fk_detail(this,Lino.users.AllUsers.detail,Lino.users.AllUsers.insert)}, "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": user120, "labelAlign": "top", "layout": "form", "xtype": "panel" } ];
    this.fields = [ user120 ];
    Lino.users.Authorities.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,
  initComponent : function() {
    var trade_type123 = 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) Show only movements in the given trade type.") }, "name": "trade_type", "selectOnFocus": true, "store": [['','<br>']].concat(Lino.ledger.TradeTypes) });
    var date_until124 = 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) Show only movements whose booking date is before or on the given date.") }, "name": "date_until", "selectOnFocus": true });
    var from_journal125 = new Lino.TwinCombo({ "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) Show only movements generated by a voucher in the given journal.") }, "name": "from_journal", "onTrigger2Click": function(e){ Lino.show_fk_detail(this,Lino.ledger.Journals.detail,Lino.ledger.Journals.insert)}, "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_journal126 = new Lino.TwinCombo({ "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) Show only movements that may be matched by the given journal (i.e. for\nwhich a match rule exists).") }, "name": "for_journal", "onTrigger2Click": function(e){ Lino.show_fk_detail(this,Lino.ledger.Journals.detail,Lino.ledger.Journals.insert)}, "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_panel127 = new Ext.Panel({ "anchor": "-20", "autoHeight": true, "autoScroll": false, "border": false, "frame": false, "hideCheckBoxLabels": true, "items": [ { "autoHeight": true, "flex": 29, "items": trade_type123, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 17, "items": date_until124, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 26, "items": from_journal125, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 26, "items": for_journal126, "labelAlign": "top", "layout": "form", "xtype": "panel" } ], "labelAlign": "top", "labelWidth": 0, "layout": "hbox", "layoutConfig": { "align": "stretchmax" } });
    var partner132 = new Lino.TwinCombo({ "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) Show only movements with the given partner.") }, "name": "partner", "onTrigger2Click": function(e){ Lino.show_fk_detail(this,Lino.contacts.Partners.detail,null)}, "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 account133 = new Lino.TwinCombo({ "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) Show only movements on the given account.") }, "name": "account", "onTrigger2Click": function(e){ Lino.show_fk_detail(this,Lino.ledger.Accounts.detail,Lino.ledger.Accounts.insert)}, "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_sepa134 = 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) Show only movements whose partner has a SEPA account.") }, "name": "show_sepa", "selectOnFocus": true, "store": [['','<br>']].concat(Lino.system.YesNo) });
    var same_dc135 = 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) Show only movements having the same booking direction as the target\nvoucher.") }, "name": "same_dc", "selectOnFocus": true, "store": [['','<br>']].concat(Lino.system.YesNo) });
    var main_2_panel136 = new Ext.Panel({ "anchor": "-20", "autoHeight": true, "autoScroll": false, "border": false, "frame": false, "hideCheckBoxLabels": true, "items": [ { "autoHeight": true, "flex": 28, "items": partner132, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 28, "items": account133, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 21, "items": show_sepa134, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 21, "items": same_dc135, "labelAlign": "top", "layout": "form", "xtype": "panel" } ], "labelAlign": "top", "labelWidth": 0, "layout": "hbox", "layoutConfig": { "align": "stretchmax" } });
    this.items = [ main_1_panel127, main_2_panel136 ];
    this.fields = [ trade_type123, date_until124, from_journal125, for_journal126, partner132, account133, show_sepa134, same_dc135 ];
    Lino.ledger.ExpectedMovements.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,
  initComponent : function() {
    var user142 = new Lino.TwinCombo({ "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", "onTrigger2Click": function(e){ Lino.show_fk_detail(this,Lino.users.AllUsers.detail,Lino.users.AllUsers.insert)}, "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_to143 = new Lino.TwinCombo({ "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", "onTrigger2Click": function(e){ Lino.show_fk_detail(this,Lino.users.AllUsers.detail,Lino.users.AllUsers.insert)}, "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_type144 = new Lino.TwinCombo({ "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", "onTrigger2Click": function(e){ Lino.show_fk_detail(this,Lino.cal.EventTypes.detail,Lino.cal.EventTypes.insert)}, "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 room145 = new Lino.TwinCombo({ "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", "onTrigger2Click": function(e){ Lino.show_fk_detail(this,Lino.cal.Rooms.detail,Lino.cal.Rooms.insert)}, "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 state146 = 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_appointments147 = 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": user142, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 18, "items": assigned_to143, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 18, "items": event_type144, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 18, "items": room145, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 12, "items": state146, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 13, "items": show_appointments147, "labelAlign": "top", "layout": "form", "xtype": "panel" } ];
    this.fields = [ user142, assigned_to143, event_type144, room145, state146, show_appointments147 ];
    Lino.calview.WeeklyView.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,
  initComponent : function() {
    var common_account155 = 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_account155, "labelAlign": "top", "layout": "form", "xtype": "panel" } ];
    this.fields = [ common_account155 ];
    Lino.ledger.Accounts.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,
  initComponent : function() {
    var place158 = new Lino.TwinCombo({ "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) Show only addresses having the given place in Address.city.") }, "name": "place", "onTrigger2Click": function(e){ Lino.show_fk_detail(this,Lino.countries.Places.detail,Lino.countries.Places.insert)}, "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 partner159 = new Lino.TwinCombo({ "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) Show only addresses of the given partner in Address.partner.") }, "name": "partner", "onTrigger2Click": function(e){ Lino.show_fk_detail(this,Lino.contacts.Partners.detail,null)}, "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_type160 = 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) Show only addresses having the given type.") }, "name": "address_type", "selectOnFocus": true, "store": [['','<br>']].concat(Lino.addresses.AddressTypes), "value": null });
    this.items = [ { "autoHeight": true, "flex": 32, "items": place158, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 32, "items": partner159, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 34, "items": address_type160, "labelAlign": "top", "layout": "form", "xtype": "panel" } ];
    this.fields = [ place158, partner159, address_type160 ];
    Lino.addresses.Addresses.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,
  initComponent : function() {
    var user165 = new Lino.TwinCombo({ "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", "onTrigger2Click": function(e){ Lino.show_fk_detail(this,Lino.users.AllUsers.detail,Lino.users.AllUsers.insert)}, "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_to166 = new Lino.TwinCombo({ "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", "onTrigger2Click": function(e){ Lino.show_fk_detail(this,Lino.users.AllUsers.detail,Lino.users.AllUsers.insert)}, "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_type167 = new Lino.TwinCombo({ "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", "onTrigger2Click": function(e){ Lino.show_fk_detail(this,Lino.cal.EventTypes.detail,Lino.cal.EventTypes.insert)}, "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 room168 = new Lino.TwinCombo({ "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", "onTrigger2Click": function(e){ Lino.show_fk_detail(this,Lino.cal.Rooms.detail,Lino.cal.Rooms.insert)}, "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 state169 = 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_appointments170 = 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": user165, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 18, "items": assigned_to166, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 18, "items": event_type167, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 18, "items": room168, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 12, "items": state169, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 13, "items": show_appointments170, "labelAlign": "top", "layout": "form", "xtype": "panel" } ];
    this.fields = [ user165, assigned_to166, event_type167, room168, state169, show_appointments170 ];
    Lino.calview.MonthlySlave.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,
  initComponent : function() {
    var start_date178 = 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_date179 = 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 user180 = new Lino.TwinCombo({ "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", "onTrigger2Click": function(e){ Lino.show_fk_detail(this,Lino.users.AllUsers.detail,Lino.users.AllUsers.insert)}, "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_state181 = 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_state182 = 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_panel183 = new Ext.Panel({ "anchor": "-20", "autoHeight": true, "autoScroll": false, "border": false, "frame": false, "hideCheckBoxLabels": true, "items": [ { "autoHeight": true, "flex": 18, "items": start_date178, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 18, "items": end_date179, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 28, "items": user180, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 18, "items": event_state181, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 14, "items": guest_state182, "labelAlign": "top", "layout": "form", "xtype": "panel" } ], "labelAlign": "top", "labelWidth": 0, "layout": "hbox", "layoutConfig": { "align": "stretchmax" } });
    var partner189 = new Lino.TwinCombo({ "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", "onTrigger2Click": function(e){ Lino.show_fk_detail(this,Lino.contacts.Persons.detail,Lino.contacts.Persons.insert)}, "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_panel183, { "anchor": "-20", "autoHeight": true, "items": partner189, "labelAlign": "top", "layout": "form", "xtype": "panel" } ];
    this.fields = [ start_date178, end_date179, user180, event_state181, guest_state182, partner189 ];
    Lino.cal.Guests.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,
  initComponent : function() {
    var start_period192 = 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_period193 = 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_period192, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 50, "items": end_period193, "labelAlign": "top", "layout": "form", "xtype": "panel" } ];
    this.fields = [ start_period192, end_period193 ];
    Lino.ledger.PartnerBalancesByTradeType.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,
  initComponent : function() {
    var user_type197 = 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_date198 = 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_date199 = 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_type197, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 20, "items": start_date198, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 20, "items": end_date199, "labelAlign": "top", "layout": "form", "xtype": "panel" } ];
    this.fields = [ user_type197, start_date198, end_date199 ];
    Lino.users.AllUsers.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,
  initComponent : function() {
    var topic204 = new Lino.TwinCombo({ "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", "onTrigger2Click": function(e){ Lino.show_fk_detail(this,Lino.courses.Topics.detail,null)}, "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 line205 = new Lino.TwinCombo({ "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", "onTrigger2Click": function(e){ Lino.show_fk_detail(this,Lino.courses.Lines.detail,Lino.courses.Lines.insert)}, "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 user206 = new Lino.TwinCombo({ "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", "onTrigger2Click": function(e){ Lino.show_fk_detail(this,Lino.users.AllUsers.detail,Lino.users.AllUsers.insert)}, "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 teacher207 = new Lino.TwinCombo({ "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", "onTrigger2Click": function(e){ Lino.show_fk_detail(this,Lino.contacts.Persons.detail,Lino.contacts.Persons.insert)}, "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 state208 = 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_panel209 = new Ext.Panel({ "anchor": "-20", "autoHeight": true, "autoScroll": false, "border": false, "frame": false, "hideCheckBoxLabels": true, "items": [ { "autoHeight": true, "flex": 21, "items": topic204, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 21, "items": line205, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 21, "items": user206, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 21, "items": teacher207, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 12, "items": state208, "labelAlign": "top", "layout": "form", "xtype": "panel" } ], "labelAlign": "top", "labelWidth": 0, "layout": "hbox", "layoutConfig": { "align": "stretchmax" } });
    var room215 = new Lino.TwinCombo({ "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", "onTrigger2Click": function(e){ Lino.show_fk_detail(this,Lino.cal.Rooms.detail,Lino.cal.Rooms.insert)}, "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_enroll216 = 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_date217 = 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_date218 = 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_exposed219 = 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_panel220 = new Ext.Panel({ "anchor": "-20", "autoHeight": true, "autoScroll": false, "border": false, "frame": false, "hideCheckBoxLabels": true, "items": [ { "autoHeight": true, "flex": 28, "items": room215, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 14, "items": can_enroll216, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 18, "items": start_date217, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 18, "items": end_date218, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 21, "items": show_exposed219, "labelAlign": "top", "layout": "form", "xtype": "panel" } ], "labelAlign": "top", "labelWidth": 0, "layout": "hbox", "layoutConfig": { "align": "stretchmax" } });
    this.items = [ main_1_panel209, main_2_panel220 ];
    this.fields = [ topic204, line205, user206, teacher207, state208, room215, can_enroll216, start_date217, end_date218, show_exposed219 ];
    Lino.courses.Activities.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,
  initComponent : function() {
    var line227 = new Lino.TwinCombo({ "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", "onTrigger2Click": function(e){ Lino.show_fk_detail(this,Lino.courses.Lines.detail,Lino.courses.Lines.insert)}, "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 teacher228 = new Lino.TwinCombo({ "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", "onTrigger2Click": function(e){ Lino.show_fk_detail(this,Lino.contacts.Persons.detail,Lino.contacts.Persons.insert)}, "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 user229 = new Lino.TwinCombo({ "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", "onTrigger2Click": function(e){ Lino.show_fk_detail(this,Lino.users.AllUsers.detail,Lino.users.AllUsers.insert)}, "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 state230 = 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_enroll231 = 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": line227, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 24, "items": teacher228, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 24, "items": user229, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 13, "items": state230, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 12, "items": can_enroll231, "labelAlign": "top", "layout": "form", "xtype": "panel" } ];
    this.fields = [ line227, teacher228, user229, state230, can_enroll231 ];
    Lino.courses.ActivitiesByTopic.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,
  initComponent : function() {
    var user238 = new Lino.TwinCombo({ "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", "onTrigger2Click": function(e){ Lino.show_fk_detail(this,Lino.users.AllUsers.detail,Lino.users.AllUsers.insert)}, "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 checker239 = 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": user238, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 50, "items": checker239, "labelAlign": "top", "layout": "form", "xtype": "panel" } ];
    this.fields = [ user238, checker239 ];
    Lino.checkdata.Problems.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,
  initComponent : function() {
    var journal243 = new Lino.TwinCombo({ "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", "onTrigger2Click": function(e){ Lino.show_fk_detail(this,Lino.ledger.Journals.detail,Lino.ledger.Journals.insert)}, "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_period244 = 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_period245 = 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 user246 = new Lino.TwinCombo({ "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", "onTrigger2Click": function(e){ Lino.show_fk_detail(this,Lino.users.AllUsers.detail,Lino.users.AllUsers.insert)}, "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": journal243, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 25, "items": start_period244, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 25, "items": end_period245, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 25, "items": user246, "labelAlign": "top", "layout": "form", "xtype": "panel" } ];
    this.fields = [ journal243, start_period244, end_period245, user246 ];
    Lino.ledger.AllVouchers.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,
  initComponent : function() {
    var start_date252 = 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_date253 = 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_from254 = 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_to255 = 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 gender256 = 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_date252, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 25, "items": end_date253, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 12, "items": aged_from254, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 12, "items": aged_to255, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 23, "items": gender256, "labelAlign": "top", "layout": "form", "xtype": "panel" } ];
    this.fields = [ start_date252, end_date253, aged_from254, aged_to255, gender256 ];
    Lino.households.Members.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,
  initComponent : function() {
    var start_date263 = 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_date264 = 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_event265 = 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 state266 = 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) Show only entries having this state.") }, "name": "state", "selectOnFocus": true, "store": [['','<br>']].concat(Lino.cal.EntryStates), "value": null });
    var main_1_panel267 = new Ext.Panel({ "anchor": "-20", "autoHeight": true, "autoScroll": false, "border": false, "frame": false, "hideCheckBoxLabels": true, "items": [ { "autoHeight": true, "flex": 26, "items": start_date263, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 26, "items": end_date264, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 22, "items": observed_event265, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 26, "items": state266, "labelAlign": "top", "layout": "form", "xtype": "panel" } ], "labelAlign": "top", "labelWidth": 0, "layout": "hbox", "layoutConfig": { "align": "stretchmax" } });
    var user272 = new Lino.TwinCombo({ "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) Show only entries having this user as author.") }, "name": "user", "onTrigger2Click": function(e){ Lino.show_fk_detail(this,Lino.users.AllUsers.detail,Lino.users.AllUsers.insert)}, "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_to273 = new Lino.TwinCombo({ "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) Show only entries assigned to this user.") }, "name": "assigned_to", "onTrigger2Click": function(e){ Lino.show_fk_detail(this,Lino.users.AllUsers.detail,Lino.users.AllUsers.insert)}, "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_type274 = new Lino.TwinCombo({ "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) Show only entries having this type.") }, "name": "event_type", "onTrigger2Click": function(e){ Lino.show_fk_detail(this,Lino.cal.EventTypes.detail,Lino.cal.EventTypes.insert)}, "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 room275 = new Lino.TwinCombo({ "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", "onTrigger2Click": function(e){ Lino.show_fk_detail(this,Lino.cal.Rooms.detail,Lino.cal.Rooms.insert)}, "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_appointments276 = 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) Whether only appointments should be shown.  \"Yes\" means only\nappointments, \"No\" means no appointments and leaving it to\nblank shows both types of events.") }, "name": "show_appointments", "selectOnFocus": true, "store": [['','<br>']].concat(Lino.system.YesNo) });
    var main_2_panel277 = new Ext.Panel({ "anchor": "-20", "autoHeight": true, "autoScroll": false, "border": false, "frame": false, "hideCheckBoxLabels": true, "items": [ { "autoHeight": true, "flex": 21, "items": user272, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 21, "items": assigned_to273, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 21, "items": event_type274, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 21, "items": room275, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 15, "items": show_appointments276, "labelAlign": "top", "layout": "form", "xtype": "panel" } ], "labelAlign": "top", "labelWidth": 0, "layout": "hbox", "layoutConfig": { "align": "stretchmax" } });
    this.items = [ main_1_panel267, main_2_panel277 ];
    this.fields = [ start_date263, end_date264, observed_event265, state266, user272, assigned_to273, event_type274, room275, show_appointments276 ];
    Lino.cal.AllEntries.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,
  initComponent : function() {
    var user284 = new Lino.TwinCombo({ "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) Show only entries having this user as author.") }, "name": "user", "onTrigger2Click": function(e){ Lino.show_fk_detail(this,Lino.users.AllUsers.detail,Lino.users.AllUsers.insert)}, "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_type285 = new Lino.TwinCombo({ "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) Show only entries having this type.") }, "name": "event_type", "onTrigger2Click": function(e){ Lino.show_fk_detail(this,Lino.cal.EventTypes.detail,Lino.cal.EventTypes.insert)}, "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 room286 = new Lino.TwinCombo({ "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", "onTrigger2Click": function(e){ Lino.show_fk_detail(this,Lino.cal.Rooms.detail,Lino.cal.Rooms.insert)}, "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_guest287 = new Lino.TwinCombo({ "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) Show only entries that have a presence for the specified guest.") }, "name": "presence_guest", "onTrigger2Click": function(e){ Lino.show_fk_detail(this,Lino.contacts.Persons.detail,Lino.contacts.Persons.insert)}, "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": user284, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 25, "items": event_type285, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 25, "items": room286, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 25, "items": presence_guest287, "labelAlign": "top", "layout": "form", "xtype": "panel" } ];
    this.fields = [ user284, event_type285, room286, presence_guest287 ];
    Lino.cal.Events.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,
  initComponent : function() {
    var observed_event293 = 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_date294 = 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_date295 = 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_event293, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 27, "items": start_date294, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 27, "items": end_date295, "labelAlign": "top", "layout": "form", "xtype": "panel" } ];
    this.fields = [ observed_event293, start_date294, end_date295 ];
    Lino.contacts.Partners.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,
  initComponent : function() {
    var user300 = new Lino.TwinCombo({ "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", "onTrigger2Click": function(e){ Lino.show_fk_detail(this,Lino.users.AllUsers.detail,Lino.users.AllUsers.insert)}, "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": user300, "labelAlign": "top", "layout": "form", "xtype": "panel" } ];
    this.fields = [ user300 ];
    Lino.comments.Mentions.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,
  initComponent : function() {
    var user303 = new Lino.TwinCombo({ "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) Show only entries having this user as author.") }, "name": "user", "onTrigger2Click": function(e){ Lino.show_fk_detail(this,Lino.users.AllUsers.detail,Lino.users.AllUsers.insert)}, "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_type304 = new Lino.TwinCombo({ "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) Show only entries having this type.") }, "name": "event_type", "onTrigger2Click": function(e){ Lino.show_fk_detail(this,Lino.cal.EventTypes.detail,Lino.cal.EventTypes.insert)}, "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 room305 = new Lino.TwinCombo({ "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", "onTrigger2Click": function(e){ Lino.show_fk_detail(this,Lino.cal.Rooms.detail,Lino.cal.Rooms.insert)}, "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_guest306 = new Lino.TwinCombo({ "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) Show only entries that have a presence for the specified guest.") }, "name": "presence_guest", "onTrigger2Click": function(e){ Lino.show_fk_detail(this,Lino.contacts.Persons.detail,Lino.contacts.Persons.insert)}, "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": user303, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 25, "items": event_type304, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 25, "items": room305, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 25, "items": presence_guest306, "labelAlign": "top", "layout": "form", "xtype": "panel" } ];
    this.fields = [ user303, event_type304, room305, presence_guest306 ];
    Lino.cal.OneEvent.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,
  initComponent : function() {
    var start_date312 = 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_date313 = 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 user314 = new Lino.TwinCombo({ "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", "onTrigger2Click": function(e){ Lino.show_fk_detail(this,Lino.users.AllUsers.detail,Lino.users.AllUsers.insert)}, "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_type315 = new Lino.TwinCombo({ "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", "onTrigger2Click": function(e){ Lino.show_fk_detail(this,Lino.uploads.UploadTypes.detail,Lino.uploads.UploadTypes.insert)}, "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_date312, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 19, "items": end_date313, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 30, "items": user314, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 30, "items": upload_type315, "labelAlign": "top", "layout": "form", "xtype": "panel" } ];
    this.fields = [ start_date312, end_date313, user314, upload_type315 ];
    Lino.uploads.Uploads.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,
  initComponent : function() {
    var partner321 = new Lino.TwinCombo({ "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", "onTrigger2Click": function(e){ Lino.show_fk_detail(this,Lino.contacts.Partners.detail,null)}, "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 state322 = 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 journal323 = new Lino.TwinCombo({ "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", "onTrigger2Click": function(e){ Lino.show_fk_detail(this,Lino.ledger.Journals.detail,Lino.ledger.Journals.insert)}, "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_period324 = 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_period325 = 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 cleared326 = 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": partner321, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 12, "items": state322, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 18, "items": journal323, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 18, "items": start_period324, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 18, "items": end_period325, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 13, "items": cleared326, "labelAlign": "top", "layout": "form", "xtype": "panel" } ];
    this.fields = [ partner321, state322, journal323, start_period324, end_period325, cleared326 ];
    Lino.ledger.PartnerVouchers.ParamsPanel.superclass.initComponent.call(this);
  }
});


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,
  initComponent : function() {
    var start_date334 = 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_date335 = 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) The date range to filter.") }, "name": "end_date", "selectOnFocus": true, "value": null });
    var observed_event336 = 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) Which event (created, modified or published) to consider when\napplying the date range given by start_date and\nend_date.") }, "name": "observed_event", "selectOnFocus": true, "store": [['','<br>']].concat(Lino.comments.CommentEvents) });
    var user337 = new Lino.TwinCombo({ "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", "onTrigger2Click": function(e){ Lino.show_fk_detail(this,Lino.users.AllUsers.detail,Lino.users.AllUsers.insert)}, "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_to338 = new Lino.TwinCombo({ "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", "onTrigger2Click": function(e){ Lino.show_fk_detail(this,Lino.comments.Comments.detail,Lino.comments.Comments.insert)}, "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_date334, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 16, "items": end_date335, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 14, "items": observed_event336, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 25, "items": user337, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 25, "items": reply_to338, "labelAlign": "top", "layout": "form", "xtype": "panel" } ];
    this.fields = [ start_date334, end_date335, observed_event336, user337, reply_to338 ];
    Lino.comments.Comments.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,
  initComponent : function() {
    var start_date345 = 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_date346 = 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 author347 = new Lino.TwinCombo({ "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", "onTrigger2Click": function(e){ Lino.show_fk_detail(this,Lino.users.AllUsers.detail,Lino.users.AllUsers.insert)}, "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 state348 = 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_state349 = 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_only350 = 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_date345, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 13, "items": end_date346, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 27, "items": author347, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 16, "items": state348, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 15, "items": course_state349, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 13, "items": participants_only350, "labelAlign": "top", "layout": "form", "xtype": "panel" } ];
    this.fields = [ start_date345, end_date346, author347, state348, course_state349, participants_only350 ];
    Lino.courses.Enrolments.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,
  initComponent : function() {
    var user358 = new Lino.TwinCombo({ "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", "onTrigger2Click": function(e){ Lino.show_fk_detail(this,Lino.users.AllUsers.detail,Lino.users.AllUsers.insert)}, "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": user358, "labelAlign": "top", "layout": "form", "xtype": "panel" } ];
    this.fields = [ user358 ];
    Lino.blogs.Entries.ParamsPanel.superclass.initComponent.call(this);
  }
});


Lino.ledger.Situation.ParamsPanel = Ext.extend(Ext.form.FormPanel, {
  hideCheckBoxLabels: true,
  labelAlign: "top",
  autoScroll: false,
  labelWidth: 0,
  frame: true,
  bodyBorder: false,
  border: false,
  layout: 'form',
  autoHeight: true,
  initComponent : function() {
    var today361 = 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.Situation.today) Date of observation") }, "name": "today", "selectOnFocus": true });
    this.items = [ { "autoHeight": true, "items": today361, "labelAlign": "top", "layout": "form", "xtype": "panel" } ];
    this.fields = [ today361 ];
    Lino.ledger.Situation.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,
  initComponent : function() {
    var start_date364 = 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_date365 = 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 user366 = new Lino.TwinCombo({ "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", "onTrigger2Click": function(e){ Lino.show_fk_detail(this,Lino.users.AllUsers.detail,Lino.users.AllUsers.insert)}, "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 state367 = 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_panel368 = new Ext.Panel({ "autoHeight": true, "autoScroll": false, "border": false, "frame": false, "hideCheckBoxLabels": true, "items": [ { "autoHeight": true, "flex": 22, "items": start_date364, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 22, "items": end_date365, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 34, "items": user366, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 20, "items": state367, "labelAlign": "top", "layout": "form", "xtype": "panel" } ], "labelAlign": "top", "labelWidth": 0, "layout": "hbox", "layoutConfig": { "align": "stretchmax" } });
    this.items = [ main_1_panel368 ];
    this.fields = [ start_date364, end_date365, user366, state367 ];
    Lino.cal.Tasks.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,
  initComponent : function() {
    var today374 = 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": today374, "labelAlign": "top", "layout": "form", "xtype": "panel" } ];
    this.fields = [ today374 ];
    Lino.ledger.Debtors.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,
  initComponent : function() {
    var user377 = new Lino.TwinCombo({ "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", "onTrigger2Click": function(e){ Lino.show_fk_detail(this,Lino.users.AllUsers.detail,Lino.users.AllUsers.insert)}, "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": user377, "labelAlign": "top", "layout": "form", "xtype": "panel" } ];
    this.fields = [ user377 ];
    Lino.cal.RecurrentEvents.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,
  initComponent : function() {
    var start_date380 = 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_date381 = 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_event382 = 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 state383 = 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) Show only entries having this state.") }, "name": "state", "selectOnFocus": true, "store": [['','<br>']].concat(Lino.cal.EntryStates), "value": null });
    var main_1_panel384 = new Ext.Panel({ "anchor": "-20", "autoHeight": true, "autoScroll": false, "border": false, "frame": false, "hideCheckBoxLabels": true, "items": [ { "autoHeight": true, "flex": 26, "items": start_date380, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 26, "items": end_date381, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 22, "items": observed_event382, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 26, "items": state383, "labelAlign": "top", "layout": "form", "xtype": "panel" } ], "labelAlign": "top", "labelWidth": 0, "layout": "hbox", "layoutConfig": { "align": "stretchmax" } });
    var user389 = new Lino.TwinCombo({ "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) Show only entries having this user as author.") }, "name": "user", "onTrigger2Click": function(e){ Lino.show_fk_detail(this,Lino.users.AllUsers.detail,Lino.users.AllUsers.insert)}, "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_to390 = new Lino.TwinCombo({ "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) Show only entries assigned to this user.") }, "name": "assigned_to", "onTrigger2Click": function(e){ Lino.show_fk_detail(this,Lino.users.AllUsers.detail,Lino.users.AllUsers.insert)}, "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_type391 = new Lino.TwinCombo({ "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) Show only entries having this type.") }, "name": "event_type", "onTrigger2Click": function(e){ Lino.show_fk_detail(this,Lino.cal.EventTypes.detail,Lino.cal.EventTypes.insert)}, "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 room392 = new Lino.TwinCombo({ "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", "onTrigger2Click": function(e){ Lino.show_fk_detail(this,Lino.cal.Rooms.detail,Lino.cal.Rooms.insert)}, "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_appointments393 = 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) Whether only appointments should be shown.  \"Yes\" means only\nappointments, \"No\" means no appointments and leaving it to\nblank shows both types of events.") }, "name": "show_appointments", "selectOnFocus": true, "store": [['','<br>']].concat(Lino.system.YesNo) });
    var main_2_panel394 = new Ext.Panel({ "anchor": "-20", "autoHeight": true, "autoScroll": false, "border": false, "frame": false, "hideCheckBoxLabels": true, "items": [ { "autoHeight": true, "flex": 21, "items": user389, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 21, "items": assigned_to390, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 21, "items": event_type391, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 21, "items": room392, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 15, "items": show_appointments393, "labelAlign": "top", "layout": "form", "xtype": "panel" } ], "labelAlign": "top", "labelWidth": 0, "layout": "hbox", "layoutConfig": { "align": "stretchmax" } });
    this.items = [ main_1_panel384, main_2_panel394 ];
    this.fields = [ start_date380, end_date381, observed_event382, state383, user389, assigned_to390, event_type391, room392, show_appointments393 ];
    Lino.cal.MyEntries.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,
  initComponent : function() {
    var partner401 = new Lino.TwinCombo({ "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", "onTrigger2Click": function(e){ Lino.show_fk_detail(this,Lino.contacts.Partners.detail,null)}, "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_type402 = 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": 66, "items": partner401, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 33, "items": detail_type402, "labelAlign": "top", "layout": "form", "xtype": "panel" } ];
    this.fields = [ partner401, detail_type402 ];
    Lino.phones.ContactDetails.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,
  initComponent : function() {
    var start_date406 = 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_date407 = 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 user408 = new Lino.TwinCombo({ "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", "onTrigger2Click": function(e){ Lino.show_fk_detail(this,Lino.users.AllUsers.detail,Lino.users.AllUsers.insert)}, "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_date406, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 28, "items": end_date407, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 43, "items": user408, "labelAlign": "top", "layout": "form", "xtype": "panel" } ];
    this.fields = [ start_date406, end_date407, user408 ];
    Lino.comments.Reactions.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,
  initComponent : function() {
    var start_date413 = 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_date414 = 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 pcertifying415 = 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_panel416 = new Ext.Panel({ "anchor": "-20", "autoHeight": true, "autoScroll": false, "border": false, "frame": false, "hideCheckBoxLabels": true, "items": [ { "autoHeight": true, "flex": 31, "items": start_date413, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 31, "items": end_date414, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 36, "items": pcertifying415, "labelAlign": "top", "layout": "form", "xtype": "panel" } ], "labelAlign": "top", "labelWidth": 0, "layout": "hbox", "layoutConfig": { "align": "stretchmax" } });
    var user420 = new Lino.TwinCombo({ "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", "onTrigger2Click": function(e){ Lino.show_fk_detail(this,Lino.users.AllUsers.detail,Lino.users.AllUsers.insert)}, "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_type421 = new Lino.TwinCombo({ "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", "onTrigger2Click": function(e){ Lino.show_fk_detail(this,Lino.excerpts.ExcerptTypes.detail,Lino.excerpts.ExcerptTypes.insert)}, "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_panel422 = new Ext.Panel({ "anchor": "-20", "autoHeight": true, "autoScroll": false, "border": false, "frame": false, "hideCheckBoxLabels": true, "items": [ { "autoHeight": true, "flex": 50, "items": user420, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 50, "items": excerpt_type421, "labelAlign": "top", "layout": "form", "xtype": "panel" } ], "labelAlign": "top", "labelWidth": 0, "layout": "hbox", "layoutConfig": { "align": "stretchmax" } });
    this.items = [ main_1_panel416, main_2_panel422 ];
    this.fields = [ start_date413, end_date414, pcertifying415, user420, excerpt_type421 ];
    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,
  initComponent : function() {
    var user426 = new Lino.TwinCombo({ "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", "onTrigger2Click": function(e){ Lino.show_fk_detail(this,Lino.users.AllUsers.detail,Lino.users.AllUsers.insert)}, "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": user426, "labelAlign": "top", "layout": "form", "xtype": "panel" } ];
    this.fields = [ user426 ];
    Lino.tinymce.TextFieldTemplates.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,
  initComponent : function() {
    var start_date429 = 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_date430 = 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_date429, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 50, "items": end_date430, "labelAlign": "top", "layout": "form", "xtype": "panel" } ];
    this.fields = [ start_date429, end_date430 ];
    Lino.ledger.AccountingPeriods.ParamsPanel.superclass.initComponent.call(this);
  }
});


Lino.users.MySettings.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,
  initComponent : function() {
    var user_type434 = 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.MySettings.user_type) ") }, "name": "user_type", "selectOnFocus": true, "store": [['','<br>']].concat(Lino.users.UserTypes) });
    var start_date435 = 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.MySettings.start_date) Start date of observed period") }, "name": "start_date", "selectOnFocus": true, "value": null });
    var end_date436 = 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.MySettings.end_date) End date of observed period") }, "name": "end_date", "selectOnFocus": true, "value": null });
    this.items = [ { "autoHeight": true, "flex": 60, "items": user_type434, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 20, "items": start_date435, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 20, "items": end_date436, "labelAlign": "top", "layout": "form", "xtype": "panel" } ];
    this.fields = [ user_type434, start_date435, end_date436 ];
    Lino.users.MySettings.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,
  initComponent : function() {
    var today441 = 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": today441, "labelAlign": "top", "layout": "form", "xtype": "panel" } ];
    this.fields = [ today441 ];
    Lino.ledger.Creditors.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,
  initComponent : function() {
    var start_period444 = 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_period445 = 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_period444, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 50, "items": end_period445, "labelAlign": "top", "layout": "form", "xtype": "panel" } ];
    this.fields = [ start_period444, end_period445 ];
    Lino.ledger.GeneralAccountBalances.ParamsPanel.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_to552 = new Lino.TwinCombo({ "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", "onTrigger2Click": function(e){ Lino.show_fk_detail(this,Lino.households.Households.detail,Lino.households.Households.insert)}, "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_Member553 = 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_Address554 = 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_panel555 = new Ext.Panel({ "anchor": "-20", "autoHeight": true, "autoScroll": false, "border": false, "frame": false, "hideCheckBoxLabels": true, "items": [ { "autoHeight": true, "flex": 50, "items": this.households_Member553, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 50, "items": this.addresses_Address554, "labelAlign": "top", "layout": "form", "xtype": "panel" } ], "labelAlign": "top", "labelWidth": 0, "layout": "hbox", "layoutConfig": { "align": "stretchmax" } });
    this.lists_Member558 = 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_ContactDetail559 = 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_panel560 = new Ext.Panel({ "anchor": "-20", "autoHeight": true, "autoScroll": false, "border": false, "frame": false, "hideCheckBoxLabels": true, "items": [ { "autoHeight": true, "flex": 50, "items": this.lists_Member558, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 50, "items": this.phones_ContactDetail559, "labelAlign": "top", "layout": "form", "xtype": "panel" } ], "labelAlign": "top", "labelWidth": 0, "layout": "hbox", "layoutConfig": { "align": "stretchmax" } });
    this.sepa_Account563 = 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_Interest564 = 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_panel565 = new Ext.Panel({ "anchor": "-20", "autoHeight": true, "autoScroll": false, "border": false, "frame": false, "hideCheckBoxLabels": true, "items": [ { "autoHeight": true, "flex": 50, "items": this.sepa_Account563, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 50, "items": this.topics_Interest564, "labelAlign": "top", "layout": "form", "xtype": "panel" } ], "labelAlign": "top", "labelWidth": 0, "layout": "hbox", "layoutConfig": { "align": "stretchmax" } });
    var keep_volatiles_panel568 = new Ext.form.FieldSet({ "anchor": "-20", "autoHeight": true, "autoScroll": false, "bodyBorder": false, "border": false, "frame": true, "hideCheckBoxLabels": true, "items": [ keep_volatiles_1_panel555, keep_volatiles_2_panel560, keep_volatiles_3_panel565 ], "labelAlign": "top", "layout": "form", "title": "Also reassign volatile related objects" });
    this.reason569 = 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_to552, "labelAlign": "top", "layout": "form", "xtype": "panel" }, keep_volatiles_panel568, { "anchor": "-20", "autoHeight": true, "items": this.reason569, "labelAlign": "top", "layout": "form", "xtype": "panel" } ];
    this.fields = [ this.merge_to552, this.households_Member553, this.addresses_Address554, this.lists_Member558, this.phones_ContactDetail559, this.sepa_Account563, this.topics_Interest564, this.reason569 ];
    this.http_method = "GET"
    Lino.households.Households.merge_row_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_to578 = new Lino.TwinCombo({ "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", "onTrigger2Click": function(e){ Lino.show_fk_detail(this,Lino.lists.Lists.detail,Lino.lists.Lists.insert)}, "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_Member579 = 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.reason580 = 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_to578, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "anchor": "-20", "autoHeight": true, "items": this.lists_Member579, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "anchor": "-20", "autoHeight": true, "items": this.reason580, "labelAlign": "top", "layout": "form", "xtype": "panel" } ];
    this.fields = [ this.merge_to578, this.lists_Member579, this.reason580 ];
    this.http_method = "GET"
    Lino.lists.Lists.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.current588 = 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.new1589 = 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.new2590 = 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.current588, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "anchor": "-20", "autoHeight": true, "items": this.new1589, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "anchor": "-20", "autoHeight": true, "items": this.new2590, "labelAlign": "top", "layout": "form", "xtype": "panel" } ];
    this.fields = [ this.current588, this.new1589, this.new2590 ];
    this.http_method = "GET"
    Lino.users.AllUsers.change_password_ActionFormPanel.superclass.initComponent.call(this);
  }
});


Lino.users.UsersOverview.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.username600 = 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.password601 = 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.username600, "labelAlign": "left", "layout": "form", "xtype": "panel" }, { "anchor": "-20", "autoHeight": true, "items": this.password601, "labelAlign": "left", "layout": "form", "xtype": "panel" } ];
    this.fields = [ this.username600, this.password601 ];
    this.http_method = "POST"
    Lino.users.UsersOverview.sign_in_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_to542 = new Lino.TwinCombo({ "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", "onTrigger2Click": function(e){ Lino.show_fk_detail(this,Lino.ledger.PaymentTerms.detail,null)}, "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.reason543 = 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_to542, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "anchor": "-20", "autoHeight": true, "items": this.reason543, "labelAlign": "top", "layout": "form", "xtype": "panel" } ];
    this.fields = [ this.merge_to542, this.reason543 ];
    this.http_method = "GET"
    Lino.ledger.PaymentTerms.merge_row_ActionFormPanel.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_to530 = new Lino.TwinCombo({ "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", "onTrigger2Click": function(e){ Lino.show_fk_detail(this,Lino.ledger.Journals.detail,Lino.ledger.Journals.insert)}, "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_MatchRule531 = 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.reason532 = 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_to530, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "anchor": "-20", "autoHeight": true, "items": this.ledger_MatchRule531, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "anchor": "-20", "autoHeight": true, "items": this.reason532, "labelAlign": "top", "layout": "form", "xtype": "panel" } ];
    this.fields = [ this.merge_to530, this.ledger_MatchRule531, this.reason532 ];
    this.http_method = "GET"
    Lino.ledger.Journals.merge_row_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_to515 = new Lino.TwinCombo({ "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", "onTrigger2Click": function(e){ Lino.show_fk_detail(this,Lino.cal.EventTypes.detail,Lino.cal.EventTypes.insert)}, "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.reason516 = 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_to515, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "anchor": "-20", "autoHeight": true, "items": this.reason516, "labelAlign": "top", "layout": "form", "xtype": "panel" } ];
    this.fields = [ this.merge_to515, this.reason516 ];
    this.http_method = "GET"
    Lino.cal.EventTypes.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_to605 = new Lino.TwinCombo({ "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", "onTrigger2Click": function(e){ Lino.show_fk_detail(this,Lino.courses.Lines.detail,Lino.courses.Lines.insert)}, "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.reason606 = 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_to605, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "anchor": "-20", "autoHeight": true, "items": this.reason606, "labelAlign": "top", "layout": "form", "xtype": "panel" } ];
    this.fields = [ this.merge_to605, this.reason606 ];
    this.http_method = "GET"
    Lino.courses.Lines.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_to467 = new Lino.TwinCombo({ "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", "onTrigger2Click": function(e){ Lino.show_fk_detail(this,Lino.contacts.Persons.detail,Lino.contacts.Persons.insert)}, "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_Address468 = 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_Member469 = 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_panel470 = new Ext.Panel({ "anchor": "-20", "autoHeight": true, "autoScroll": false, "border": false, "frame": false, "hideCheckBoxLabels": true, "items": [ { "autoHeight": true, "flex": 50, "items": this.addresses_Address468, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 50, "items": this.lists_Member469, "labelAlign": "top", "layout": "form", "xtype": "panel" } ], "labelAlign": "top", "labelWidth": 0, "layout": "hbox", "layoutConfig": { "align": "stretchmax" } });
    this.phones_ContactDetail473 = 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_Account474 = 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_panel475 = new Ext.Panel({ "anchor": "-20", "autoHeight": true, "autoScroll": false, "border": false, "frame": false, "hideCheckBoxLabels": true, "items": [ { "autoHeight": true, "flex": 50, "items": this.phones_ContactDetail473, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 50, "items": this.sepa_Account474, "labelAlign": "top", "layout": "form", "xtype": "panel" } ], "labelAlign": "top", "labelWidth": 0, "layout": "hbox", "layoutConfig": { "align": "stretchmax" } });
    this.topics_Interest478 = 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_panel479 = new Ext.form.FieldSet({ "anchor": "-20", "autoHeight": true, "autoScroll": false, "bodyBorder": false, "border": false, "frame": true, "hideCheckBoxLabels": true, "items": [ keep_volatiles_1_panel470, keep_volatiles_2_panel475, { "anchor": "-20", "autoHeight": true, "items": this.topics_Interest478, "labelAlign": "top", "layout": "form", "xtype": "panel" } ], "labelAlign": "top", "labelWidth": 0, "layout": "form", "title": "Also reassign volatile related objects" });
    this.reason481 = 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_to467, "labelAlign": "top", "layout": "form", "xtype": "panel" }, keep_volatiles_panel479, { "anchor": "-20", "autoHeight": true, "items": this.reason481, "labelAlign": "top", "layout": "form", "xtype": "panel" } ];
    this.fields = [ this.merge_to467, this.addresses_Address468, this.lists_Member469, this.phones_ContactDetail473, this.sepa_Account474, this.topics_Interest478, this.reason481 ];
    this.http_method = "GET"
    Lino.contacts.Persons.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.head485 = new Lino.TwinCombo({ "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", "onTrigger2Click": function(e){ Lino.show_fk_detail(this,Lino.contacts.Persons.detail,Lino.contacts.Persons.insert)}, "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.type486 = new Lino.TwinCombo({ "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", "onTrigger2Click": function(e){ Lino.show_fk_detail(this,Lino.households.Types.detail,null)}, "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.partner487 = new Lino.TwinCombo({ "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", "onTrigger2Click": function(e){ Lino.show_fk_detail(this,Lino.contacts.Persons.detail,Lino.contacts.Persons.insert)}, "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.head485, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "anchor": "-20", "autoHeight": true, "items": this.type486, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "anchor": "-20", "autoHeight": true, "items": this.partner487, "labelAlign": "top", "layout": "form", "xtype": "panel" } ];
    this.fields = [ this.head485, this.type486, this.partner487 ];
    this.http_method = "GET"
    Lino.contacts.Persons.create_household_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_date610 = 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_date611 = 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_remarks612 = 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_states613 = 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_date610, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "anchor": "-20", "autoHeight": true, "items": this.end_date611, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "anchor": "-20", "autoHeight": true, "items": this.show_remarks612, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "anchor": "-20", "autoHeight": true, "items": this.show_states613, "labelAlign": "top", "layout": "form", "xtype": "panel" } ];
    this.fields = [ this.start_date610, this.end_date611, this.show_remarks612, this.show_states613 ];
    this.http_method = "GET"
    Lino.courses.Activities.print_presence_sheet_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_to525 = new Lino.TwinCombo({ "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", "onTrigger2Click": function(e){ Lino.show_fk_detail(this,Lino.ledger.Accounts.detail,Lino.ledger.Accounts.insert)}, "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.reason526 = 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_to525, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "anchor": "-20", "autoHeight": true, "items": this.reason526, "labelAlign": "top", "layout": "form", "xtype": "panel" } ];
    this.fields = [ this.merge_to525, this.reason526 ];
    this.http_method = "GET"
    Lino.ledger.Accounts.merge_row_ActionFormPanel.superclass.initComponent.call(this);
  }
});


Lino.users.AllUsers.send_welcome_email_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: 'send_welcome_email',
  window_title: "Welcome mail",
  before_row_edit : function(record) {
  },
  autoHeight: true,
  initComponent : function() {
    this.email595 = new Ext.form.TextField({ "allowBlank": false, "anchor": "-20", "autoHeight": true, "fieldLabel": "e-mail address", "listeners": { "render": Lino.quicktip_renderer("e-mail address","(Welcome mail.email) ") }, "maxLength": 254, "name": "email", "selectOnFocus": true });
    this.subject596 = new Ext.form.TextField({ "allowBlank": false, "anchor": "-20", "autoHeight": true, "fieldLabel": "Subject", "listeners": { "render": Lino.quicktip_renderer("Subject","(Welcome mail.subject) ") }, "maxLength": 250, "name": "subject", "selectOnFocus": true });
    this.items = [ { "anchor": "-20", "autoHeight": true, "items": this.email595, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "anchor": "-20", "autoHeight": true, "items": this.subject596, "labelAlign": "top", "layout": "form", "xtype": "panel" } ];
    this.fields = [ this.email595, this.subject596 ];
    this.http_method = "GET"
    Lino.users.AllUsers.send_welcome_email_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_to510 = new Lino.TwinCombo({ "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", "onTrigger2Click": function(e){ Lino.show_fk_detail(this,Lino.cal.GuestRoles.detail,null)}, "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.reason511 = 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_to510, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "anchor": "-20", "autoHeight": true, "items": this.reason511, "labelAlign": "top", "layout": "form", "xtype": "panel" } ];
    this.fields = [ this.merge_to510, this.reason511 ];
    this.http_method = "GET"
    Lino.cal.GuestRoles.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_to537 = 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.reason538 = 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_to537, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "anchor": "-20", "autoHeight": true, "items": this.reason538, "labelAlign": "top", "layout": "form", "xtype": "panel" } ];
    this.fields = [ this.merge_to537, this.reason538 ];
    this.http_method = "GET"
    Lino.ledger.AccountingPeriods.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_date619 = 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_date620 = 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_remarks621 = 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_states622 = 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_date619, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "anchor": "-20", "autoHeight": true, "items": this.end_date620, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "anchor": "-20", "autoHeight": true, "items": this.show_remarks621, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "anchor": "-20", "autoHeight": true, "items": this.show_states622, "labelAlign": "top", "layout": "form", "xtype": "panel" } ];
    this.fields = [ this.start_date619, this.end_date620, this.show_remarks621, this.show_states622 ];
    this.http_method = "GET"
    Lino.courses.Activities.print_presence_sheet_html_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.choice585 = 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.choice585, "labelAlign": "top", "layout": "form", "xtype": "panel" } ];
    this.fields = [ this.choice585 ];
    this.http_method = "GET"
    Lino.comments.Comments.do_pick_my_emotion_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_to573 = new Lino.TwinCombo({ "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", "onTrigger2Click": function(e){ Lino.show_fk_detail(this,Lino.topics.Topics.detail,Lino.topics.Topics.insert)}, "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.reason574 = 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_to573, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "anchor": "-20", "autoHeight": true, "items": this.reason574, "labelAlign": "top", "layout": "form", "xtype": "panel" } ];
    this.fields = [ this.merge_to573, this.reason574 ];
    this.http_method = "GET"
    Lino.topics.Topics.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_to520 = new Lino.TwinCombo({ "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", "onTrigger2Click": function(e){ Lino.show_fk_detail(this,Lino.uploads.Volumes.detail,Lino.uploads.Volumes.insert)}, "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.reason521 = 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_to520, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "anchor": "-20", "autoHeight": true, "items": this.reason521, "labelAlign": "top", "layout": "form", "xtype": "panel" } ];
    this.fields = [ this.merge_to520, this.reason521 ];
    this.http_method = "GET"
    Lino.uploads.Volumes.merge_row_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_to547 = 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.reason548 = 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_to547, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "anchor": "-20", "autoHeight": true, "items": this.reason548, "labelAlign": "top", "layout": "form", "xtype": "panel" } ];
    this.fields = [ this.merge_to547, this.reason548 ];
    this.http_method = "GET"
    Lino.ledger.FiscalYears.merge_row_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_to492 = new Lino.TwinCombo({ "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", "onTrigger2Click": function(e){ Lino.show_fk_detail(this,Lino.contacts.Companies.detail,Lino.contacts.Companies.insert)}, "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_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.Companies.merge_row_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_to449 = new Lino.TwinCombo({ "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", "onTrigger2Click": function(e){ Lino.show_fk_detail(this,Lino.contacts.Partners.detail,null)}, "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_Address450 = 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_Member451 = 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_panel452 = new Ext.Panel({ "anchor": "-20", "autoHeight": true, "autoScroll": false, "border": false, "frame": false, "hideCheckBoxLabels": true, "items": [ { "autoHeight": true, "flex": 50, "items": this.addresses_Address450, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 50, "items": this.lists_Member451, "labelAlign": "top", "layout": "form", "xtype": "panel" } ], "labelAlign": "top", "labelWidth": 0, "layout": "hbox", "layoutConfig": { "align": "stretchmax" } });
    this.phones_ContactDetail455 = 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_Account456 = 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_panel457 = new Ext.Panel({ "anchor": "-20", "autoHeight": true, "autoScroll": false, "border": false, "frame": false, "hideCheckBoxLabels": true, "items": [ { "autoHeight": true, "flex": 50, "items": this.phones_ContactDetail455, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 50, "items": this.sepa_Account456, "labelAlign": "top", "layout": "form", "xtype": "panel" } ], "labelAlign": "top", "labelWidth": 0, "layout": "hbox", "layoutConfig": { "align": "stretchmax" } });
    this.topics_Interest460 = 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_panel461 = new Ext.form.FieldSet({ "anchor": "-20", "autoHeight": true, "autoScroll": false, "bodyBorder": false, "border": false, "frame": true, "hideCheckBoxLabels": true, "items": [ keep_volatiles_1_panel452, keep_volatiles_2_panel457, { "anchor": "-20", "autoHeight": true, "items": this.topics_Interest460, "labelAlign": "top", "layout": "form", "xtype": "panel" } ], "labelAlign": "top", "labelWidth": 0, "layout": "form", "title": "Also reassign volatile related objects" });
    this.reason463 = 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_to449, "labelAlign": "top", "layout": "form", "xtype": "panel" }, keep_volatiles_panel461, { "anchor": "-20", "autoHeight": true, "items": this.reason463, "labelAlign": "top", "layout": "form", "xtype": "panel" } ];
    this.fields = [ this.merge_to449, this.addresses_Address450, this.lists_Member451, this.phones_ContactDetail455, this.sepa_Account456, this.topics_Interest460, this.reason463 ];
    this.http_method = "GET"
    Lino.contacts.Partners.merge_row_ActionFormPanel.superclass.initComponent.call(this);
  }
});


Lino.contacts.Companies.DetailFormPanel = Ext.extend(Lino.FormPanel,{
cls: "l-DetailFormPanel contacts-Companies",
  layout: 'fit',
  auto_save: true,
  content_type: 11,
  initComponent : function() {
    var overview_htmlbox628 = 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 name629 = 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 id630 = 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_panel631 = new Ext.Panel({ "anchor": "-20", "autoHeight": true, "autoScroll": false, "border": false, "frame": false, "hideCheckBoxLabels": true, "items": [ { "autoHeight": true, "flex": 77, "items": name629, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 22, "items": id630, "labelAlign": "top", "layout": "form", "xtype": "panel" } ], "labelAlign": "top", "labelWidth": 0, "layout": "hbox", "layoutConfig": { "align": "stretchmax" } });
    var language634 = 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 type635 = 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_panel636 = new Ext.Panel({ "autoHeight": true, "autoScroll": false, "bodyBorder": false, "border": false, "flex": 50, "frame": true, "hideCheckBoxLabels": true, "items": [ data_box_1_panel631, { "anchor": "-20", "autoHeight": true, "items": language634, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "anchor": "-20", "autoHeight": true, "items": type635, "labelAlign": "top", "layout": "form", "xtype": "panel" } ], "labelAlign": "top", "labelWidth": 0, "layout": "form" });
    var general_1_panel639 = new Ext.Panel({ "autoHeight": true, "autoScroll": false, "border": false, "frame": false, "hideCheckBoxLabels": true, "items": [ overview_htmlbox628, data_box_panel636 ], "labelAlign": "top", "labelWidth": 0, "layout": "hbox", "layoutConfig": { "align": "stretchmax" } });
    var general_panel665 = new Ext.Panel({ "autoScroll": false, "bodyBorder": false, "border": false, "frame": true, "hideCheckBoxLabels": true, "items": [ general_1_panel639 ], "labelAlign": "top", "layout": "vbox", "layoutConfig": { "align": "stretch" }, "listeners": { "activate": Lino.on_tab_activate }, "title": "General" });
    var remarks729 = new Lino.RichTextPanel({ "allowBlank": true, "containing_panel": this, "fieldLabel": "Remarks", "flex": 66, "name": "remarks", "region": "center", "selectOnFocus": true, "title": "Remarks" });
    var contact_2_panel731 = new Ext.Panel({ "autoScroll": false, "border": false, "flex": 5, "frame": false, "hideCheckBoxLabels": true, "items": [ remarks729 ], "labelAlign": "top", "labelWidth": 126, "layout": "hbox", "layoutConfig": { "align": "stretch" }, "region": "center", "split": true });
    var contact_panel732 = new Lino.VBorderPanel({ "autoScroll": false, "bodyBorder": false, "border": false, "frame": true, "hideCheckBoxLabels": true, "items": [ contact_2_panel731 ], "labelAlign": "top", "listeners": { "activate": Lino.on_tab_activate }, "title": "Contact" });
    var main_panel736 = new Ext.TabPanel({ "activeTab": 0, "autoScroll": false, "bodyBorder": false, "border": false, "enableTabScroll": true, "frame": true, "hideCheckBoxLabels": true, "items": [ general_panel665, contact_panel732 ], "labelAlign": "top", "split": true });
    this.items = main_panel736;
    this.before_row_edit = function(record) {
      overview_htmlbox628.refresh();
      remarks729.refresh();
    }
    Lino.contacts.Companies.DetailFormPanel.superclass.initComponent.call(this);
  }
});


Lino.lists.Members.DetailFormPanel = Ext.extend(Lino.FormPanel,{
cls: "l-DetailFormPanel lists-Members",
  layout: 'fit',
  auto_save: true,
  autoHeight: true,
  content_type: 56,
  initComponent : function() {
    var list737 = new Lino.TwinCombo({ "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", "onTrigger2Click": function(e){ Lino.show_fk_detail(this,Lino.lists.Lists.detail,Lino.lists.Lists.insert)}, "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 partner738 = new Lino.TwinCombo({ "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", "onTrigger2Click": function(e){ Lino.show_fk_detail(this,Lino.contacts.Partners.detail,null)}, "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 remark739 = 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_panel740 = new Ext.Panel({ "autoHeight": true, "autoScroll": false, "bodyBorder": false, "border": false, "frame": true, "hideCheckBoxLabels": true, "items": [ { "anchor": "-20", "autoHeight": true, "items": list737, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "anchor": "-20", "autoHeight": true, "items": partner738, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "anchor": "-20", "autoHeight": true, "items": remark739, "labelAlign": "top", "layout": "form", "xtype": "panel" } ], "labelAlign": "top", "labelWidth": 0, "layout": "form" });
    this.items = main_panel740;
    this.before_row_edit = function(record) {
    }
    Lino.lists.Members.DetailFormPanel.superclass.initComponent.call(this);
  }
});


Lino.contacts.Companies.InsertFormPanel = Ext.extend(Lino.FormPanel,{
cls: "l-InsertFormPanel contacts-Companies",
  layout: 'fit',
  auto_save: true,
  autoHeight: true,
  content_type: 11,
  initComponent : function() {
    var name719 = 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 email720 = 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 type721 = 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_panel722 = new Ext.Panel({ "autoHeight": true, "autoScroll": false, "bodyBorder": false, "border": false, "frame": true, "hideCheckBoxLabels": true, "items": [ { "anchor": "-20", "autoHeight": true, "items": name719, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "anchor": "-20", "autoHeight": true, "items": email720, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "anchor": "-20", "autoHeight": true, "items": type721, "labelAlign": "top", "layout": "form", "xtype": "panel" } ], "labelAlign": "top", "labelWidth": 0, "layout": "form" });
    this.items = main_panel722;
    this.before_row_edit = function(record) {
    }
    Lino.contacts.Companies.InsertFormPanel.superclass.initComponent.call(this);
  }
});


Lino.excerpts.Excerpts.DetailFormPanel = Ext.extend(Lino.FormPanel,{
cls: "l-DetailFormPanel excerpts-Excerpts",
  layout: 'fit',
  auto_save: true,
  content_type: 60,
  initComponent : function() {
    var id744 = 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_type745 = new Lino.TwinCombo({ "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", "onTrigger2Click": function(e){ Lino.show_fk_detail(this,Lino.excerpts.ExcerptTypes.detail,Lino.excerpts.ExcerptTypes.insert)}, "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_panel746 = new Ext.Panel({ "anchor": "-20", "autoHeight": true, "autoScroll": false, "border": false, "frame": false, "hideCheckBoxLabels": true, "items": [ { "autoHeight": true, "flex": 16, "items": id744, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 83, "items": excerpt_type745, "labelAlign": "top", "layout": "form", "xtype": "panel" } ], "labelAlign": "top", "labelWidth": 0, "layout": "hbox", "layoutConfig": { "align": "stretchmax" } });
    var user749 = new Lino.TwinCombo({ "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", "onTrigger2Click": function(e){ Lino.show_fk_detail(this,Lino.users.AllUsers.detail,Lino.users.AllUsers.insert)}, "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_method750 = 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_panel751 = new Ext.Panel({ "anchor": "-20", "autoHeight": true, "autoScroll": false, "border": false, "frame": false, "hideCheckBoxLabels": true, "items": [ { "autoHeight": true, "flex": 30, "items": user749, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 69, "items": build_method750, "labelAlign": "top", "layout": "form", "xtype": "panel" } ], "labelAlign": "top", "labelWidth": 0, "layout": "hbox", "layoutConfig": { "align": "stretchmax" } });
    var company754 = new Lino.TwinCombo({ "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", "onTrigger2Click": function(e){ Lino.show_fk_detail(this,Lino.contacts.Companies.detail,Lino.contacts.Companies.insert)}, "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_person755 = new Lino.TwinCombo({ "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", "onTrigger2Click": function(e){ Lino.show_fk_detail(this,Lino.contacts.Persons.detail,Lino.contacts.Persons.insert)}, "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 language756 = 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_panel757 = new Ext.Panel({ "anchor": "-20", "autoHeight": true, "autoScroll": false, "border": false, "frame": false, "hideCheckBoxLabels": true, "items": [ { "autoHeight": true, "flex": 33, "items": company754, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 33, "items": contact_person755, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 33, "items": language756, "labelAlign": "top", "layout": "form", "xtype": "panel" } ], "labelAlign": "top", "labelWidth": 0, "layout": "hbox", "layoutConfig": { "align": "stretchmax" } });
    var owner_disp761 = 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_time762 = 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_panel763 = new Ext.Panel({ "anchor": "-20", "autoHeight": true, "autoScroll": false, "border": false, "frame": false, "hideCheckBoxLabels": true, "items": [ { "autoHeight": true, "flex": 38, "items": owner_disp761, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 61, "items": build_time762, "labelAlign": "top", "layout": "form", "xtype": "panel" } ], "labelAlign": "top", "labelWidth": 0, "layout": "hbox", "layoutConfig": { "align": "stretchmax" } });
    var main_panel766 = new Ext.Panel({ "autoHeight": true, "autoScroll": false, "bodyBorder": false, "border": false, "frame": true, "hideCheckBoxLabels": true, "items": [ main_1_panel746, main_2_panel751, main_3_panel757, main_4_panel763 ], "labelAlign": "top", "layout": "form" });
    this.items = main_panel766;
    this.before_row_edit = function(record) {
      excerpt_type745.setContextValue('owner', record ? record.data['owner'] : undefined);
      contact_person755.setContextValue('company', record ? record.data['companyHidden'] : undefined);
    }
    this.onRender = function(ct, position) {
      typeof owner_disp761 !== 'undefined' && owner_disp761.on('change',Lino.chooser_handler(excerpt_type745,'owner'));
      typeof company754 !== 'undefined' && company754.on('change',Lino.chooser_handler(contact_person755,'company'));
      Lino.excerpts.Excerpts.DetailFormPanel.superclass.onRender.call(this, ct, position);
    }
    Lino.excerpts.Excerpts.DetailFormPanel.superclass.initComponent.call(this);
  }
});


Lino.courses.Slots.DetailFormPanel = Ext.extend(Lino.FormPanel,{
cls: "l-DetailFormPanel courses-Slots",
  layout: 'fit',
  auto_save: true,
  content_type: 47,
  initComponent : function() {
    var name767 = 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_time768 = 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_time769 = 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_panel770 = new Ext.Panel({ "autoHeight": true, "autoScroll": false, "border": false, "frame": false, "hideCheckBoxLabels": true, "items": [ { "autoHeight": true, "flex": 56, "items": name767, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 21, "items": start_time768, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 21, "items": end_time769, "labelAlign": "top", "layout": "form", "xtype": "panel" } ], "labelAlign": "top", "labelWidth": 0, "layout": "hbox", "layoutConfig": { "align": "stretchmax" } });
    var main_panel889 = new Ext.Panel({ "autoScroll": false, "bodyBorder": false, "border": false, "frame": true, "hideCheckBoxLabels": true, "items": [ main_1_panel770 ], "labelAlign": "top", "layout": "vbox", "layoutConfig": { "align": "stretch" } });
    this.items = main_panel889;
    this.before_row_edit = function(record) {
    }
    Lino.courses.Slots.DetailFormPanel.superclass.initComponent.call(this);
  }
});


Lino.humanlinks.Links.DetailFormPanel = Ext.extend(Lino.FormPanel,{
cls: "l-DetailFormPanel humanlinks-Links",
  layout: 'fit',
  auto_save: true,
  autoHeight: true,
  content_type: 46,
  initComponent : function() {
    var parent890 = new Lino.TwinCombo({ "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", "onTrigger2Click": function(e){ Lino.show_fk_detail(this,Lino.contacts.Persons.detail,Lino.contacts.Persons.insert)}, "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 type891 = 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 child892 = new Lino.TwinCombo({ "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", "onTrigger2Click": function(e){ Lino.show_fk_detail(this,Lino.contacts.Persons.detail,Lino.contacts.Persons.insert)}, "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_panel893 = new Ext.Panel({ "autoHeight": true, "autoScroll": false, "bodyBorder": false, "border": false, "frame": true, "hideCheckBoxLabels": true, "items": [ { "anchor": "-20", "autoHeight": true, "items": parent890, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "anchor": "-20", "autoHeight": true, "items": type891, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "anchor": "-20", "autoHeight": true, "items": child892, "labelAlign": "top", "layout": "form", "xtype": "panel" } ], "labelAlign": "top", "labelWidth": 0, "layout": "form" });
    this.items = main_panel893;
    this.before_row_edit = function(record) {
    }
    Lino.humanlinks.Links.DetailFormPanel.superclass.initComponent.call(this);
  }
});


Lino.courses.Slots.InsertFormPanel = Ext.extend(Lino.FormPanel,{
cls: "l-InsertFormPanel courses-Slots",
  layout: 'fit',
  auto_save: true,
  autoHeight: true,
  content_type: 47,
  initComponent : function() {
    var start_time897 = 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_time898 = 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_panel899 = new Ext.Panel({ "anchor": "-20", "autoHeight": true, "autoScroll": false, "border": false, "frame": false, "hideCheckBoxLabels": true, "items": [ { "autoHeight": true, "flex": 50, "items": start_time897, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 50, "items": end_time898, "labelAlign": "top", "layout": "form", "xtype": "panel" } ], "labelAlign": "top", "labelWidth": 0, "layout": "hbox", "layoutConfig": { "align": "stretchmax" } });
    var name902 = 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_panel903 = new Ext.Panel({ "autoHeight": true, "autoScroll": false, "bodyBorder": false, "border": false, "frame": true, "hideCheckBoxLabels": true, "items": [ main_1_panel899, { "anchor": "-20", "autoHeight": true, "items": name902, "labelAlign": "top", "layout": "form", "xtype": "panel" } ], "labelAlign": "top", "labelWidth": 0, "layout": "form" });
    this.items = main_panel903;
    this.before_row_edit = function(record) {
    }
    Lino.courses.Slots.InsertFormPanel.superclass.initComponent.call(this);
  }
});


Lino.courses.Topics.DetailFormPanel = Ext.extend(Lino.FormPanel,{
cls: "l-DetailFormPanel courses-Topics",
  layout: 'fit',
  auto_save: true,
  content_type: 48,
  initComponent : function() {
    var id905 = 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 name906 = 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_de907 = 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_fr908 = 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_panel909 = new Ext.Panel({ "autoHeight": true, "autoScroll": false, "border": false, "frame": false, "hideCheckBoxLabels": true, "items": [ { "autoHeight": true, "flex": 7, "items": id905, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 30, "items": name906, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 30, "items": name_de907, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 30, "items": name_fr908, "labelAlign": "top", "layout": "form", "xtype": "panel" } ], "labelAlign": "top", "labelWidth": 0, "layout": "hbox", "layoutConfig": { "align": "stretchmax" }, "region": "north", "split": true });
    var main_panel1045 = new Lino.VBorderPanel({ "autoScroll": false, "bodyBorder": false, "border": false, "frame": true, "hideCheckBoxLabels": true, "items": [ main_1_panel909 ], "labelAlign": "top" });
    this.items = main_panel1045;
    this.before_row_edit = function(record) {
    }
    Lino.courses.Topics.DetailFormPanel.superclass.initComponent.call(this);
  }
});


Lino.courses.Lines.DetailFormPanel = Ext.extend(Lino.FormPanel,{
cls: "l-DetailFormPanel courses-Lines",
  layout: 'fit',
  auto_save: true,
  content_type: 49,
  initComponent : function() {
    var id936 = 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 name937 = 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_de938 = 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_fr939 = 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 ref940 = 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_panel941 = new Ext.Panel({ "autoHeight": true, "autoScroll": false, "border": false, "frame": false, "hideCheckBoxLabels": true, "items": [ { "autoHeight": true, "flex": 4, "items": id936, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 19, "items": name937, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 19, "items": name_de938, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 19, "items": name_fr939, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 37, "items": ref940, "labelAlign": "top", "layout": "form", "xtype": "panel" } ], "labelAlign": "top", "labelWidth": 0, "layout": "hbox", "layoutConfig": { "align": "stretchmax" } });
    var company947 = new Lino.TwinCombo({ "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", "onTrigger2Click": function(e){ Lino.show_fk_detail(this,Lino.contacts.Companies.detail,Lino.contacts.Companies.insert)}, "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_person948 = new Lino.TwinCombo({ "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", "onTrigger2Click": function(e){ Lino.show_fk_detail(this,Lino.contacts.Persons.detail,Lino.contacts.Persons.insert)}, "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_panel949 = new Ext.Panel({ "autoHeight": true, "autoScroll": false, "border": false, "frame": false, "hideCheckBoxLabels": true, "items": [ { "autoHeight": true, "flex": 50, "items": company947, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 50, "items": contact_person948, "labelAlign": "top", "layout": "form", "xtype": "panel" } ], "labelAlign": "top", "labelWidth": 0, "layout": "hbox", "layoutConfig": { "align": "stretchmax" } });
    var course_area952 = 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 topic953 = new Lino.TwinCombo({ "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", "onTrigger2Click": function(e){ Lino.show_fk_detail(this,Lino.courses.Topics.detail,null)}, "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_template954 = 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_panel955 = new Ext.Panel({ "autoHeight": true, "autoScroll": false, "border": false, "frame": false, "hideCheckBoxLabels": true, "items": [ { "autoHeight": true, "flex": 30, "items": course_area952, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 46, "items": topic953, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 23, "items": body_template954, "labelAlign": "top", "layout": "form", "xtype": "panel" } ], "labelAlign": "top", "labelWidth": 0, "layout": "hbox", "layoutConfig": { "align": "stretchmax" } });
    var event_type959 = new Lino.TwinCombo({ "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", "onTrigger2Click": function(e){ Lino.show_fk_detail(this,Lino.cal.EventTypes.detail,Lino.cal.EventTypes.insert)}, "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_role960 = new Lino.TwinCombo({ "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", "onTrigger2Click": function(e){ Lino.show_fk_detail(this,Lino.cal.GuestRoles.detail,null)}, "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_unit961 = 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 every962 = 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_panel963 = new Ext.Panel({ "autoHeight": true, "autoScroll": false, "border": false, "frame": false, "hideCheckBoxLabels": true, "items": [ { "autoHeight": true, "flex": 30, "items": event_type959, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 30, "items": guest_role960, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 31, "items": every_unit961, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 7, "items": every962, "labelAlign": "top", "layout": "form", "xtype": "panel" } ], "labelAlign": "top", "labelWidth": 0, "layout": "hbox", "layoutConfig": { "align": "stretchmax" } });
    var excerpt_title968 = 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_de969 = 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_fr970 = 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_panel971 = new Ext.Panel({ "autoHeight": true, "autoScroll": false, "border": false, "frame": false, "hideCheckBoxLabels": true, "items": [ { "autoHeight": true, "flex": 33, "items": excerpt_title968, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 33, "items": excerpt_title_de969, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 33, "items": excerpt_title_fr970, "labelAlign": "top", "layout": "form", "xtype": "panel" } ], "labelAlign": "top", "labelWidth": 0, "layout": "hbox", "layoutConfig": { "align": "stretchmax" } });
    var description975 = new Lino.RichTextPanel({ "allowBlank": true, "containing_panel": this, "fieldLabel": "Description", "flex": 33, "name": "description", "selectOnFocus": true, "title": "Description" });
    var description_de976 = new Lino.RichTextPanel({ "allowBlank": true, "containing_panel": this, "fieldLabel": "Description (de)", "flex": 33, "name": "description_de", "selectOnFocus": true, "title": "Description (de)" });
    var description_fr977 = new Lino.RichTextPanel({ "allowBlank": true, "containing_panel": this, "fieldLabel": "Description (fr)", "flex": 33, "name": "description_fr", "selectOnFocus": true, "title": "Description (fr)" });
    var main_6_panel978 = new Ext.Panel({ "autoScroll": false, "border": false, "flex": 50, "frame": false, "hideCheckBoxLabels": true, "items": [ description975, description_de976, description_fr977 ], "labelAlign": "top", "labelWidth": 153, "layout": "hbox", "layoutConfig": { "align": "stretch" } });
    var main_panel979 = new Ext.Panel({ "autoScroll": false, "bodyBorder": false, "border": false, "frame": true, "hideCheckBoxLabels": true, "items": [ main_1_panel941, main_2_panel949, main_3_panel955, main_4_panel963, main_5_panel971, main_6_panel978 ], "labelAlign": "top", "layout": "vbox", "layoutConfig": { "align": "stretch" } });
    this.items = main_panel979;
    this.before_row_edit = function(record) {
      contact_person948.setContextValue('company', record ? record.data['companyHidden'] : undefined);
      description975.refresh();
      description_de976.refresh();
      description_fr977.refresh();
    }
    this.onRender = function(ct, position) {
      typeof company947 !== 'undefined' && company947.on('change',Lino.chooser_handler(contact_person948,'company'));
      Lino.courses.Lines.DetailFormPanel.superclass.onRender.call(this, ct, position);
    }
    Lino.courses.Lines.DetailFormPanel.superclass.initComponent.call(this);
  }
});


Lino.gfks.ContentTypes.DetailFormPanel = Ext.extend(Lino.FormPanel,{
cls: "l-DetailFormPanel gfks-ContentTypes",
  layout: 'fit',
  auto_save: true,
  content_type: 12,
  initComponent : function() {
    var id1046 = 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_label1047 = 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 model1048 = 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_disp1049 = 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_panel1050 = new Ext.Panel({ "autoHeight": true, "autoScroll": false, "border": false, "frame": false, "hideCheckBoxLabels": true, "items": [ { "autoHeight": true, "flex": 6, "items": id1046, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 27, "items": app_label1047, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 27, "items": model1048, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 38, "items": base_classes_disp1049, "labelAlign": "top", "layout": "form", "xtype": "panel" } ], "labelAlign": "top", "labelWidth": 0, "layout": "hbox", "layoutConfig": { "align": "stretchmax" }, "region": "north", "split": true });
    var main_panel1067 = new Lino.VBorderPanel({ "autoScroll": false, "bodyBorder": false, "border": false, "frame": true, "hideCheckBoxLabels": true, "items": [ main_1_panel1050 ], "labelAlign": "top" });
    this.items = main_panel1067;
    this.before_row_edit = function(record) {
    }
    Lino.gfks.ContentTypes.DetailFormPanel.superclass.initComponent.call(this);
  }
});


Lino.calview.WeeklyView.DetailFormPanel = Ext.extend(Lino.FormPanel,{
cls: "l-DetailFormPanel calview-WeeklyView",
  layout: 'fit',
  auto_save: true,
  disable_editing: true,
  initComponent : function() {
    var navigation_panel_htmlbox1068 = 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_panel1079 = new Ext.Panel({ "autoScroll": false, "border": false, "frame": false, "hideCheckBoxLabels": true, "items": [ navigation_panel_htmlbox1068 ], "labelAlign": "top", "labelWidth": 0, "layout": "hbox", "layoutConfig": { "align": "stretch" }, "region": "center" });
    var main_panel1080 = new Ext.Panel({ "autoScroll": false, "bodyBorder": false, "border": false, "frame": true, "hideCheckBoxLabels": true, "items": [ body_panel1079 ], "labelAlign": "top", "layout": "fit" });
    this.items = main_panel1080;
    this.before_row_edit = function(record) {
      navigation_panel_htmlbox1068.refresh();
    }
    Lino.calview.WeeklyView.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_panel1082 = new Ext.Panel({ "autoScroll": false, "bodyBorder": false, "border": false, "frame": true, "hideCheckBoxLabels": true, "items": [ { "html": "<div class=\"htmlText\"><span>This is <a href=\"http://amici.lino-framework.org/\" target=\"_blank\">Lino Amici</a> 20.12.0 using <a href=\"http://www.lino-framework.org\" target=\"_blank\">Lino</a> 21.3.1, <a href=\"http://www.djangoproject.com\" target=\"_blank\">Django</a> 3.1.7, <a href=\"http://www.python.org/\" target=\"_blank\">Python</a> 3.6.8, <a href=\"http://babel.edgewall.org/\" target=\"_blank\">Babel</a> 2.9.0, <a href=\"http://jinja.pocoo.org/\" target=\"_blank\">Jinja</a> 2.11.2, <a href=\"http://labix.org/python-dateutil\" target=\"_blank\">python-dateutil</a> 2.8.0, <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>26/03/2021 at 01:35</b></li><li>django : <b>15/03/2021 at 09:29</b></li><li>lino_xl : <b>25/03/2021 at 11:35</b></li><li>lino : <b>26/03/2021 at 01:34</b></li><li>lino_amici : <b>26/03/2021 at 01:35</b></li></ul><p>Complexity factors : 39 plugins, 67 models, 3 users, 6 user types, 252 views, 21 dialog actions</p></div>", "region": "center", "xtype": "label" } ], "labelAlign": "top", "layout": "fit" });
    this.items = main_panel1082;
    this.before_row_edit = function(record) {
    }
    Lino.about.About.DetailFormPanel.superclass.initComponent.call(this);
  }
});


Lino.ledger.Situation.DetailFormPanel = Ext.extend(Lino.FormPanel,{
cls: "l-DetailFormPanel utils-Report",
  layout: 'fit',
  auto_save: true,
  disable_editing: true,
  initComponent : function() {
    var body_htmlbox1083 = 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_panel1084 = new Ext.Panel({ "autoScroll": false, "bodyBorder": false, "border": false, "frame": true, "hideCheckBoxLabels": true, "items": [ body_htmlbox1083 ], "labelAlign": "top", "labelWidth": 0, "layout": "fit" });
    this.items = main_panel1084;
    this.before_row_edit = function(record) {
      body_htmlbox1083.refresh();
    }
    Lino.ledger.Situation.DetailFormPanel.superclass.initComponent.call(this);
  }
});


Lino.system.SiteConfigs.DetailFormPanel = Ext.extend(Lino.FormPanel,{
cls: "l-DetailFormPanel system-SiteConfigs",
  layout: 'fit',
  auto_save: true,
  content_type: 1,
  initComponent : function() {
    var site_company1085 = new Lino.TwinCombo({ "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 owner</span>", "hiddenName": "site_companyHidden", "insert_action": "Lino.contacts.Companies.insert", "listeners": { "render": Lino.quicktip_renderer("Site owner","(system.SiteConfigs.site_company) The site operator, i.e. the legal person that operates this\nLino site.") }, "name": "site_company", "onTrigger2Click": function(e){ Lino.show_fk_detail(this,Lino.contacts.Companies.detail,Lino.contacts.Companies.insert)}, "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_id1086 = 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 default_build_method1087 = 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 main_1_panel1088 = new Ext.Panel({ "autoHeight": true, "autoScroll": false, "border": false, "frame": false, "hideCheckBoxLabels": true, "items": [ { "autoHeight": true, "flex": 37, "items": site_company1085, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 18, "items": next_partner_id1086, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 43, "items": default_build_method1087, "labelAlign": "top", "layout": "form", "xtype": "panel" } ], "labelAlign": "top", "labelWidth": 0, "layout": "hbox", "layoutConfig": { "align": "stretchmax" } });
    var main_panel1092 = new Ext.Panel({ "autoScroll": false, "bodyBorder": false, "border": false, "frame": true, "hideCheckBoxLabels": true, "items": [ main_1_panel1088 ], "labelAlign": "top", "layout": "fit" });
    this.items = main_panel1092;
    this.before_row_edit = function(record) {
    }
    Lino.system.SiteConfigs.DetailFormPanel.superclass.initComponent.call(this);
  }
});


Lino.addresses.Addresses.DetailFormPanel = Ext.extend(Lino.FormPanel,{
cls: "l-DetailFormPanel addresses-Addresses",
  layout: 'fit',
  auto_save: true,
  autoHeight: true,
  content_type: 41,
  initComponent : function() {
    var country1093 = new Lino.TwinCombo({ "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", "onTrigger2Click": function(e){ Lino.show_fk_detail(this,Lino.countries.Countries.detail,Lino.countries.Countries.insert)}, "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 city1094 = new Lino.TwinCombo({ "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", "onTrigger2Click": function(e){ Lino.show_fk_detail(this,Lino.countries.Places.detail,Lino.countries.Places.insert)}, "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_code1095 = 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_panel1096 = new Ext.Panel({ "anchor": "-20", "autoHeight": true, "autoScroll": false, "border": false, "frame": false, "hideCheckBoxLabels": true, "items": [ { "autoHeight": true, "flex": 39, "items": country1093, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 39, "items": city1094, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 21, "items": zip_code1095, "labelAlign": "top", "layout": "form", "xtype": "panel" } ], "labelAlign": "top", "labelWidth": 0, "layout": "hbox", "layoutConfig": { "align": "stretchmax" } });
    var addr11100 = 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 street1101 = 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_no1102 = 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_box1103 = 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_panel1104 = new Ext.Panel({ "anchor": "-20", "autoHeight": true, "autoScroll": false, "border": false, "frame": false, "hideCheckBoxLabels": true, "items": [ { "autoHeight": true, "flex": 48, "items": street1101, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 25, "items": street_no1102, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 25, "items": street_box1103, "labelAlign": "top", "layout": "form", "xtype": "panel" } ], "labelAlign": "top", "labelWidth": 0, "layout": "hbox", "layoutConfig": { "align": "stretchmax" } });
    var addr21108 = 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_type1109 = 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 remark1110 = 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_panel1111 = new Ext.Panel({ "anchor": "-20", "autoHeight": true, "autoScroll": false, "border": false, "frame": false, "hideCheckBoxLabels": true, "items": [ { "autoHeight": true, "flex": 50, "items": address_type1109, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 50, "items": remark1110, "labelAlign": "top", "layout": "form", "xtype": "panel" } ], "labelAlign": "top", "labelWidth": 0, "layout": "hbox", "layoutConfig": { "align": "stretchmax" } });
    var data_source1114 = 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 partner1115 = new Lino.TwinCombo({ "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", "onTrigger2Click": function(e){ Lino.show_fk_detail(this,Lino.contacts.Partners.detail,null)}, "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_panel1116 = new Ext.Panel({ "anchor": "-20", "autoHeight": true, "autoScroll": false, "border": false, "frame": false, "hideCheckBoxLabels": true, "items": [ { "autoHeight": true, "flex": 48, "items": data_source1114, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 51, "items": partner1115, "labelAlign": "top", "layout": "form", "xtype": "panel" } ], "labelAlign": "top", "labelWidth": 0, "layout": "hbox", "layoutConfig": { "align": "stretchmax" } });
    var main_panel1119 = new Ext.Panel({ "autoHeight": true, "autoScroll": false, "bodyBorder": false, "border": false, "frame": true, "hideCheckBoxLabels": true, "items": [ main_1_panel1096, { "anchor": "-20", "autoHeight": true, "items": addr11100, "labelAlign": "top", "layout": "form", "xtype": "panel" }, main_3_panel1104, { "anchor": "-20", "autoHeight": true, "items": addr21108, "labelAlign": "top", "layout": "form", "xtype": "panel" }, main_5_panel1111, main_6_panel1116 ], "labelAlign": "top", "labelWidth": 0, "layout": "form" });
    this.items = main_panel1119;
    this.before_row_edit = function(record) {
      city1094.setContextValue('country', record ? record.data['countryHidden'] : undefined);
      city1094.setContextValue('region', record ? record.data['regionHidden'] : undefined);
    }
    this.onRender = function(ct, position) {
      typeof country1093 !== 'undefined' && country1093.on('change',Lino.chooser_handler(city1094,'country'));
      Lino.addresses.Addresses.DetailFormPanel.superclass.onRender.call(this, ct, position);
    }
    Lino.addresses.Addresses.DetailFormPanel.superclass.initComponent.call(this);
  }
});


Lino.countries.Countries.DetailFormPanel = Ext.extend(Lino.FormPanel,{
cls: "l-DetailFormPanel countries-Countries",
  layout: 'fit',
  auto_save: true,
  content_type: 4,
  initComponent : function() {
    var isocode1122 = 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 name1123 = 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_de1124 = 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_fr1125 = 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_code1126 = 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_panel1127 = new Ext.Panel({ "autoHeight": true, "autoScroll": false, "border": false, "frame": false, "hideCheckBoxLabels": true, "items": [ { "autoHeight": true, "flex": 12, "items": isocode1122, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 25, "items": name1123, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 25, "items": name_de1124, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 25, "items": name_fr1125, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 12, "items": short_code1126, "labelAlign": "top", "layout": "form", "xtype": "panel" } ], "labelAlign": "top", "labelWidth": 0, "layout": "hbox", "layoutConfig": { "align": "stretchmax" } });
    var main_panel1295 = new Ext.Panel({ "autoScroll": false, "bodyBorder": false, "border": false, "frame": true, "hideCheckBoxLabels": true, "items": [ main_1_panel1127 ], "labelAlign": "top", "layout": "vbox", "layoutConfig": { "align": "stretch" } });
    this.items = main_panel1295;
    this.before_row_edit = function(record) {
    }
    Lino.countries.Countries.DetailFormPanel.superclass.initComponent.call(this);
  }
});


Lino.uploads.UploadsByController.InsertFormPanel = Ext.extend(Lino.FormPanel,{
cls: "l-InsertFormPanel uploads-UploadsByController",
  layout: 'fit',
  auto_save: true,
  autoHeight: true,
  content_type: 29,
  initComponent : function() {
    var file1296 = 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 volume1297 = new Lino.TwinCombo({ "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", "onTrigger2Click": function(e){ Lino.show_fk_detail(this,Lino.uploads.Volumes.detail,Lino.uploads.Volumes.insert)}, "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_file1298 = 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_panel1299 = new Ext.Panel({ "anchor": "-20", "autoHeight": true, "autoScroll": false, "border": false, "frame": false, "hideCheckBoxLabels": true, "items": [ volume1297, { "autoHeight": true, "flex": 33, "items": library_file1298, "labelAlign": "top", "layout": "form", "xtype": "panel" } ], "labelAlign": "top", "labelWidth": 135, "layout": "hbox", "layoutConfig": { "align": "stretchmax" } });
    var type1301 = new Lino.TwinCombo({ "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", "onTrigger2Click": function(e){ Lino.show_fk_detail(this,Lino.uploads.UploadTypes.detail,Lino.uploads.UploadTypes.insert)}, "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 description1302 = 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_panel1303 = new Ext.Panel({ "autoHeight": true, "autoScroll": false, "bodyBorder": false, "border": false, "frame": true, "hideCheckBoxLabels": true, "items": [ { "anchor": "-20", "autoHeight": true, "items": file1296, "labelAlign": "top", "layout": "form", "xtype": "panel" }, main_2_panel1299, { "anchor": "-20", "autoHeight": true, "items": type1301, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "anchor": "-20", "autoHeight": true, "items": description1302, "labelAlign": "top", "layout": "form", "xtype": "panel" } ], "labelAlign": "top", "labelWidth": 0, "layout": "form" });
    this.items = main_panel1303;
    this.before_row_edit = function(record) {
      library_file1298.setContextValue('volume', record ? record.data['volumeHidden'] : undefined);
      type1301.setContextValue('upload_area', record ? record.data['upload_areaHidden'] : undefined);
    }
    this.onRender = function(ct, position) {
      typeof volume1297 !== 'undefined' && volume1297.on('change',Lino.chooser_handler(library_file1298,'volume'));
      Lino.uploads.UploadsByController.InsertFormPanel.superclass.onRender.call(this, ct, position);
    }
    Lino.uploads.UploadsByController.InsertFormPanel.superclass.initComponent.call(this);
  }
});


Lino.countries.Countries.InsertFormPanel = Ext.extend(Lino.FormPanel,{
cls: "l-InsertFormPanel countries-Countries",
  layout: 'fit',
  auto_save: true,
  autoHeight: true,
  content_type: 4,
  initComponent : function() {
    var isocode1307 = 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_code1308 = 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_panel1309 = new Ext.Panel({ "anchor": "-20", "autoHeight": true, "autoScroll": false, "border": false, "frame": false, "hideCheckBoxLabels": true, "items": [ { "autoHeight": true, "flex": 50, "items": isocode1307, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 50, "items": short_code1308, "labelAlign": "top", "layout": "form", "xtype": "panel" } ], "labelAlign": "top", "labelWidth": 0, "layout": "hbox", "layoutConfig": { "align": "stretchmax" } });
    var name1312 = 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_de1313 = 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_fr1314 = 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_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 main_panel1319 = new Ext.Panel({ "autoHeight": true, "autoScroll": false, "bodyBorder": false, "border": false, "frame": true, "hideCheckBoxLabels": true, "items": [ main_1_panel1309, main_2_panel1315 ], "labelAlign": "top", "layout": "form" });
    this.items = main_panel1319;
    this.before_row_edit = function(record) {
    }
    Lino.countries.Countries.InsertFormPanel.superclass.initComponent.call(this);
  }
});


Lino.countries.Places.DetailFormPanel = Ext.extend(Lino.FormPanel,{
cls: "l-DetailFormPanel countries-Places",
  layout: 'fit',
  auto_save: true,
  content_type: 5,
  initComponent : function() {
    var name1143 = 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_de1144 = 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_fr1145 = 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 country1146 = new Lino.TwinCombo({ "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", "onTrigger2Click": function(e){ Lino.show_fk_detail(this,Lino.countries.Countries.detail,Lino.countries.Countries.insert)}, "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_panel1147 = new Ext.Panel({ "autoHeight": true, "autoScroll": false, "border": false, "frame": false, "hideCheckBoxLabels": true, "items": [ { "autoHeight": true, "flex": 25, "items": name1143, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 25, "items": name_de1144, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 25, "items": name_fr1145, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 24, "items": country1146, "labelAlign": "top", "layout": "form", "xtype": "panel" } ], "labelAlign": "top", "labelWidth": 0, "layout": "hbox", "layoutConfig": { "align": "stretchmax" } });
    var type1152 = 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 parent1153 = new Lino.TwinCombo({ "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", "onTrigger2Click": function(e){ Lino.show_fk_detail(this,Lino.countries.Places.detail,Lino.countries.Places.insert)}, "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_code1154 = 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 id1155 = 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_panel1156 = new Ext.Panel({ "autoHeight": true, "autoScroll": false, "border": false, "frame": false, "hideCheckBoxLabels": true, "items": [ { "autoHeight": true, "flex": 22, "items": type1152, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 45, "items": parent1153, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 20, "items": zip_code1154, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 11, "items": id1155, "labelAlign": "top", "layout": "form", "xtype": "panel" } ], "labelAlign": "top", "labelWidth": 0, "layout": "hbox", "layoutConfig": { "align": "stretchmax" } });
    var main_panel1293 = new Ext.Panel({ "autoScroll": false, "bodyBorder": false, "border": false, "frame": true, "hideCheckBoxLabels": true, "items": [ main_1_panel1147, main_2_panel1156 ], "labelAlign": "top", "layout": "vbox", "layoutConfig": { "align": "stretch" } });
    this.items = main_panel1293;
    this.before_row_edit = function(record) {
      type1152.setContextValue('country', record ? record.data['countryHidden'] : undefined);
    }
    this.onRender = function(ct, position) {
      typeof country1146 !== 'undefined' && country1146.on('change',Lino.chooser_handler(type1152,'country'));
      Lino.countries.Places.DetailFormPanel.superclass.onRender.call(this, ct, position);
    }
    Lino.countries.Places.DetailFormPanel.superclass.initComponent.call(this);
  }
});


Lino.countries.Places.InsertFormPanel = Ext.extend(Lino.FormPanel,{
cls: "l-InsertFormPanel countries-Places",
  layout: 'fit',
  auto_save: true,
  autoHeight: true,
  content_type: 5,
  initComponent : function() {
    var name1274 = 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_de1275 = 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_fr1276 = 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_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 country1281 = new Lino.TwinCombo({ "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", "onTrigger2Click": function(e){ Lino.show_fk_detail(this,Lino.countries.Countries.detail,Lino.countries.Countries.insert)}, "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_code1282 = 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 type1283 = 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_panel1284 = new Ext.Panel({ "anchor": "-20", "autoHeight": true, "autoScroll": false, "border": false, "frame": false, "hideCheckBoxLabels": true, "items": [ { "autoHeight": true, "flex": 47, "items": zip_code1282, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 52, "items": type1283, "labelAlign": "top", "layout": "form", "xtype": "panel" } ], "labelAlign": "top", "labelWidth": 0, "layout": "hbox", "layoutConfig": { "align": "stretchmax" } });
    var parent1287 = new Lino.TwinCombo({ "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", "onTrigger2Click": function(e){ Lino.show_fk_detail(this,Lino.countries.Places.detail,Lino.countries.Places.insert)}, "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_panel1288 = new Ext.Panel({ "autoHeight": true, "autoScroll": false, "bodyBorder": false, "border": false, "frame": true, "hideCheckBoxLabels": true, "items": [ main_1_panel1277, { "anchor": "-20", "autoHeight": true, "items": country1281, "labelAlign": "top", "layout": "form", "xtype": "panel" }, main_3_panel1284, { "anchor": "-20", "autoHeight": true, "items": parent1287, "labelAlign": "top", "layout": "form", "xtype": "panel" } ], "labelAlign": "top", "labelWidth": 0, "layout": "form" });
    this.items = main_panel1288;
    this.before_row_edit = function(record) {
      type1283.setContextValue('country', record ? record.data['countryHidden'] : undefined);
    }
    this.onRender = function(ct, position) {
      typeof country1281 !== 'undefined' && country1281.on('change',Lino.chooser_handler(type1283,'country'));
      Lino.countries.Places.InsertFormPanel.superclass.onRender.call(this, ct, position);
    }
    Lino.countries.Places.InsertFormPanel.superclass.initComponent.call(this);
  }
});


Lino.cal.EventTypes.DetailFormPanel = Ext.extend(Lino.FormPanel,{
cls: "l-DetailFormPanel cal-EventTypes",
  layout: 'fit',
  auto_save: true,
  content_type: 17,
  initComponent : function() {
    var ref1320 = 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 id1321 = 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_column1322 = 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_duration1323 = 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_panel1324 = new Ext.Panel({ "autoHeight": true, "autoScroll": false, "border": false, "frame": false, "hideCheckBoxLabels": true, "items": [ { "autoHeight": true, "flex": 14, "items": ref1320, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 18, "items": id1321, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 40, "items": planner_column1322, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 25, "items": default_duration1323, "labelAlign": "top", "layout": "form", "xtype": "panel" } ], "labelAlign": "top", "labelWidth": 0, "layout": "hbox", "layoutConfig": { "align": "stretchmax" } });
    var name1329 = 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_de1330 = 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_fr1331 = 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_panel1332 = new Ext.Panel({ "autoHeight": true, "autoScroll": false, "border": false, "frame": false, "hideCheckBoxLabels": true, "items": [ { "autoHeight": true, "flex": 33, "items": name1329, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 33, "items": name_de1330, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 33, "items": name_fr1331, "labelAlign": "top", "layout": "form", "xtype": "panel" } ], "labelAlign": "top", "labelWidth": 0, "layout": "hbox", "layoutConfig": { "align": "stretchmax" } });
    var event_label1336 = 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_de1337 = 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_fr1338 = 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_panel1339 = new Ext.Panel({ "autoHeight": true, "autoScroll": false, "border": false, "frame": false, "hideCheckBoxLabels": true, "items": [ { "autoHeight": true, "flex": 33, "items": event_label1336, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 33, "items": event_label_de1337, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 33, "items": event_label_fr1338, "labelAlign": "top", "layout": "form", "xtype": "panel" } ], "labelAlign": "top", "labelWidth": 0, "layout": "hbox", "layoutConfig": { "align": "stretchmax" } });
    var start_date1343 = 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_days1344 = 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_conflicting1345 = 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_template1346 = 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_email1347 = 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_panel1348 = new Ext.Panel({ "autoHeight": true, "autoScroll": false, "border": false, "frame": false, "hideCheckBoxLabels": true, "items": [ { "autoHeight": true, "flex": 30, "items": start_date1343, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 11, "items": max_days1344, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 11, "items": max_conflicting1345, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 23, "items": email_template1346, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 23, "items": attach_to_email1347, "labelAlign": "top", "layout": "form", "xtype": "panel" } ], "labelAlign": "top", "labelWidth": 0, "layout": "hbox", "layoutConfig": { "align": "stretchmax" } });
    var is_appointment1354 = 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_states1355 = 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_presences1356 = 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_rooms1357 = 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_user1358 = 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 transparent1359 = 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_panel1360 = new Ext.Panel({ "autoHeight": true, "autoScroll": false, "border": false, "frame": false, "hideCheckBoxLabels": true, "items": [ { "autoHeight": true, "flex": 16, "items": is_appointment1354, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 16, "items": force_guest_states1355, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 16, "items": fill_presences1356, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 16, "items": all_rooms1357, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 16, "items": locks_user1358, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 16, "items": transparent1359, "labelAlign": "top", "layout": "form", "xtype": "panel" } ], "labelAlign": "top", "labelWidth": 0, "layout": "hbox", "layoutConfig": { "align": "stretchmax" } });
    var main_panel1468 = new Ext.Panel({ "autoScroll": false, "bodyBorder": false, "border": false, "frame": true, "hideCheckBoxLabels": true, "items": [ main_1_panel1324, main_2_panel1332, main_3_panel1339, main_4_panel1348, main_5_panel1360 ], "labelAlign": "top", "layout": "vbox", "layoutConfig": { "align": "stretch" } });
    this.items = main_panel1468;
    this.before_row_edit = function(record) {
    }
    Lino.cal.EventTypes.DetailFormPanel.superclass.initComponent.call(this);
  }
});


Lino.contacts.Partners.DetailFormPanel = Ext.extend(Lino.FormPanel,{
cls: "l-DetailFormPanel contacts-Partners",
  layout: 'fit',
  auto_save: true,
  content_type: 6,
  initComponent : function() {
    var overview_htmlbox1221 = 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 name1222 = 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 id1223 = 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_panel1224 = new Ext.Panel({ "anchor": "-20", "autoHeight": true, "autoScroll": false, "border": false, "frame": false, "hideCheckBoxLabels": true, "items": [ { "autoHeight": true, "flex": 80, "items": name1222, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 19, "items": id1223, "labelAlign": "top", "layout": "form", "xtype": "panel" } ], "labelAlign": "top", "labelWidth": 0, "layout": "hbox", "layoutConfig": { "align": "stretchmax" } });
    var url1227 = 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 phone1228 = 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 gsm1229 = 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_panel1230 = new Ext.form.FieldSet({ "autoHeight": true, "autoScroll": false, "bodyBorder": false, "border": false, "flex": 50, "frame": true, "hideCheckBoxLabels": true, "items": [ contact_box_1_panel1224, { "anchor": "-20", "autoHeight": true, "items": url1227, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "anchor": "-20", "autoHeight": true, "items": phone1228, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "anchor": "-20", "autoHeight": true, "items": gsm1229, "labelAlign": "top", "layout": "form", "xtype": "panel" } ], "labelAlign": "top", "labelWidth": 0, "layout": "form", "title": "Contact" });
    var main_1_panel1234 = new Ext.Panel({ "autoHeight": true, "autoScroll": false, "border": false, "frame": false, "hideCheckBoxLabels": true, "items": [ overview_htmlbox1221, contact_box_panel1230 ], "labelAlign": "top", "labelWidth": 0, "layout": "hbox", "layoutConfig": { "align": "stretchmax" } });
    var remarks1235 = new Lino.RichTextPanel({ "allowBlank": true, "containing_panel": this, "fieldLabel": "Remarks", "flex": 66, "name": "remarks", "region": "center", "selectOnFocus": true, "title": "Remarks" });
    var bottom_box_1_panel1237 = new Ext.Panel({ "autoScroll": false, "border": false, "flex": 55, "frame": false, "hideCheckBoxLabels": true, "items": [ remarks1235 ], "labelAlign": "top", "labelWidth": 153, "layout": "hbox", "layoutConfig": { "align": "stretch" } });
    var main_panel1238 = new Ext.Panel({ "autoScroll": false, "bodyBorder": false, "border": false, "frame": true, "hideCheckBoxLabels": true, "items": [ main_1_panel1234, bottom_box_1_panel1237 ], "labelAlign": "top", "layout": "vbox", "layoutConfig": { "align": "stretch" } });
    this.items = main_panel1238;
    this.before_row_edit = function(record) {
      overview_htmlbox1221.refresh();
      remarks1235.refresh();
    }
    Lino.contacts.Partners.DetailFormPanel.superclass.initComponent.call(this);
  }
});


Lino.cal.Rooms.DetailFormPanel = Ext.extend(Lino.FormPanel,{
cls: "l-DetailFormPanel cal-Rooms",
  layout: 'fit',
  auto_save: true,
  content_type: 16,
  initComponent : function() {
    var id1469 = 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 name1470 = 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_de1471 = 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_fr1472 = 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_panel1473 = new Ext.Panel({ "autoHeight": true, "autoScroll": false, "border": false, "frame": false, "hideCheckBoxLabels": true, "items": [ { "autoHeight": true, "flex": 7, "items": id1469, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 30, "items": name1470, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 30, "items": name_de1471, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 30, "items": name_fr1472, "labelAlign": "top", "layout": "form", "xtype": "panel" } ], "labelAlign": "top", "labelWidth": 0, "layout": "hbox", "layoutConfig": { "align": "stretchmax" } });
    var company1478 = new Lino.TwinCombo({ "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", "onTrigger2Click": function(e){ Lino.show_fk_detail(this,Lino.contacts.Companies.detail,Lino.contacts.Companies.insert)}, "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_person1479 = new Lino.TwinCombo({ "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", "onTrigger2Click": function(e){ Lino.show_fk_detail(this,Lino.contacts.Persons.detail,Lino.contacts.Persons.insert)}, "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_color1480 = 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_panel1481 = new Ext.Panel({ "autoHeight": true, "autoScroll": false, "border": false, "frame": false, "hideCheckBoxLabels": true, "items": [ { "autoHeight": true, "flex": 40, "items": company1478, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 40, "items": contact_person1479, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 20, "items": display_color1480, "labelAlign": "top", "layout": "form", "xtype": "panel" } ], "labelAlign": "top", "labelWidth": 0, "layout": "hbox", "layoutConfig": { "align": "stretchmax" } });
    var description1485 = new Lino.RichTextPanel({ "allowBlank": true, "containing_panel": this, "fieldLabel": "Description", "flex": 41, "name": "description", "selectOnFocus": true, "title": "Description" });
    var main_panel1513 = new Ext.Panel({ "autoScroll": false, "bodyBorder": false, "border": false, "frame": true, "hideCheckBoxLabels": true, "items": [ main_1_panel1473, main_2_panel1481, description1485 ], "labelAlign": "top", "labelWidth": 108, "layout": "vbox", "layoutConfig": { "align": "stretch" } });
    this.items = main_panel1513;
    this.before_row_edit = function(record) {
      contact_person1479.setContextValue('company', record ? record.data['companyHidden'] : undefined);
      description1485.refresh();
    }
    this.onRender = function(ct, position) {
      typeof company1478 !== 'undefined' && company1478.on('change',Lino.chooser_handler(contact_person1479,'company'));
      Lino.cal.Rooms.DetailFormPanel.superclass.onRender.call(this, ct, position);
    }
    Lino.cal.Rooms.DetailFormPanel.superclass.initComponent.call(this);
  }
});


Lino.cal.Rooms.InsertFormPanel = Ext.extend(Lino.FormPanel,{
cls: "l-InsertFormPanel cal-Rooms",
  layout: 'fit',
  auto_save: true,
  autoHeight: true,
  content_type: 16,
  initComponent : function() {
    var id1514 = 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 name1515 = 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_de1516 = 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_fr1517 = 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_color1518 = 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_panel1519 = new Ext.Panel({ "anchor": "-20", "autoHeight": true, "autoScroll": false, "border": false, "frame": false, "hideCheckBoxLabels": true, "items": [ { "autoHeight": true, "flex": 6, "items": id1514, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 26, "items": name1515, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 26, "items": name_de1516, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 26, "items": name_fr1517, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 12, "items": display_color1518, "labelAlign": "top", "layout": "form", "xtype": "panel" } ], "labelAlign": "top", "labelWidth": 0, "layout": "hbox", "layoutConfig": { "align": "stretchmax" } });
    var company1525 = new Lino.TwinCombo({ "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", "onTrigger2Click": function(e){ Lino.show_fk_detail(this,Lino.contacts.Companies.detail,Lino.contacts.Companies.insert)}, "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_person1526 = new Lino.TwinCombo({ "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", "onTrigger2Click": function(e){ Lino.show_fk_detail(this,Lino.contacts.Persons.detail,Lino.contacts.Persons.insert)}, "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_panel1527 = new Ext.Panel({ "autoHeight": true, "autoScroll": false, "bodyBorder": false, "border": false, "frame": true, "hideCheckBoxLabels": true, "items": [ main_1_panel1519, { "anchor": "-20", "autoHeight": true, "items": company1525, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "anchor": "-20", "autoHeight": true, "items": contact_person1526, "labelAlign": "top", "layout": "form", "xtype": "panel" } ], "labelAlign": "top", "labelWidth": 0, "layout": "form" });
    this.items = main_panel1527;
    this.before_row_edit = function(record) {
      contact_person1526.setContextValue('company', record ? record.data['companyHidden'] : undefined);
    }
    this.onRender = function(ct, position) {
      typeof company1525 !== 'undefined' && company1525.on('change',Lino.chooser_handler(contact_person1526,'company'));
      Lino.cal.Rooms.InsertFormPanel.superclass.onRender.call(this, ct, position);
    }
    Lino.cal.Rooms.InsertFormPanel.superclass.initComponent.call(this);
  }
});


Lino.cal.Calendars.DetailFormPanel = Ext.extend(Lino.FormPanel,{
cls: "l-DetailFormPanel cal-Calendars",
  layout: 'fit',
  auto_save: true,
  content_type: 19,
  initComponent : function() {
    var name1530 = 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_de1531 = 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_fr1532 = 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 color1533 = 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 id1534 = 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_panel1535 = new Ext.Panel({ "autoHeight": true, "autoScroll": false, "border": false, "frame": false, "hideCheckBoxLabels": true, "items": [ { "autoHeight": true, "flex": 28, "items": name1530, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 28, "items": name_de1531, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 28, "items": name_fr1532, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 6, "items": color1533, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 6, "items": id1534, "labelAlign": "top", "layout": "form", "xtype": "panel" } ], "labelAlign": "top", "labelWidth": 0, "layout": "hbox", "layoutConfig": { "align": "stretchmax" } });
    var description1541 = new Lino.RichTextPanel({ "allowBlank": true, "containing_panel": this, "fieldLabel": "Description", "flex": 52, "name": "description", "region": "center", "selectOnFocus": true, "title": "Description" });
    var main_2_panel1548 = new Ext.Panel({ "autoScroll": false, "border": false, "flex": 83, "frame": false, "hideCheckBoxLabels": true, "items": [ description1541 ], "labelAlign": "top", "labelWidth": 108, "layout": "hbox", "layoutConfig": { "align": "stretch" } });
    var main_panel1549 = new Ext.Panel({ "autoScroll": false, "bodyBorder": false, "border": false, "frame": true, "hideCheckBoxLabels": true, "items": [ main_1_panel1535, main_2_panel1548 ], "labelAlign": "top", "layout": "vbox", "layoutConfig": { "align": "stretch" } });
    this.items = main_panel1549;
    this.before_row_edit = function(record) {
      description1541.refresh();
    }
    Lino.cal.Calendars.DetailFormPanel.superclass.initComponent.call(this);
  }
});


Lino.cal.Calendars.InsertFormPanel = Ext.extend(Lino.FormPanel,{
cls: "l-InsertFormPanel cal-Calendars",
  layout: 'fit',
  auto_save: true,
  autoHeight: true,
  content_type: 19,
  initComponent : function() {
    var name1550 = 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_de1551 = 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_fr1552 = 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_panel1553 = new Ext.Panel({ "anchor": "-20", "autoHeight": true, "autoScroll": false, "border": false, "frame": false, "hideCheckBoxLabels": true, "items": [ { "autoHeight": true, "flex": 33, "items": name1550, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 33, "items": name_de1551, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 33, "items": name_fr1552, "labelAlign": "top", "layout": "form", "xtype": "panel" } ], "labelAlign": "top", "labelWidth": 0, "layout": "hbox", "layoutConfig": { "align": "stretchmax" } });
    var color1557 = 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_panel1558 = new Ext.Panel({ "autoHeight": true, "autoScroll": false, "bodyBorder": false, "border": false, "frame": true, "hideCheckBoxLabels": true, "items": [ main_1_panel1553, { "anchor": "-20", "autoHeight": true, "items": color1557, "labelAlign": "top", "layout": "form", "xtype": "panel" } ], "labelAlign": "top", "labelWidth": 0, "layout": "form" });
    this.items = main_panel1558;
    this.before_row_edit = function(record) {
    }
    Lino.cal.Calendars.InsertFormPanel.superclass.initComponent.call(this);
  }
});


Lino.cal.Tasks.DetailFormPanel = Ext.extend(Lino.FormPanel,{
cls: "l-DetailFormPanel cal-Tasks",
  layout: 'fit',
  auto_save: true,
  content_type: 21,
  initComponent : function() {
    var start_date1560 = 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 priority1561 = 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_date1562 = 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 id1563 = 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_disp1564 = 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_panel1565 = new Ext.Panel({ "autoHeight": true, "autoScroll": false, "border": false, "frame": false, "hideCheckBoxLabels": true, "items": [ { "autoHeight": true, "flex": 18, "items": start_date1560, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 15, "items": priority1561, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 18, "items": due_date1562, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 6, "items": id1563, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 41, "items": workflow_buttons_disp1564, "labelAlign": "top", "layout": "form", "xtype": "panel" } ], "labelAlign": "top", "labelWidth": 0, "layout": "hbox", "layoutConfig": { "align": "stretchmax" } });
    var summary1571 = 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 user1572 = new Lino.TwinCombo({ "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", "onTrigger2Click": function(e){ Lino.show_fk_detail(this,Lino.users.AllUsers.detail,Lino.users.AllUsers.insert)}, "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_disp1573 = new Ext.form.DisplayField({ "anchor": "-20", "autoHeight": true, "disabled": true, "fieldLabel": "Controlled by", "name": "owner" });
    var created1574 = 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 modified1575 = 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_panel1576 = new Ext.Panel({ "autoHeight": true, "autoScroll": false, "border": false, "frame": false, "hideCheckBoxLabels": true, "items": [ { "autoHeight": true, "flex": 20, "items": owner_disp1573, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 40, "items": created1574, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 40, "items": modified1575, "labelAlign": "top", "layout": "form", "xtype": "panel" } ], "labelAlign": "top", "labelWidth": 0, "layout": "hbox", "layoutConfig": { "align": "stretchmax" } });
    var description1580 = 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_panel1581 = new Ext.Panel({ "autoScroll": false, "bodyBorder": false, "border": false, "frame": true, "hideCheckBoxLabels": true, "items": [ main_1_panel1565, { "autoHeight": true, "items": summary1571, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "items": user1572, "labelAlign": "top", "layout": "form", "xtype": "panel" }, main_4_panel1576, { "flex": 45, "items": description1580, "labelAlign": "top", "layout": "form", "xtype": "panel" } ], "labelAlign": "top", "labelWidth": 0, "layout": "vbox", "layoutConfig": { "align": "stretch" } });
    this.items = main_panel1581;
    this.before_row_edit = function(record) {
    }
    Lino.cal.Tasks.DetailFormPanel.superclass.initComponent.call(this);
  }
});


Lino.courses.Enrolments.InsertFormPanel = Ext.extend(Lino.FormPanel,{
cls: "l-InsertFormPanel courses-Enrolments",
  layout: 'fit',
  auto_save: true,
  autoHeight: true,
  content_type: 51,
  initComponent : function() {
    var request_date1585 = 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 user1586 = new Lino.TwinCombo({ "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", "onTrigger2Click": function(e){ Lino.show_fk_detail(this,Lino.users.AllUsers.detail,Lino.users.AllUsers.insert)}, "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_panel1587 = new Ext.Panel({ "anchor": "-20", "autoHeight": true, "autoScroll": false, "border": false, "frame": false, "hideCheckBoxLabels": true, "items": [ { "autoHeight": true, "flex": 39, "items": request_date1585, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 60, "items": user1586, "labelAlign": "top", "layout": "form", "xtype": "panel" } ], "labelAlign": "top", "labelWidth": 0, "layout": "hbox", "layoutConfig": { "align": "stretchmax" } });
    var course1590 = new Lino.TwinCombo({ "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", "onTrigger2Click": function(e){ Lino.show_fk_detail(this,Lino.courses.Activities.detail,Lino.courses.Activities.insert)}, "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 pupil1591 = new Lino.TwinCombo({ "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", "onTrigger2Click": function(e){ Lino.show_fk_detail(this,Lino.contacts.Persons.detail,Lino.contacts.Persons.insert)}, "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_panel1592 = new Ext.Panel({ "anchor": "-20", "autoHeight": true, "autoScroll": false, "border": false, "frame": false, "hideCheckBoxLabels": true, "items": [ { "autoHeight": true, "flex": 50, "items": course1590, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 50, "items": pupil1591, "labelAlign": "top", "layout": "form", "xtype": "panel" } ], "labelAlign": "top", "labelWidth": 0, "layout": "hbox", "layoutConfig": { "align": "stretchmax" } });
    var remark1595 = 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_panel1596 = new Ext.Panel({ "autoHeight": true, "autoScroll": false, "bodyBorder": false, "border": false, "frame": true, "hideCheckBoxLabels": true, "items": [ main_1_panel1587, main_2_panel1592, { "anchor": "-20", "autoHeight": true, "items": remark1595, "labelAlign": "top", "layout": "form", "xtype": "panel" } ], "labelAlign": "top", "labelWidth": 0, "layout": "form" });
    this.items = main_panel1596;
    this.before_row_edit = function(record) {
      course1590.setContextValue('course_area', record ? record.data['course_areaHidden'] : undefined);
      course1590.setContextValue('request_date', record ? record.data['request_date'] : undefined);
      pupil1591.setContextValue('course', record ? record.data['courseHidden'] : undefined);
    }
    this.onRender = function(ct, position) {
      typeof request_date1585 !== 'undefined' && request_date1585.on('change',Lino.chooser_handler(course1590,'request_date'));
      typeof course1590 !== 'undefined' && course1590.on('change',Lino.chooser_handler(pupil1591,'course'));
      Lino.courses.Enrolments.InsertFormPanel.superclass.onRender.call(this, ct, position);
    }
    Lino.courses.Enrolments.InsertFormPanel.superclass.initComponent.call(this);
  }
});


Lino.courses.Activities.DetailFormPanel = Ext.extend(Lino.FormPanel,{
cls: "l-DetailFormPanel courses-Activities",
  layout: 'fit',
  auto_save: true,
  content_type: 50,
  initComponent : function() {
    var line806 = new Lino.TwinCombo({ "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", "onTrigger2Click": function(e){ Lino.show_fk_detail(this,Lino.courses.Lines.detail,Lino.courses.Lines.insert)}, "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 teacher807 = new Lino.TwinCombo({ "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", "onTrigger2Click": function(e){ Lino.show_fk_detail(this,Lino.contacts.Persons.detail,Lino.contacts.Persons.insert)}, "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_date808 = 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_time809 = 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_time810 = 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_date811 = 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_panel812 = new Ext.Panel({ "autoHeight": true, "autoScroll": false, "border": false, "frame": false, "hideCheckBoxLabels": true, "items": [ { "autoHeight": true, "flex": 24, "items": line806, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 24, "items": teacher807, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 15, "items": start_date808, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 9, "items": start_time809, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 9, "items": end_time810, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 15, "items": end_date811, "labelAlign": "top", "layout": "form", "xtype": "panel" } ], "labelAlign": "top", "labelWidth": 0, "layout": "hbox", "layoutConfig": { "align": "stretchmax" } });
    var room819 = new Lino.TwinCombo({ "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", "onTrigger2Click": function(e){ Lino.show_fk_detail(this,Lino.cal.Rooms.detail,Lino.cal.Rooms.insert)}, "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_disp820 = 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 id821 = 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 user822 = new Lino.TwinCombo({ "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", "onTrigger2Click": function(e){ Lino.show_fk_detail(this,Lino.users.AllUsers.detail,Lino.users.AllUsers.insert)}, "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_panel823 = new Ext.Panel({ "autoHeight": true, "autoScroll": false, "border": false, "frame": false, "hideCheckBoxLabels": true, "items": [ { "autoHeight": true, "flex": 25, "items": room819, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 38, "items": workflow_buttons_disp820, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 10, "items": id821, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 25, "items": user822, "labelAlign": "top", "layout": "form", "xtype": "panel" } ], "labelAlign": "top", "labelWidth": 0, "layout": "hbox", "layoutConfig": { "align": "stretchmax" } });
    var name828 = 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 description829 = new Lino.RichTextPanel({ "allowBlank": true, "containing_panel": this, "fieldLabel": "Description", "flex": 33, "name": "description", "selectOnFocus": true, "title": "Description" });
    var description_de830 = new Lino.RichTextPanel({ "allowBlank": true, "containing_panel": this, "fieldLabel": "Description (de)", "flex": 33, "name": "description_de", "selectOnFocus": true, "title": "Description (de)" });
    var description_fr831 = new Lino.RichTextPanel({ "allowBlank": true, "containing_panel": this, "fieldLabel": "Description (fr)", "flex": 33, "name": "description_fr", "selectOnFocus": true, "title": "Description (fr)" });
    var general_4_panel832 = new Ext.Panel({ "autoScroll": false, "border": false, "flex": 50, "frame": false, "hideCheckBoxLabels": true, "items": [ description829, description_de830, description_fr831 ], "labelAlign": "top", "labelWidth": 153, "layout": "hbox", "layoutConfig": { "align": "stretch" } });
    var general_panel833 = new Ext.Panel({ "autoScroll": false, "bodyBorder": false, "border": false, "frame": true, "hideCheckBoxLabels": true, "items": [ general_1_panel812, general_2_panel823, { "autoHeight": true, "items": name828, "labelAlign": "top", "layout": "form", "xtype": "panel" }, general_4_panel832 ], "labelAlign": "top", "labelWidth": 0, "layout": "vbox", "layoutConfig": { "align": "stretch" }, "listeners": { "activate": Lino.on_tab_activate }, "title": "General" });
    var max_events835 = 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_date836 = 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_unit837 = 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 every838 = 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 positions839 = 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_panel840 = new Ext.Panel({ "autoHeight": true, "autoScroll": false, "border": false, "frame": false, "hideCheckBoxLabels": true, "items": [ { "autoHeight": true, "flex": 7, "items": max_events835, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 20, "items": max_date836, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 32, "items": every_unit837, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 7, "items": every838, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 32, "items": positions839, "labelAlign": "top", "layout": "form", "xtype": "panel" } ], "labelAlign": "top", "labelWidth": 0, "layout": "hbox", "layoutConfig": { "align": "stretchmax" } });
    var monday846 = 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 tuesday847 = 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 wednesday848 = 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 thursday849 = 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 friday850 = 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 saturday851 = 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 sunday852 = 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_panel853 = new Ext.Panel({ "autoHeight": true, "autoScroll": false, "border": false, "frame": false, "hideCheckBoxLabels": true, "items": [ { "autoHeight": true, "flex": 14, "items": monday846, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 14, "items": tuesday847, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 14, "items": wednesday848, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 14, "items": thursday849, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 14, "items": friday850, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 14, "items": saturday851, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 14, "items": sunday852, "labelAlign": "top", "layout": "form", "xtype": "panel" } ], "labelAlign": "top", "labelWidth": 0, "layout": "hbox", "layoutConfig": { "align": "stretchmax" } });
    var cal_tab_panel862 = new Ext.Panel({ "autoScroll": false, "bodyBorder": false, "border": false, "frame": true, "hideCheckBoxLabels": true, "items": [ cal_tab_1_panel840, cal_tab_2_panel853 ], "labelAlign": "top", "labelWidth": 153, "layout": "vbox", "layoutConfig": { "align": "stretch" }, "listeners": { "activate": Lino.on_tab_activate }, "title": "Calendar" });
    var enrolments_until863 = 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_places864 = 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 confirmed865 = 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_places866 = 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_disp867 = 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_panel868 = new Ext.Panel({ "autoHeight": true, "autoScroll": false, "border": false, "frame": false, "hideCheckBoxLabels": true, "items": [ { "autoHeight": true, "flex": 24, "items": enrolments_until863, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 18, "items": max_places864, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 9, "items": confirmed865, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 18, "items": free_places866, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 28, "items": print_actions_disp867, "labelAlign": "top", "layout": "form", "xtype": "panel" } ], "labelAlign": "top", "labelWidth": 0, "layout": "hbox", "layoutConfig": { "align": "stretchmax" } });
    var enrolments_panel875 = new Ext.Panel({ "autoScroll": false, "bodyBorder": false, "border": false, "frame": true, "hideCheckBoxLabels": true, "items": [ enrolments_top_panel868 ], "labelAlign": "top", "labelWidth": 99, "layout": "vbox", "layoutConfig": { "align": "stretch" }, "listeners": { "activate": Lino.on_tab_activate }, "title": "Enrolments" });
    var main_panel876 = new Ext.TabPanel({ "activeTab": 0, "autoScroll": false, "bodyBorder": false, "border": false, "enableTabScroll": true, "frame": true, "hideCheckBoxLabels": true, "items": [ general_panel833, cal_tab_panel862, enrolments_panel875 ], "labelAlign": "top", "split": true });
    this.items = main_panel876;
    this.before_row_edit = function(record) {
      description829.refresh();
      description_de830.refresh();
      description_fr831.refresh();
    }
    Lino.courses.Activities.DetailFormPanel.superclass.initComponent.call(this);
  }
});


Lino.courses.Activities.InsertFormPanel = Ext.extend(Lino.FormPanel,{
cls: "l-InsertFormPanel courses-Activities",
  layout: 'fit',
  auto_save: true,
  autoHeight: true,
  content_type: 50,
  initComponent : function() {
    var line877 = new Lino.TwinCombo({ "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", "onTrigger2Click": function(e){ Lino.show_fk_detail(this,Lino.courses.Lines.detail,Lino.courses.Lines.insert)}, "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 teacher878 = new Lino.TwinCombo({ "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", "onTrigger2Click": function(e){ Lino.show_fk_detail(this,Lino.contacts.Persons.detail,Lino.contacts.Persons.insert)}, "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_panel879 = new Ext.Panel({ "anchor": "-20", "autoHeight": true, "autoScroll": false, "border": false, "frame": false, "hideCheckBoxLabels": true, "items": [ { "autoHeight": true, "flex": 50, "items": line877, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 50, "items": teacher878, "labelAlign": "top", "layout": "form", "xtype": "panel" } ], "labelAlign": "top", "labelWidth": 0, "layout": "hbox", "layoutConfig": { "align": "stretchmax" } });
    var name882 = 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_date883 = 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_panel884 = new Ext.Panel({ "anchor": "-20", "autoHeight": true, "autoScroll": false, "border": false, "frame": false, "hideCheckBoxLabels": true, "items": [ { "autoHeight": true, "flex": 61, "items": name882, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 38, "items": start_date883, "labelAlign": "top", "layout": "form", "xtype": "panel" } ], "labelAlign": "top", "labelWidth": 0, "layout": "hbox", "layoutConfig": { "align": "stretchmax" } });
    var main_panel887 = new Ext.Panel({ "autoHeight": true, "autoScroll": false, "bodyBorder": false, "border": false, "frame": true, "hideCheckBoxLabels": true, "items": [ main_1_panel879, main_2_panel884 ], "labelAlign": "top", "layout": "form" });
    this.items = main_panel887;
    this.before_row_edit = function(record) {
    }
    Lino.courses.Activities.InsertFormPanel.superclass.initComponent.call(this);
  }
});


Lino.courses.Enrolments.DetailFormPanel = Ext.extend(Lino.FormPanel,{
cls: "l-DetailFormPanel courses-Enrolments",
  layout: 'fit',
  auto_save: true,
  content_type: 51,
  initComponent : function() {
    var request_date1598 = 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 user1599 = new Lino.TwinCombo({ "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", "onTrigger2Click": function(e){ Lino.show_fk_detail(this,Lino.users.AllUsers.detail,Lino.users.AllUsers.insert)}, "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_date1600 = 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_date1601 = 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_panel1602 = new Ext.Panel({ "autoHeight": true, "autoScroll": false, "border": false, "frame": false, "hideCheckBoxLabels": true, "items": [ { "autoHeight": true, "flex": 24, "items": request_date1598, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 37, "items": user1599, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 18, "items": start_date1600, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 18, "items": end_date1601, "labelAlign": "top", "layout": "form", "xtype": "panel" } ], "labelAlign": "top", "labelWidth": 0, "layout": "hbox", "layoutConfig": { "align": "stretchmax" } });
    var course1607 = new Lino.TwinCombo({ "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", "onTrigger2Click": function(e){ Lino.show_fk_detail(this,Lino.courses.Activities.detail,Lino.courses.Activities.insert)}, "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 pupil1608 = new Lino.TwinCombo({ "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", "onTrigger2Click": function(e){ Lino.show_fk_detail(this,Lino.contacts.Persons.detail,Lino.contacts.Persons.insert)}, "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_panel1609 = new Ext.Panel({ "autoHeight": true, "autoScroll": false, "border": false, "frame": false, "hideCheckBoxLabels": true, "items": [ { "autoHeight": true, "flex": 50, "items": course1607, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 50, "items": pupil1608, "labelAlign": "top", "layout": "form", "xtype": "panel" } ], "labelAlign": "top", "labelWidth": 0, "layout": "hbox", "layoutConfig": { "align": "stretchmax" } });
    var remark1612 = 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_disp1613 = 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_panel1614 = new Ext.Panel({ "autoHeight": true, "autoScroll": false, "border": false, "frame": false, "hideCheckBoxLabels": true, "items": [ { "autoHeight": true, "flex": 41, "items": remark1612, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 58, "items": workflow_buttons_disp1613, "labelAlign": "top", "layout": "form", "xtype": "panel" } ], "labelAlign": "top", "labelWidth": 0, "layout": "hbox", "layoutConfig": { "align": "stretchmax" } });
    var confirmation_details1617 = new Lino.RichTextPanel({ "allowBlank": true, "containing_panel": this, "fieldLabel": "Confirmation details", "flex": 50, "name": "confirmation_details", "selectOnFocus": true, "title": "Confirmation details" });
    var main_panel1618 = new Ext.Panel({ "autoScroll": false, "bodyBorder": false, "border": false, "frame": true, "hideCheckBoxLabels": true, "items": [ main_1_panel1602, main_2_panel1609, main_3_panel1614, confirmation_details1617 ], "labelAlign": "top", "labelWidth": 189, "layout": "vbox", "layoutConfig": { "align": "stretch" } });
    this.items = main_panel1618;
    this.before_row_edit = function(record) {
      course1607.setContextValue('course_area', record ? record.data['course_areaHidden'] : undefined);
      course1607.setContextValue('request_date', record ? record.data['request_date'] : undefined);
      pupil1608.setContextValue('course', record ? record.data['courseHidden'] : undefined);
      confirmation_details1617.refresh();
    }
    this.onRender = function(ct, position) {
      typeof request_date1598 !== 'undefined' && request_date1598.on('change',Lino.chooser_handler(course1607,'request_date'));
      typeof course1607 !== 'undefined' && course1607.on('change',Lino.chooser_handler(pupil1608,'course'));
      Lino.courses.Enrolments.DetailFormPanel.superclass.onRender.call(this, ct, position);
    }
    Lino.courses.Enrolments.DetailFormPanel.superclass.initComponent.call(this);
  }
});


Lino.calview.MonthlyView.DetailFormPanel = Ext.extend(Lino.FormPanel,{
cls: "l-DetailFormPanel calview-MonthlyView",
  layout: 'fit',
  auto_save: true,
  disable_editing: true,
  initComponent : function() {
    var navigation_panel_htmlbox1619 = 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_panel1630 = new Ext.Panel({ "autoScroll": false, "border": false, "frame": false, "hideCheckBoxLabels": true, "items": [ navigation_panel_htmlbox1619 ], "labelAlign": "top", "labelWidth": 0, "layout": "hbox", "layoutConfig": { "align": "stretch" }, "region": "center" });
    var main_panel1631 = new Ext.Panel({ "autoScroll": false, "bodyBorder": false, "border": false, "frame": true, "hideCheckBoxLabels": true, "items": [ body_panel1630 ], "labelAlign": "top", "layout": "fit" });
    this.items = main_panel1631;
    this.before_row_edit = function(record) {
      navigation_panel_htmlbox1619.refresh();
    }
    Lino.calview.MonthlyView.DetailFormPanel.superclass.initComponent.call(this);
  }
});


Lino.contacts.Persons.DetailFormPanel = Ext.extend(Lino.FormPanel,{
cls: "l-DetailFormPanel contacts-Persons",
  layout: 'fit',
  auto_save: true,
  content_type: 10,
  initComponent : function() {
    var navigation_panel_htmlbox1632 = 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_htmlbox1633 = 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_name1634 = 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_name1635 = 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_panel1636 = new Ext.Panel({ "anchor": "-20", "autoHeight": true, "autoScroll": false, "border": false, "frame": false, "hideCheckBoxLabels": true, "items": [ { "autoHeight": true, "flex": 58, "items": last_name1634, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 41, "items": first_name1635, "labelAlign": "top", "layout": "form", "xtype": "panel" } ], "labelAlign": "top", "labelWidth": 0, "layout": "hbox", "layoutConfig": { "align": "stretchmax" } });
    var gender1639 = 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 language1640 = 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_panel1641 = new Ext.Panel({ "anchor": "-20", "autoHeight": true, "autoScroll": false, "border": false, "frame": false, "hideCheckBoxLabels": true, "items": [ { "autoHeight": true, "flex": 47, "items": gender1639, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 52, "items": language1640, "labelAlign": "top", "layout": "form", "xtype": "panel" } ], "labelAlign": "top", "labelWidth": 0, "layout": "hbox", "layoutConfig": { "align": "stretchmax" } });
    var birth_date1644 = 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_disp1645 = 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 id1646 = 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_panel1647 = new Ext.Panel({ "anchor": "-20", "autoHeight": true, "autoScroll": false, "border": false, "frame": false, "hideCheckBoxLabels": true, "items": [ { "autoHeight": true, "flex": 42, "items": birth_date1644, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 35, "items": age_disp1645, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 21, "items": id1646, "labelAlign": "top", "layout": "form", "xtype": "panel" } ], "labelAlign": "top", "labelWidth": 0, "layout": "hbox", "layoutConfig": { "align": "stretchmax" } });
    var contact_box_panel1651 = new Ext.Panel({ "autoHeight": true, "autoScroll": false, "bodyBorder": false, "border": false, "flex": 54, "frame": true, "hideCheckBoxLabels": true, "items": [ contact_box_1_panel1636, contact_box_2_panel1641, contact_box_3_panel1647 ], "labelAlign": "top", "layout": "form" });
    var general_box_1_panel1652 = new Ext.Panel({ "autoHeight": true, "autoScroll": false, "border": false, "frame": false, "hideCheckBoxLabels": true, "items": [ overview_htmlbox1633, contact_box_panel1651 ], "labelAlign": "top", "labelWidth": 0, "layout": "hbox", "layoutConfig": { "align": "stretchmax" } });
    var general_box_panel1664 = new Ext.Panel({ "autoScroll": false, "bodyBorder": false, "border": false, "flex": 75, "frame": true, "hideCheckBoxLabels": true, "items": [ general_box_1_panel1652 ], "labelAlign": "top", "layout": "vbox", "layoutConfig": { "align": "stretch" } });
    var general_panel1665 = new Ext.Panel({ "autoScroll": false, "border": false, "frame": false, "hideCheckBoxLabels": true, "items": [ navigation_panel_htmlbox1632, general_box_panel1664 ], "labelAlign": "top", "labelWidth": 0, "layout": "hbox", "layoutConfig": { "align": "stretch" }, "listeners": { "activate": Lino.on_tab_activate }, "title": "General" });
    var remarks1687 = 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_panel1692 = new Lino.VBorderPanel({ "autoScroll": false, "bodyBorder": false, "border": false, "flex": 66, "frame": true, "hideCheckBoxLabels": true, "items": [ remarks1687 ], "labelAlign": "top", "labelWidth": 117, "region": "center" });
    var more_1_panel1694 = new Ext.Panel({ "autoScroll": false, "border": false, "frame": false, "hideCheckBoxLabels": true, "items": [ more_left_panel1692 ], "labelAlign": "top", "labelWidth": 81, "layout": "hbox", "layoutConfig": { "align": "stretch" }, "listeners": { "activate": Lino.on_tab_activate }, "title": "More" });
    var main_panel1695 = new Ext.TabPanel({ "activeTab": 0, "autoScroll": false, "bodyBorder": false, "border": false, "enableTabScroll": true, "frame": true, "hideCheckBoxLabels": true, "items": [ general_panel1665, more_1_panel1694 ], "labelAlign": "top", "split": true });
    this.items = main_panel1695;
    this.before_row_edit = function(record) {
      navigation_panel_htmlbox1632.refresh();
      overview_htmlbox1633.refresh();
      remarks1687.refresh();
    }
    Lino.contacts.Persons.DetailFormPanel.superclass.initComponent.call(this);
  }
});


Lino.contacts.Persons.InsertFormPanel = Ext.extend(Lino.FormPanel,{
cls: "l-InsertFormPanel contacts-Persons",
  layout: 'fit',
  auto_save: true,
  autoHeight: true,
  content_type: 10,
  initComponent : function() {
    var first_name1696 = 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_name1697 = 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_panel1698 = new Ext.Panel({ "anchor": "-20", "autoHeight": true, "autoScroll": false, "border": false, "frame": false, "hideCheckBoxLabels": true, "items": [ { "autoHeight": true, "flex": 50, "items": first_name1696, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 50, "items": last_name1697, "labelAlign": "top", "layout": "form", "xtype": "panel" } ], "labelAlign": "top", "labelWidth": 0, "layout": "hbox", "layoutConfig": { "align": "stretchmax" } });
    var gender1701 = 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 country1702 = new Lino.TwinCombo({ "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", "onTrigger2Click": function(e){ Lino.show_fk_detail(this,Lino.countries.Countries.detail,Lino.countries.Countries.insert)}, "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 language1703 = 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_panel1704 = new Ext.Panel({ "anchor": "-20", "autoHeight": true, "autoScroll": false, "border": false, "frame": false, "hideCheckBoxLabels": true, "items": [ { "autoHeight": true, "flex": 18, "items": gender1701, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 40, "items": country1702, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 40, "items": language1703, "labelAlign": "top", "layout": "form", "xtype": "panel" } ], "labelAlign": "top", "labelWidth": 0, "layout": "hbox", "layoutConfig": { "align": "stretchmax" } });
    var email1708 = 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 gsm1709 = 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_panel1710 = new Ext.Panel({ "autoHeight": true, "autoScroll": false, "bodyBorder": false, "border": false, "frame": true, "hideCheckBoxLabels": true, "items": [ main_1_panel1698, main_2_panel1704, { "anchor": "-20", "autoHeight": true, "items": email1708, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "anchor": "-20", "autoHeight": true, "items": gsm1709, "labelAlign": "top", "layout": "form", "xtype": "panel" } ], "labelAlign": "top", "labelWidth": 0, "layout": "form" });
    this.items = main_panel1710;
    this.before_row_edit = function(record) {
    }
    Lino.contacts.Persons.InsertFormPanel.superclass.initComponent.call(this);
  }
});


Lino.uploads.Uploads.DetailFormPanel = Ext.extend(Lino.FormPanel,{
cls: "l-DetailFormPanel uploads-Uploads",
  layout: 'fit',
  auto_save: true,
  autoHeight: true,
  content_type: 29,
  initComponent : function() {
    var file1713 = 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 user1714 = new Lino.TwinCombo({ "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", "onTrigger2Click": function(e){ Lino.show_fk_detail(this,Lino.users.AllUsers.detail,Lino.users.AllUsers.insert)}, "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_panel1715 = new Ext.Panel({ "anchor": "-20", "autoHeight": true, "autoScroll": false, "border": false, "frame": false, "hideCheckBoxLabels": true, "items": [ { "autoHeight": true, "flex": 51, "items": file1713, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 48, "items": user1714, "labelAlign": "top", "layout": "form", "xtype": "panel" } ], "labelAlign": "top", "labelWidth": 0, "layout": "hbox", "layoutConfig": { "align": "stretchmax" } });
    var volume1718 = new Lino.TwinCombo({ "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", "onTrigger2Click": function(e){ Lino.show_fk_detail(this,Lino.uploads.Volumes.detail,Lino.uploads.Volumes.insert)}, "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_file1719 = 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_panel1720 = new Ext.Panel({ "anchor": "-20", "autoHeight": true, "autoScroll": false, "border": false, "frame": false, "hideCheckBoxLabels": true, "items": [ { "autoHeight": true, "flex": 20, "items": volume1718, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 80, "items": library_file1719, "labelAlign": "top", "layout": "form", "xtype": "panel" } ], "labelAlign": "top", "labelWidth": 0, "layout": "hbox", "layoutConfig": { "align": "stretchmax" } });
    var upload_area1723 = 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 type1724 = new Lino.TwinCombo({ "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", "onTrigger2Click": function(e){ Lino.show_fk_detail(this,Lino.uploads.UploadTypes.detail,Lino.uploads.UploadTypes.insert)}, "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 description1725 = 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_panel1726 = new Ext.Panel({ "anchor": "-20", "autoHeight": true, "autoScroll": false, "border": false, "frame": false, "hideCheckBoxLabels": true, "items": [ { "autoHeight": true, "flex": 19, "items": upload_area1723, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 39, "items": type1724, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 41, "items": description1725, "labelAlign": "top", "layout": "form", "xtype": "panel" } ], "labelAlign": "top", "labelWidth": 0, "layout": "hbox", "layoutConfig": { "align": "stretchmax" } });
    var owner_disp1730 = new Ext.form.DisplayField({ "anchor": "-20", "autoHeight": true, "disabled": true, "fieldLabel": "Controlled by", "name": "owner" });
    var main_panel1731 = new Ext.Panel({ "autoHeight": true, "autoScroll": false, "bodyBorder": false, "border": false, "frame": true, "hideCheckBoxLabels": true, "items": [ main_1_panel1715, main_2_panel1720, main_3_panel1726, { "anchor": "-20", "autoHeight": true, "items": owner_disp1730, "labelAlign": "top", "layout": "form", "xtype": "panel" } ], "labelAlign": "top", "labelWidth": 0, "layout": "form" });
    this.items = main_panel1731;
    this.before_row_edit = function(record) {
      library_file1719.setContextValue('volume', record ? record.data['volumeHidden'] : undefined);
      type1724.setContextValue('upload_area', record ? record.data['upload_areaHidden'] : undefined);
    }
    this.onRender = function(ct, position) {
      typeof volume1718 !== 'undefined' && volume1718.on('change',Lino.chooser_handler(library_file1719,'volume'));
      typeof upload_area1723 !== 'undefined' && upload_area1723.on('change',Lino.chooser_handler(type1724,'upload_area'));
      Lino.uploads.Uploads.DetailFormPanel.superclass.onRender.call(this, ct, position);
    }
    Lino.uploads.Uploads.DetailFormPanel.superclass.initComponent.call(this);
  }
});


Lino.cal.GuestRoles.DetailFormPanel = Ext.extend(Lino.FormPanel,{
cls: "l-DetailFormPanel cal-GuestRoles",
  layout: 'fit',
  auto_save: true,
  content_type: 18,
  initComponent : function() {
    var ref1733 = 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 name1734 = 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_de1735 = 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_fr1736 = 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 id1737 = 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_panel1738 = new Ext.Panel({ "autoHeight": true, "autoScroll": false, "border": false, "frame": false, "hideCheckBoxLabels": true, "items": [ { "autoHeight": true, "flex": 5, "items": ref1733, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 29, "items": name1734, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 29, "items": name_de1735, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 29, "items": name_fr1736, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 6, "items": id1737, "labelAlign": "top", "layout": "form", "xtype": "panel" } ], "labelAlign": "top", "labelWidth": 0, "layout": "hbox", "layoutConfig": { "align": "stretchmax" } });
    var main_panel1753 = new Ext.Panel({ "autoScroll": false, "bodyBorder": false, "border": false, "frame": true, "hideCheckBoxLabels": true, "items": [ main_1_panel1738 ], "labelAlign": "top", "layout": "vbox", "layoutConfig": { "align": "stretch" } });
    this.items = main_panel1753;
    this.before_row_edit = function(record) {
    }
    Lino.cal.GuestRoles.DetailFormPanel.superclass.initComponent.call(this);
  }
});


Lino.courses.Lines.InsertFormPanel = Ext.extend(Lino.FormPanel,{
cls: "l-InsertFormPanel courses-Lines",
  layout: 'fit',
  auto_save: true,
  content_type: 49,
  initComponent : function() {
    var name980 = 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_de981 = 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_fr982 = 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_panel983 = new Ext.Panel({ "autoHeight": true, "autoScroll": false, "border": false, "frame": false, "hideCheckBoxLabels": true, "items": [ { "autoHeight": true, "flex": 33, "items": name980, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 33, "items": name_de981, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 33, "items": name_fr982, "labelAlign": "top", "layout": "form", "xtype": "panel" } ], "labelAlign": "top", "labelWidth": 0, "layout": "hbox", "layoutConfig": { "align": "stretchmax" } });
    var ref987 = 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 topic988 = new Lino.TwinCombo({ "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", "onTrigger2Click": function(e){ Lino.show_fk_detail(this,Lino.courses.Topics.detail,null)}, "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_panel989 = new Ext.Panel({ "autoHeight": true, "autoScroll": false, "border": false, "frame": false, "hideCheckBoxLabels": true, "items": [ { "autoHeight": true, "flex": 66, "items": ref987, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 33, "items": topic988, "labelAlign": "top", "layout": "form", "xtype": "panel" } ], "labelAlign": "top", "labelWidth": 0, "layout": "hbox", "layoutConfig": { "align": "stretchmax" } });
    var every_unit992 = 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 every993 = 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_type994 = new Lino.TwinCombo({ "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", "onTrigger2Click": function(e){ Lino.show_fk_detail(this,Lino.cal.EventTypes.detail,Lino.cal.EventTypes.insert)}, "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_panel995 = new Ext.Panel({ "autoHeight": true, "autoScroll": false, "border": false, "frame": false, "hideCheckBoxLabels": true, "items": [ { "autoHeight": true, "flex": 45, "items": every_unit992, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 10, "items": every993, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 43, "items": event_type994, "labelAlign": "top", "layout": "form", "xtype": "panel" } ], "labelAlign": "top", "labelWidth": 0, "layout": "hbox", "layoutConfig": { "align": "stretchmax" } });
    var description999 = new Lino.RichTextPanel({ "allowBlank": true, "containing_panel": this, "fieldLabel": "Description", "flex": 33, "name": "description", "selectOnFocus": true, "title": "Description" });
    var description_de1000 = new Lino.RichTextPanel({ "allowBlank": true, "containing_panel": this, "fieldLabel": "Description (de)", "flex": 33, "name": "description_de", "selectOnFocus": true, "title": "Description (de)" });
    var description_fr1001 = new Lino.RichTextPanel({ "allowBlank": true, "containing_panel": this, "fieldLabel": "Description (fr)", "flex": 33, "name": "description_fr", "selectOnFocus": true, "title": "Description (fr)" });
    var main_4_panel1002 = new Ext.Panel({ "autoScroll": false, "border": false, "flex": 62, "frame": false, "hideCheckBoxLabels": true, "items": [ description999, description_de1000, description_fr1001 ], "labelAlign": "top", "labelWidth": 153, "layout": "hbox", "layoutConfig": { "align": "stretch" } });
    var main_panel1003 = new Ext.Panel({ "autoScroll": false, "bodyBorder": false, "border": false, "frame": true, "hideCheckBoxLabels": true, "items": [ main_1_panel983, main_2_panel989, main_3_panel995, main_4_panel1002 ], "labelAlign": "top", "layout": "vbox", "layoutConfig": { "align": "stretch" } });
    this.items = main_panel1003;
    this.before_row_edit = function(record) {
      description999.refresh();
      description_de1000.refresh();
      description_fr1001.refresh();
    }
    Lino.courses.Lines.InsertFormPanel.superclass.initComponent.call(this);
  }
});


Lino.cal.Guests.DetailFormPanel = Ext.extend(Lino.FormPanel,{
cls: "l-DetailFormPanel cal-Guests",
  layout: 'fit',
  auto_save: true,
  autoHeight: true,
  content_type: 25,
  initComponent : function() {
    var event1429 = new Lino.TwinCombo({ "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", "onTrigger2Click": function(e){ Lino.show_fk_detail(this,Lino.cal.OneEvent.detail,Lino.cal.OneEvent.insert)}, "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 partner1430 = new Lino.TwinCombo({ "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", "onTrigger2Click": function(e){ Lino.show_fk_detail(this,Lino.contacts.Persons.detail,Lino.contacts.Persons.insert)}, "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 role1431 = new Lino.TwinCombo({ "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", "onTrigger2Click": function(e){ Lino.show_fk_detail(this,Lino.cal.GuestRoles.detail,null)}, "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_panel1432 = new Ext.Panel({ "anchor": "-20", "autoHeight": true, "autoScroll": false, "border": false, "frame": false, "hideCheckBoxLabels": true, "items": [ { "autoHeight": true, "flex": 33, "items": event1429, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 33, "items": partner1430, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 33, "items": role1431, "labelAlign": "top", "layout": "form", "xtype": "panel" } ], "labelAlign": "top", "labelWidth": 0, "layout": "hbox", "layoutConfig": { "align": "stretchmax" } });
    var state1436 = 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_disp1437 = 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_panel1438 = new Ext.Panel({ "anchor": "-20", "autoHeight": true, "autoScroll": false, "border": false, "frame": false, "hideCheckBoxLabels": true, "items": [ { "autoHeight": true, "flex": 25, "items": state1436, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 75, "items": workflow_buttons_disp1437, "labelAlign": "top", "layout": "form", "xtype": "panel" } ], "labelAlign": "top", "labelWidth": 0, "layout": "hbox", "layoutConfig": { "align": "stretchmax" } });
    var remark1441 = 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_panel1442 = new Ext.Panel({ "autoHeight": true, "autoScroll": false, "bodyBorder": false, "border": false, "frame": true, "hideCheckBoxLabels": true, "items": [ main_1_panel1432, main_2_panel1438, { "anchor": "-20", "autoHeight": true, "items": remark1441, "labelAlign": "top", "layout": "form", "xtype": "panel" } ], "labelAlign": "top", "labelWidth": 0, "layout": "form" });
    this.items = main_panel1442;
    this.before_row_edit = function(record) {
    }
    Lino.cal.Guests.DetailFormPanel.superclass.initComponent.call(this);
  }
});


Lino.cal.RecurrentEvents.DetailFormPanel = Ext.extend(Lino.FormPanel,{
cls: "l-DetailFormPanel cal-RecurrentEvents",
  layout: 'fit',
  auto_save: true,
  content_type: 23,
  initComponent : function() {
    var name1754 = 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_de1755 = 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_fr1756 = 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_panel1757 = new Ext.Panel({ "autoHeight": true, "autoScroll": false, "border": false, "frame": false, "hideCheckBoxLabels": true, "items": [ { "autoHeight": true, "flex": 33, "items": name1754, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 33, "items": name_de1755, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 33, "items": name_fr1756, "labelAlign": "top", "layout": "form", "xtype": "panel" } ], "labelAlign": "top", "labelWidth": 0, "layout": "hbox", "layoutConfig": { "align": "stretchmax" } });
    var id1761 = 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 user1762 = new Lino.TwinCombo({ "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", "onTrigger2Click": function(e){ Lino.show_fk_detail(this,Lino.users.AllUsers.detail,Lino.users.AllUsers.insert)}, "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_type1763 = new Lino.TwinCombo({ "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", "onTrigger2Click": function(e){ Lino.show_fk_detail(this,Lino.cal.EventTypes.detail,Lino.cal.EventTypes.insert)}, "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_panel1764 = new Ext.Panel({ "autoHeight": true, "autoScroll": false, "border": false, "frame": false, "hideCheckBoxLabels": true, "items": [ { "autoHeight": true, "flex": 11, "items": id1761, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 44, "items": user1762, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 44, "items": event_type1763, "labelAlign": "top", "layout": "form", "xtype": "panel" } ], "labelAlign": "top", "labelWidth": 0, "layout": "hbox", "layoutConfig": { "align": "stretchmax" } });
    var start_date1768 = 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_time1769 = 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_date1770 = 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_time1771 = 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_panel1772 = new Ext.Panel({ "autoHeight": true, "autoScroll": false, "border": false, "frame": false, "hideCheckBoxLabels": true, "items": [ { "autoHeight": true, "flex": 30, "items": start_date1768, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 19, "items": start_time1769, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 30, "items": end_date1770, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 19, "items": end_time1771, "labelAlign": "top", "layout": "form", "xtype": "panel" } ], "labelAlign": "top", "labelWidth": 0, "layout": "hbox", "layoutConfig": { "align": "stretchmax" } });
    var every_unit1777 = 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 });
    var every1778 = 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 positions1779 = 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_events1780 = 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_panel1781 = new Ext.Panel({ "autoHeight": true, "autoScroll": false, "border": false, "frame": false, "hideCheckBoxLabels": true, "items": [ { "autoHeight": true, "flex": 40, "items": every_unit1777, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 9, "items": every1778, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 40, "items": positions1779, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 9, "items": max_events1780, "labelAlign": "top", "layout": "form", "xtype": "panel" } ], "labelAlign": "top", "labelWidth": 0, "layout": "hbox", "layoutConfig": { "align": "stretchmax" } });
    var monday1786 = 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 tuesday1787 = 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 wednesday1788 = 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 thursday1789 = 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 friday1790 = 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 saturday1791 = 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 sunday1792 = 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_panel1793 = new Ext.Panel({ "autoHeight": true, "autoScroll": false, "border": false, "frame": false, "hideCheckBoxLabels": true, "items": [ { "autoHeight": true, "flex": 14, "items": monday1786, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 14, "items": tuesday1787, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 14, "items": wednesday1788, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 14, "items": thursday1789, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 14, "items": friday1790, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 14, "items": saturday1791, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 14, "items": sunday1792, "labelAlign": "top", "layout": "form", "xtype": "panel" } ], "labelAlign": "top", "labelWidth": 0, "layout": "hbox", "layoutConfig": { "align": "stretchmax" } });
    var description1801 = new Lino.RichTextPanel({ "allowBlank": true, "containing_panel": this, "fieldLabel": "Description", "flex": 66, "name": "description", "region": "center", "selectOnFocus": true, "title": "Description" });
    var main_6_panel1803 = new Ext.Panel({ "autoScroll": false, "border": false, "flex": 50, "frame": false, "hideCheckBoxLabels": true, "items": [ description1801 ], "labelAlign": "top", "labelWidth": 153, "layout": "hbox", "layoutConfig": { "align": "stretch" } });
    var main_panel1804 = new Ext.Panel({ "autoScroll": false, "bodyBorder": false, "border": false, "frame": true, "hideCheckBoxLabels": true, "items": [ main_1_panel1757, main_2_panel1764, main_3_panel1772, main_4_panel1781, main_5_panel1793, main_6_panel1803 ], "labelAlign": "top", "layout": "vbox", "layoutConfig": { "align": "stretch" } });
    this.items = main_panel1804;
    this.before_row_edit = function(record) {
      description1801.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,
  autoHeight: true,
  content_type: 23,
  initComponent : function() {
    var name1805 = 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_de1806 = 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_fr1807 = 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_panel1808 = new Ext.Panel({ "anchor": "-20", "autoHeight": true, "autoScroll": false, "border": false, "frame": false, "hideCheckBoxLabels": true, "items": [ { "autoHeight": true, "flex": 33, "items": name1805, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 33, "items": name_de1806, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 33, "items": name_fr1807, "labelAlign": "top", "layout": "form", "xtype": "panel" } ], "labelAlign": "top", "labelWidth": 0, "layout": "hbox", "layoutConfig": { "align": "stretchmax" } });
    var start_date1812 = 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_date1813 = 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_unit1814 = 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 });
    var event_type1815 = new Lino.TwinCombo({ "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", "onTrigger2Click": function(e){ Lino.show_fk_detail(this,Lino.cal.EventTypes.detail,Lino.cal.EventTypes.insert)}, "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_panel1816 = new Ext.Panel({ "anchor": "-20", "autoHeight": true, "autoScroll": false, "border": false, "frame": false, "hideCheckBoxLabels": true, "items": [ { "autoHeight": true, "flex": 19, "items": start_date1812, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 19, "items": end_date1813, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 31, "items": every_unit1814, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 29, "items": event_type1815, "labelAlign": "top", "layout": "form", "xtype": "panel" } ], "labelAlign": "top", "labelWidth": 0, "layout": "hbox", "layoutConfig": { "align": "stretchmax" } });
    var main_panel1821 = new Ext.Panel({ "autoHeight": true, "autoScroll": false, "bodyBorder": false, "border": false, "frame": true, "hideCheckBoxLabels": true, "items": [ main_1_panel1808, main_2_panel1816 ], "labelAlign": "top", "layout": "form" });
    this.items = main_panel1821;
    this.before_row_edit = function(record) {
    }
    Lino.cal.RecurrentEvents.InsertFormPanel.superclass.initComponent.call(this);
  }
});


Lino.cal.Events.DetailFormPanel = Ext.extend(Lino.FormPanel,{
cls: "l-DetailFormPanel cal-Events",
  layout: 'fit',
  auto_save: true,
  content_type: 24,
  initComponent : function() {
    var event_type1393 = new Lino.TwinCombo({ "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", "onTrigger2Click": function(e){ Lino.show_fk_detail(this,Lino.cal.EventTypes.detail,Lino.cal.EventTypes.insert)}, "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 summary1394 = 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 user1395 = new Lino.TwinCombo({ "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", "onTrigger2Click": function(e){ Lino.show_fk_detail(this,Lino.users.AllUsers.detail,Lino.users.AllUsers.insert)}, "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_panel1396 = new Ext.Panel({ "autoHeight": true, "autoScroll": false, "border": false, "frame": false, "hideCheckBoxLabels": true, "items": [ { "autoHeight": true, "flex": 32, "items": event_type1393, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 34, "items": summary1394, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 32, "items": user1395, "labelAlign": "top", "layout": "form", "xtype": "panel" } ], "labelAlign": "top", "labelWidth": 0, "layout": "hbox", "layoutConfig": { "align": "stretchmax" } });
    var start_date1400 = 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 entry.  May not be empty.") }, "name": "start_date", "selectOnFocus": true });
    var start_time1401 = 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 a\nall-day entry.") }, "maxValue": "9:00 PM", "minValue": "7:00", "name": "start_time", "selectOnFocus": true });
    var start_panel1402 = new Ext.Panel({ "autoHeight": true, "autoScroll": false, "border": false, "flex": 33, "frame": false, "hideCheckBoxLabels": true, "items": [ { "autoHeight": true, "flex": 61, "items": start_date1400, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 38, "items": start_time1401, "labelAlign": "top", "layout": "form", "xtype": "panel" } ], "labelAlign": "top", "labelWidth": 0, "layout": "hbox", "layoutConfig": { "align": "stretchmax" } });
    var end_date1405 = 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 entry. Leave empty for same-day entries.") }, "name": "end_date", "selectOnFocus": true });
    var end_time1406 = 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 date\nis given, the entry ends the day after.") }, "maxValue": "9:00 PM", "minValue": "7:00", "name": "end_time", "selectOnFocus": true });
    var end_panel1407 = new Ext.Panel({ "autoHeight": true, "autoScroll": false, "border": false, "flex": 33, "frame": false, "hideCheckBoxLabels": true, "items": [ { "autoHeight": true, "flex": 61, "items": end_date1405, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 38, "items": end_time1406, "labelAlign": "top", "layout": "form", "xtype": "panel" } ], "labelAlign": "top", "labelWidth": 0, "layout": "hbox", "layoutConfig": { "align": "stretchmax" } });
    var assigned_to1410 = new Lino.TwinCombo({ "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", "onTrigger2Click": function(e){ Lino.show_fk_detail(this,Lino.users.AllUsers.detail,Lino.users.AllUsers.insert)}, "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_panel1411 = new Ext.Panel({ "autoHeight": true, "autoScroll": false, "border": false, "frame": false, "hideCheckBoxLabels": true, "items": [ start_panel1402, end_panel1407, { "autoHeight": true, "flex": 32, "items": assigned_to1410, "labelAlign": "top", "layout": "form", "xtype": "panel" } ], "labelAlign": "top", "labelWidth": 0, "layout": "hbox", "layoutConfig": { "align": "stretchmax" } });
    var room1413 = new Lino.TwinCombo({ "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", "onTrigger2Click": function(e){ Lino.show_fk_detail(this,Lino.cal.Rooms.detail,Lino.cal.Rooms.insert)}, "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_disp1414 = new Ext.form.DisplayField({ "anchor": "-20", "autoHeight": true, "disabled": true, "fieldLabel": "Controlled by", "name": "owner" });
    var workflow_buttons_disp1415 = 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_panel1416 = new Ext.Panel({ "autoHeight": true, "autoScroll": false, "border": false, "frame": false, "hideCheckBoxLabels": true, "items": [ { "autoHeight": true, "flex": 33, "items": room1413, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 16, "items": owner_disp1414, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 50, "items": workflow_buttons_disp1415, "labelAlign": "top", "layout": "form", "xtype": "panel" } ], "labelAlign": "top", "labelWidth": 0, "layout": "hbox", "layoutConfig": { "align": "stretchmax" } });
    var description1420 = 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_panel1452 = new Ext.Panel({ "autoScroll": false, "border": false, "flex": 50, "frame": false, "hideCheckBoxLabels": true, "items": [ { "flex": 33, "items": description1420, "labelAlign": "top", "layout": "form", "xtype": "panel" } ], "labelAlign": "top", "labelWidth": 0, "layout": "hbox", "layoutConfig": { "align": "stretch" } });
    var main_panel1454 = new Ext.Panel({ "autoScroll": false, "bodyBorder": false, "border": false, "frame": true, "hideCheckBoxLabels": true, "items": [ main_1_panel1396, main_2_panel1411, main_3_panel1416, main_4_panel1452 ], "labelAlign": "top", "layout": "vbox", "layoutConfig": { "align": "stretch" } });
    this.items = main_panel1454;
    this.before_row_edit = function(record) {
    }
    Lino.cal.Events.DetailFormPanel.superclass.initComponent.call(this);
  }
});


Lino.cal.Events.InsertFormPanel = Ext.extend(Lino.FormPanel,{
cls: "l-InsertFormPanel cal-Events",
  layout: 'fit',
  auto_save: true,
  autoHeight: true,
  content_type: 24,
  initComponent : function() {
    var start_date1455 = 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 entry.  May not be empty.") }, "name": "start_date", "selectOnFocus": true });
    var start_time1456 = 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 a\nall-day entry.") }, "maxValue": "9:00 PM", "minValue": "7:00", "name": "start_time", "selectOnFocus": true });
    var end_date1457 = 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 entry. Leave empty for same-day entries.") }, "name": "end_date", "selectOnFocus": true });
    var end_time1458 = 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 date\nis given, the entry ends the day after.") }, "maxValue": "9:00 PM", "minValue": "7:00", "name": "end_time", "selectOnFocus": true });
    var main_1_panel1459 = new Ext.Panel({ "anchor": "-20", "autoHeight": true, "autoScroll": false, "border": false, "frame": false, "hideCheckBoxLabels": true, "items": [ { "autoHeight": true, "flex": 30, "items": start_date1455, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 19, "items": start_time1456, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 30, "items": end_date1457, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 19, "items": end_time1458, "labelAlign": "top", "layout": "form", "xtype": "panel" } ], "labelAlign": "top", "labelWidth": 0, "layout": "hbox", "layoutConfig": { "align": "stretchmax" } });
    var summary1464 = 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_panel1465 = new Ext.Panel({ "autoHeight": true, "autoScroll": false, "bodyBorder": false, "border": false, "frame": true, "hideCheckBoxLabels": true, "items": [ main_1_panel1459, { "anchor": "-20", "autoHeight": true, "items": summary1464, "labelAlign": "top", "layout": "form", "xtype": "panel" } ], "labelAlign": "top", "labelWidth": 0, "layout": "form" });
    this.items = main_panel1465;
    this.before_row_edit = function(record) {
    }
    Lino.cal.Events.InsertFormPanel.superclass.initComponent.call(this);
  }
});


Lino.cal.Tasks.InsertFormPanel = Ext.extend(Lino.FormPanel,{
cls: "l-InsertFormPanel cal-Tasks",
  layout: 'fit',
  auto_save: true,
  autoHeight: true,
  content_type: 21,
  initComponent : function() {
    var summary1822 = 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 user1823 = new Lino.TwinCombo({ "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", "onTrigger2Click": function(e){ Lino.show_fk_detail(this,Lino.users.AllUsers.detail,Lino.users.AllUsers.insert)}, "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_panel1824 = new Ext.Panel({ "autoHeight": true, "autoScroll": false, "bodyBorder": false, "border": false, "frame": true, "hideCheckBoxLabels": true, "items": [ { "anchor": "-20", "autoHeight": true, "items": summary1822, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "anchor": "-20", "autoHeight": true, "items": user1823, "labelAlign": "top", "layout": "form", "xtype": "panel" } ], "labelAlign": "top", "labelWidth": 0, "layout": "form" });
    this.items = main_panel1824;
    this.before_row_edit = function(record) {
    }
    Lino.cal.Tasks.InsertFormPanel.superclass.initComponent.call(this);
  }
});


Lino.uploads.Volumes.InsertFormPanel = Ext.extend(Lino.FormPanel,{
cls: "l-InsertFormPanel uploads-Volumes",
  layout: 'fit',
  auto_save: true,
  autoHeight: true,
  content_type: 27,
  initComponent : function() {
    var ref1827 = 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 description1828 = 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_panel1829 = new Ext.Panel({ "anchor": "-20", "autoHeight": true, "autoScroll": false, "border": false, "frame": false, "hideCheckBoxLabels": true, "items": [ { "autoHeight": true, "flex": 65, "items": ref1827, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 34, "items": description1828, "labelAlign": "top", "layout": "form", "xtype": "panel" } ], "labelAlign": "top", "labelWidth": 0, "layout": "hbox", "layoutConfig": { "align": "stretchmax" } });
    var root_dir1832 = 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_url1833 = 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_panel1834 = new Ext.Panel({ "autoHeight": true, "autoScroll": false, "bodyBorder": false, "border": false, "frame": true, "hideCheckBoxLabels": true, "items": [ main_1_panel1829, { "anchor": "-20", "autoHeight": true, "items": root_dir1832, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "anchor": "-20", "autoHeight": true, "items": base_url1833, "labelAlign": "top", "layout": "form", "xtype": "panel" } ], "labelAlign": "top", "labelWidth": 0, "layout": "form" });
    this.items = main_panel1834;
    this.before_row_edit = function(record) {
    }
    Lino.uploads.Volumes.InsertFormPanel.superclass.initComponent.call(this);
  }
});


Lino.households.MembersByPerson.InsertFormPanel = Ext.extend(Lino.FormPanel,{
cls: "l-InsertFormPanel households-MembersByPerson",
  layout: 'fit',
  auto_save: true,
  autoHeight: true,
  content_type: 44,
  initComponent : function() {
    var person1837 = new Lino.TwinCombo({ "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", "onTrigger2Click": function(e){ Lino.show_fk_detail(this,Lino.contacts.Persons.detail,Lino.contacts.Persons.insert)}, "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 role1838 = 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 household1839 = new Lino.TwinCombo({ "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", "onTrigger2Click": function(e){ Lino.show_fk_detail(this,Lino.households.Households.detail,Lino.households.Households.insert)}, "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 primary1840 = 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_panel1841 = new Ext.Panel({ "autoHeight": true, "autoScroll": false, "bodyBorder": false, "border": false, "frame": true, "hideCheckBoxLabels": true, "items": [ { "anchor": "-20", "autoHeight": true, "items": person1837, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "anchor": "-20", "autoHeight": true, "items": role1838, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "anchor": "-20", "autoHeight": true, "items": household1839, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "anchor": "-20", "autoHeight": true, "items": primary1840, "labelAlign": "top", "layout": "form", "xtype": "panel" } ], "labelAlign": "top", "labelWidth": 0, "layout": "form" });
    this.items = main_panel1841;
    this.before_row_edit = function(record) {
    }
    Lino.households.MembersByPerson.InsertFormPanel.superclass.initComponent.call(this);
  }
});


Lino.uploads.UploadTypes.DetailFormPanel = Ext.extend(Lino.FormPanel,{
cls: "l-DetailFormPanel uploads-UploadTypes",
  layout: 'fit',
  auto_save: true,
  content_type: 28,
  initComponent : function() {
    var id1846 = 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_area1847 = 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 wanted1848 = 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_number1849 = 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 shortcut1850 = 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_panel1851 = new Ext.Panel({ "autoHeight": true, "autoScroll": false, "border": false, "frame": false, "hideCheckBoxLabels": true, "items": [ { "autoHeight": true, "flex": 9, "items": id1846, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 19, "items": upload_area1847, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 19, "items": wanted1848, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 9, "items": max_number1849, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 41, "items": shortcut1850, "labelAlign": "top", "layout": "form", "xtype": "panel" } ], "labelAlign": "top", "labelWidth": 0, "layout": "hbox", "layoutConfig": { "align": "stretchmax" } });
    var name1857 = 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_de1858 = 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_fr1859 = 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_panel1860 = new Ext.Panel({ "autoHeight": true, "autoScroll": false, "border": false, "frame": false, "hideCheckBoxLabels": true, "items": [ { "autoHeight": true, "flex": 33, "items": name1857, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 33, "items": name_de1858, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 33, "items": name_fr1859, "labelAlign": "top", "layout": "form", "xtype": "panel" } ], "labelAlign": "top", "labelWidth": 0, "layout": "hbox", "layoutConfig": { "align": "stretchmax" } });
    var main_panel1893 = new Ext.Panel({ "autoScroll": false, "bodyBorder": false, "border": false, "frame": true, "hideCheckBoxLabels": true, "items": [ main_1_panel1851, main_2_panel1860 ], "labelAlign": "top", "layout": "vbox", "layoutConfig": { "align": "stretch" } });
    this.items = main_panel1893;
    this.before_row_edit = function(record) {
    }
    Lino.uploads.UploadTypes.DetailFormPanel.superclass.initComponent.call(this);
  }
});


Lino.uploads.UploadTypes.InsertFormPanel = Ext.extend(Lino.FormPanel,{
cls: "l-InsertFormPanel uploads-UploadTypes",
  layout: 'fit',
  auto_save: true,
  autoHeight: true,
  content_type: 28,
  initComponent : function() {
    var name1894 = 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_de1895 = 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_fr1896 = 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_panel1897 = new Ext.Panel({ "anchor": "-20", "autoHeight": true, "autoScroll": false, "border": false, "frame": false, "hideCheckBoxLabels": true, "items": [ { "autoHeight": true, "flex": 33, "items": name1894, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 33, "items": name_de1895, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 33, "items": name_fr1896, "labelAlign": "top", "layout": "form", "xtype": "panel" } ], "labelAlign": "top", "labelWidth": 0, "layout": "hbox", "layoutConfig": { "align": "stretchmax" } });
    var upload_area1901 = 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_panel1902 = new Ext.Panel({ "autoHeight": true, "autoScroll": false, "bodyBorder": false, "border": false, "frame": true, "hideCheckBoxLabels": true, "items": [ main_1_panel1897, { "anchor": "-20", "autoHeight": true, "items": upload_area1901, "labelAlign": "top", "layout": "form", "xtype": "panel" } ], "labelAlign": "top", "labelWidth": 0, "layout": "form" });
    this.items = main_panel1902;
    this.before_row_edit = function(record) {
    }
    Lino.uploads.UploadTypes.InsertFormPanel.superclass.initComponent.call(this);
  }
});


Lino.uploads.Uploads.InsertFormPanel = Ext.extend(Lino.FormPanel,{
cls: "l-InsertFormPanel uploads-Uploads",
  layout: 'fit',
  auto_save: true,
  autoHeight: true,
  content_type: 29,
  initComponent : function() {
    var type1878 = new Lino.TwinCombo({ "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", "onTrigger2Click": function(e){ Lino.show_fk_detail(this,Lino.uploads.UploadTypes.detail,Lino.uploads.UploadTypes.insert)}, "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 description1879 = 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 file1880 = 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 volume1881 = new Lino.TwinCombo({ "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", "onTrigger2Click": function(e){ Lino.show_fk_detail(this,Lino.uploads.Volumes.detail,Lino.uploads.Volumes.insert)}, "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_file1882 = 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_panel1883 = new Ext.Panel({ "anchor": "-20", "autoHeight": true, "autoScroll": false, "border": false, "frame": false, "hideCheckBoxLabels": true, "items": [ { "autoHeight": true, "flex": 66, "items": volume1881, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 33, "items": library_file1882, "labelAlign": "top", "layout": "form", "xtype": "panel" } ], "labelAlign": "top", "labelWidth": 0, "layout": "hbox", "layoutConfig": { "align": "stretchmax" } });
    var user1886 = new Lino.TwinCombo({ "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", "onTrigger2Click": function(e){ Lino.show_fk_detail(this,Lino.users.AllUsers.detail,Lino.users.AllUsers.insert)}, "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_panel1887 = new Ext.Panel({ "autoHeight": true, "autoScroll": false, "bodyBorder": false, "border": false, "frame": true, "hideCheckBoxLabels": true, "items": [ { "anchor": "-20", "autoHeight": true, "items": type1878, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "anchor": "-20", "autoHeight": true, "items": description1879, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "anchor": "-20", "autoHeight": true, "items": file1880, "labelAlign": "top", "layout": "form", "xtype": "panel" }, main_4_panel1883, { "anchor": "-20", "autoHeight": true, "items": user1886, "labelAlign": "top", "layout": "form", "xtype": "panel" } ], "labelAlign": "top", "labelWidth": 0, "layout": "form" });
    this.items = main_panel1887;
    this.before_row_edit = function(record) {
      type1878.setContextValue('upload_area', record ? record.data['upload_areaHidden'] : undefined);
      library_file1882.setContextValue('volume', record ? record.data['volumeHidden'] : undefined);
    }
    this.onRender = function(ct, position) {
      typeof volume1881 !== 'undefined' && volume1881.on('change',Lino.chooser_handler(library_file1882,'volume'));
      Lino.uploads.Uploads.InsertFormPanel.superclass.onRender.call(this, ct, position);
    }
    Lino.uploads.Uploads.InsertFormPanel.superclass.initComponent.call(this);
  }
});


Lino.ledger.Accounts.DetailFormPanel = Ext.extend(Lino.FormPanel,{
cls: "l-DetailFormPanel ledger-Accounts",
  layout: 'fit',
  auto_save: true,
  content_type: 36,
  initComponent : function() {
    var ref1904 = 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_account1905 = 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 id1906 = 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_panel1907 = new Ext.Panel({ "autoHeight": true, "autoScroll": false, "border": false, "frame": false, "hideCheckBoxLabels": true, "items": [ { "autoHeight": true, "flex": 11, "items": ref1904, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 74, "items": common_account1905, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 14, "items": id1906, "labelAlign": "top", "layout": "form", "xtype": "panel" } ], "labelAlign": "top", "labelWidth": 0, "layout": "hbox", "layoutConfig": { "align": "stretchmax" } });
    var name1911 = 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_de1912 = 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_fr1913 = 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_panel1914 = new Ext.Panel({ "autoHeight": true, "autoScroll": false, "border": false, "frame": false, "hideCheckBoxLabels": true, "items": [ { "autoHeight": true, "flex": 33, "items": name1911, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 33, "items": name_de1912, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 33, "items": name_fr1913, "labelAlign": "top", "layout": "form", "xtype": "panel" } ], "labelAlign": "top", "labelWidth": 0, "layout": "hbox", "layoutConfig": { "align": "stretchmax" } });
    var needs_partner1918 = 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 clearable1919 = 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_amount1920 = 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_panel1921 = new Ext.Panel({ "autoHeight": true, "autoScroll": false, "border": false, "frame": false, "hideCheckBoxLabels": true, "items": [ { "autoHeight": true, "flex": 42, "items": needs_partner1918, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 42, "items": clearable1919, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 14, "items": default_amount1920, "labelAlign": "top", "layout": "form", "xtype": "panel" } ], "labelAlign": "top", "labelWidth": 0, "layout": "hbox", "layoutConfig": { "align": "stretchmax" } });
    var main_panel1926 = new Ext.Panel({ "autoScroll": false, "bodyBorder": false, "border": false, "frame": true, "hideCheckBoxLabels": true, "items": [ main_1_panel1907, main_2_panel1914, main_3_panel1921 ], "labelAlign": "top", "labelWidth": 90, "layout": "vbox", "layoutConfig": { "align": "stretch" } });
    this.items = main_panel1926;
    this.before_row_edit = function(record) {
    }
    Lino.ledger.Accounts.DetailFormPanel.superclass.initComponent.call(this);
  }
});


Lino.comments.Comments.InsertFormPanel = Ext.extend(Lino.FormPanel,{
cls: "l-InsertFormPanel comments-Comments",
  layout: 'fit',
  auto_save: true,
  content_type: 63,
  initComponent : function() {
    var reply_to1927 = new Lino.TwinCombo({ "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", "onTrigger2Click": function(e){ Lino.show_fk_detail(this,Lino.comments.Comments.detail,Lino.comments.Comments.insert)}, "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_disp1928 = new Ext.form.DisplayField({ "disabled": true, "fieldLabel": "<span style=\"border-bottom: 1px dotted #000000;\">Topic</span>", "flex": 16, "hidden": true, "name": "owner" });
    var owner_type1929 = new Lino.TwinCombo({ "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", "onTrigger2Click": function(e){ Lino.show_fk_detail(this,Lino.gfks.ContentTypes.detail,null)}, "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_id1930 = 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_panel1931 = new Ext.Panel({ "autoHeight": true, "autoScroll": false, "border": false, "frame": false, "hidden": true, "hideCheckBoxLabels": true, "items": [ reply_to1927, owner_disp1928, owner_type1929, owner_id1930 ], "labelAlign": "top", "labelWidth": 135, "layout": "hbox", "layoutConfig": { "align": "stretchmax" } });
    var body1932 = 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 private1933 = 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_panel1934 = new Ext.Panel({ "autoScroll": false, "bodyBorder": false, "border": false, "frame": true, "hideCheckBoxLabels": true, "items": [ main_1_panel1931, body1932, { "autoHeight": true, "items": private1933, "labelAlign": "top", "layout": "form", "xtype": "panel" } ], "labelAlign": "top", "labelWidth": 45, "layout": "vbox", "layoutConfig": { "align": "stretch" } });
    this.items = main_panel1934;
    this.before_row_edit = function(record) {
      owner_id1930.setContextValue('owner_type', record ? record.data['owner_typeHidden'] : undefined);
      body1932.refresh();
    }
    this.onRender = function(ct, position) {
      typeof owner_type1929 !== 'undefined' && owner_type1929.on('change',Lino.chooser_handler(owner_id1930,'owner_type'));
      Lino.comments.Comments.InsertFormPanel.superclass.onRender.call(this, ct, position);
    }
    Lino.comments.Comments.InsertFormPanel.superclass.initComponent.call(this);
  }
});


Lino.courses.EnrolmentsByPupil.InsertFormPanel = Ext.extend(Lino.FormPanel,{
cls: "l-InsertFormPanel courses-EnrolmentsByPupil",
  layout: 'fit',
  auto_save: true,
  autoHeight: true,
  content_type: 51,
  initComponent : function() {
    var course1936 = new Lino.TwinCombo({ "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", "onTrigger2Click": function(e){ Lino.show_fk_detail(this,Lino.courses.Activities.detail,Lino.courses.Activities.insert)}, "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 remark1937 = 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_date1938 = 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 user1939 = new Lino.TwinCombo({ "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", "onTrigger2Click": function(e){ Lino.show_fk_detail(this,Lino.users.AllUsers.detail,Lino.users.AllUsers.insert)}, "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_panel1940 = new Ext.Panel({ "anchor": "-20", "autoHeight": true, "autoScroll": false, "border": false, "frame": false, "hideCheckBoxLabels": true, "items": [ { "autoHeight": true, "flex": 39, "items": request_date1938, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 60, "items": user1939, "labelAlign": "top", "layout": "form", "xtype": "panel" } ], "labelAlign": "top", "labelWidth": 0, "layout": "hbox", "layoutConfig": { "align": "stretchmax" } });
    var main_panel1943 = new Ext.Panel({ "autoHeight": true, "autoScroll": false, "bodyBorder": false, "border": false, "frame": true, "hideCheckBoxLabels": true, "items": [ { "anchor": "-20", "autoHeight": true, "items": course1936, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "anchor": "-20", "autoHeight": true, "items": remark1937, "labelAlign": "top", "layout": "form", "xtype": "panel" }, main_3_panel1940 ], "labelAlign": "top", "labelWidth": 0, "layout": "form" });
    this.items = main_panel1943;
    this.before_row_edit = function(record) {
      course1936.setContextValue('course_area', record ? record.data['course_areaHidden'] : undefined);
      course1936.setContextValue('request_date', record ? record.data['request_date'] : undefined);
    }
    this.onRender = function(ct, position) {
      typeof request_date1938 !== 'undefined' && request_date1938.on('change',Lino.chooser_handler(course1936,'request_date'));
      Lino.courses.EnrolmentsByPupil.InsertFormPanel.superclass.onRender.call(this, ct, position);
    }
    Lino.courses.EnrolmentsByPupil.InsertFormPanel.superclass.initComponent.call(this);
  }
});


Lino.topics.Interests.DetailFormPanel = Ext.extend(Lino.FormPanel,{
cls: "l-DetailFormPanel topics-Interests",
  layout: 'fit',
  auto_save: true,
  content_type: 52,
  initComponent : function() {
    var partner1946 = new Lino.TwinCombo({ "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", "onTrigger2Click": function(e){ Lino.show_fk_detail(this,Lino.contacts.Partners.detail,null)}, "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 topic1947 = new Lino.TwinCombo({ "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", "onTrigger2Click": function(e){ Lino.show_fk_detail(this,Lino.topics.Topics.detail,Lino.topics.Topics.insert)}, "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_disp1948 = new Ext.form.DisplayField({ "anchor": "-20", "autoHeight": true, "disabled": true, "fieldLabel": "Controlled by", "name": "owner" });
    var main_2_panel1949 = new Ext.Panel({ "autoHeight": true, "autoScroll": false, "border": false, "frame": false, "hideCheckBoxLabels": true, "items": [ { "autoHeight": true, "flex": 66, "items": topic1947, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 33, "items": owner_disp1948, "labelAlign": "top", "layout": "form", "xtype": "panel" } ], "labelAlign": "top", "labelWidth": 0, "layout": "hbox", "layoutConfig": { "align": "stretchmax" } });
    var remark1952 = 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_panel1953 = new Ext.Panel({ "autoScroll": false, "bodyBorder": false, "border": false, "frame": true, "hideCheckBoxLabels": true, "items": [ { "autoHeight": true, "items": partner1946, "labelAlign": "top", "layout": "form", "xtype": "panel" }, main_2_panel1949, { "flex": 71, "items": remark1952, "labelAlign": "top", "layout": "form", "xtype": "panel" } ], "labelAlign": "top", "labelWidth": 0, "layout": "vbox", "layoutConfig": { "align": "stretch" } });
    this.items = main_panel1953;
    this.before_row_edit = function(record) {
    }
    Lino.topics.Interests.DetailFormPanel.superclass.initComponent.call(this);
  }
});


Lino.ledger.Accounts.InsertFormPanel = Ext.extend(Lino.FormPanel,{
cls: "l-InsertFormPanel ledger-Accounts",
  layout: 'fit',
  auto_save: true,
  autoHeight: true,
  content_type: 36,
  initComponent : function() {
    var ref1956 = 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 name1957 = 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_de1958 = 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_fr1959 = 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_panel1960 = new Ext.Panel({ "anchor": "-20", "autoHeight": true, "autoScroll": false, "border": false, "frame": false, "hideCheckBoxLabels": true, "items": [ { "autoHeight": true, "flex": 33, "items": name1957, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 33, "items": name_de1958, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 33, "items": name_fr1959, "labelAlign": "top", "layout": "form", "xtype": "panel" } ], "labelAlign": "top", "labelWidth": 0, "layout": "hbox", "layoutConfig": { "align": "stretchmax" } });
    var main_panel1964 = new Ext.Panel({ "autoHeight": true, "autoScroll": false, "bodyBorder": false, "border": false, "frame": true, "hideCheckBoxLabels": true, "items": [ { "anchor": "-20", "autoHeight": true, "items": ref1956, "labelAlign": "top", "layout": "form", "xtype": "panel" }, main_2_panel1960 ], "labelAlign": "top", "labelWidth": 0, "layout": "form" });
    this.items = main_panel1964;
    this.before_row_edit = function(record) {
    }
    Lino.ledger.Accounts.InsertFormPanel.superclass.initComponent.call(this);
  }
});


Lino.ledger.Journals.DetailFormPanel = Ext.extend(Lino.FormPanel,{
cls: "l-DetailFormPanel ledger-Journals",
  layout: 'fit',
  auto_save: true,
  content_type: 31,
  initComponent : function() {
    var name1966 = 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_de1967 = 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_fr1968 = 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 ref1969 = 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_panel1970 = new Ext.Panel({ "autoHeight": true, "autoScroll": false, "border": false, "frame": false, "hideCheckBoxLabels": true, "items": [ { "autoHeight": true, "flex": 30, "items": name1966, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 30, "items": name_de1967, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 30, "items": name_fr1968, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 7, "items": ref1969, "labelAlign": "top", "layout": "form", "xtype": "panel" } ], "labelAlign": "top", "labelWidth": 0, "layout": "hbox", "layoutConfig": { "align": "stretchmax" } });
    var journal_group1975 = 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_type1976 = 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_type1977 = 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 seqno1978 = 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 id1979 = 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_panel1980 = new Ext.Panel({ "autoHeight": true, "autoScroll": false, "border": false, "frame": false, "hideCheckBoxLabels": true, "items": [ { "autoHeight": true, "flex": 23, "items": journal_group1975, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 30, "items": voucher_type1976, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 30, "items": trade_type1977, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 7, "items": seqno1978, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 7, "items": id1979, "labelAlign": "top", "layout": "form", "xtype": "panel" } ], "labelAlign": "top", "labelWidth": 0, "layout": "hbox", "layoutConfig": { "align": "stretchmax" } });
    var account1986 = new Lino.TwinCombo({ "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", "onTrigger2Click": function(e){ Lino.show_fk_detail(this,Lino.ledger.Accounts.detail,Lino.ledger.Accounts.insert)}, "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 partner1987 = new Lino.TwinCombo({ "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", "onTrigger2Click": function(e){ Lino.show_fk_detail(this,Lino.contacts.Companies.detail,Lino.contacts.Companies.insert)}, "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_method1988 = 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 template1989 = 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_volume1990 = new Lino.TwinCombo({ "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", "onTrigger2Click": function(e){ Lino.show_fk_detail(this,Lino.uploads.Volumes.detail,Lino.uploads.Volumes.insert)}, "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_panel1991 = new Ext.Panel({ "autoHeight": true, "autoScroll": false, "border": false, "frame": false, "hideCheckBoxLabels": true, "items": [ { "autoHeight": true, "flex": 20, "items": account1986, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 20, "items": partner1987, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 20, "items": build_method1988, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 20, "items": template1989, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 20, "items": uploads_volume1990, "labelAlign": "top", "layout": "form", "xtype": "panel" } ], "labelAlign": "top", "labelWidth": 0, "layout": "hbox", "layoutConfig": { "align": "stretchmax" } });
    var dc1997 = 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_sequence1998 = 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_numbering1999 = 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_suggestions2000 = 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_clearings2001 = 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_declare2002 = 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 preliminary2003 = 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_panel2004 = new Ext.Panel({ "autoHeight": true, "autoScroll": false, "border": false, "frame": false, "hideCheckBoxLabels": true, "items": [ { "autoHeight": true, "flex": 13, "items": dc1997, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 14, "items": force_sequence1998, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 14, "items": yearly_numbering1999, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 14, "items": auto_fill_suggestions2000, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 14, "items": auto_check_clearings2001, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 14, "items": must_declare2002, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 14, "items": preliminary2003, "labelAlign": "top", "layout": "form", "xtype": "panel" } ], "labelAlign": "top", "labelWidth": 0, "layout": "hbox", "layoutConfig": { "align": "stretchmax" } });
    var printed_name2012 = 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_de2013 = 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_fr2014 = 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_panel2015 = new Ext.Panel({ "autoHeight": true, "autoScroll": false, "border": false, "frame": false, "hideCheckBoxLabels": true, "items": [ { "autoHeight": true, "flex": 33, "items": printed_name2012, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 33, "items": printed_name_de2013, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 33, "items": printed_name_fr2014, "labelAlign": "top", "layout": "form", "xtype": "panel" } ], "labelAlign": "top", "labelWidth": 0, "layout": "hbox", "layoutConfig": { "align": "stretchmax" } });
    var main_panel2024 = new Ext.Panel({ "autoScroll": false, "bodyBorder": false, "border": false, "frame": true, "hideCheckBoxLabels": true, "items": [ main_1_panel1970, main_2_panel1980, main_3_panel1991, main_4_panel2004, main_5_panel2015 ], "labelAlign": "top", "layout": "vbox", "layoutConfig": { "align": "stretch" } });
    this.items = main_panel2024;
    this.before_row_edit = function(record) {
      template1989.setContextValue('build_method', record ? record.data['build_methodHidden'] : undefined);
      template1989.setContextValue('voucher_type', record ? record.data['voucher_type'] : undefined);
    }
    this.onRender = function(ct, position) {
      typeof build_method1988 !== 'undefined' && build_method1988.on('change',Lino.chooser_handler(template1989,'build_method'));
      typeof voucher_type1976 !== 'undefined' && voucher_type1976.on('change',Lino.chooser_handler(template1989,'voucher_type'));
      Lino.ledger.Journals.DetailFormPanel.superclass.onRender.call(this, ct, position);
    }
    Lino.ledger.Journals.DetailFormPanel.superclass.initComponent.call(this);
  }
});


Lino.cal.Guests.InsertFormPanel = Ext.extend(Lino.FormPanel,{
cls: "l-InsertFormPanel cal-Guests",
  layout: 'fit',
  auto_save: true,
  autoHeight: true,
  content_type: 25,
  initComponent : function() {
    var event1444 = new Lino.TwinCombo({ "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", "onTrigger2Click": function(e){ Lino.show_fk_detail(this,Lino.cal.OneEvent.detail,Lino.cal.OneEvent.insert)}, "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 partner1445 = new Lino.TwinCombo({ "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", "onTrigger2Click": function(e){ Lino.show_fk_detail(this,Lino.contacts.Persons.detail,Lino.contacts.Persons.insert)}, "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 role1446 = new Lino.TwinCombo({ "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", "onTrigger2Click": function(e){ Lino.show_fk_detail(this,Lino.cal.GuestRoles.detail,null)}, "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_panel1447 = new Ext.Panel({ "autoHeight": true, "autoScroll": false, "bodyBorder": false, "border": false, "frame": true, "hideCheckBoxLabels": true, "items": [ { "anchor": "-20", "autoHeight": true, "items": event1444, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "anchor": "-20", "autoHeight": true, "items": partner1445, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "anchor": "-20", "autoHeight": true, "items": role1446, "labelAlign": "top", "layout": "form", "xtype": "panel" } ], "labelAlign": "top", "labelWidth": 0, "layout": "form" });
    this.items = main_panel1447;
    this.before_row_edit = function(record) {
    }
    Lino.cal.Guests.InsertFormPanel.superclass.initComponent.call(this);
  }
});


Lino.tinymce.TextFieldTemplates.InsertFormPanel = Ext.extend(Lino.FormPanel,{
cls: "l-InsertFormPanel tinymce-TextFieldTemplates",
  layout: 'fit',
  auto_save: true,
  autoHeight: true,
  content_type: 61,
  initComponent : function() {
    var name2025 = 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 user2026 = new Lino.TwinCombo({ "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", "onTrigger2Click": function(e){ Lino.show_fk_detail(this,Lino.users.AllUsers.detail,Lino.users.AllUsers.insert)}, "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_panel2027 = new Ext.Panel({ "autoHeight": true, "autoScroll": false, "bodyBorder": false, "border": false, "frame": true, "hideCheckBoxLabels": true, "items": [ { "anchor": "-20", "autoHeight": true, "items": name2025, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "anchor": "-20", "autoHeight": true, "items": user2026, "labelAlign": "top", "layout": "form", "xtype": "panel" } ], "labelAlign": "top", "labelWidth": 0, "layout": "form" });
    this.items = main_panel2027;
    this.before_row_edit = function(record) {
    }
    Lino.tinymce.TextFieldTemplates.InsertFormPanel.superclass.initComponent.call(this);
  }
});


Lino.courses.EnrolmentsByCourse.InsertFormPanel = Ext.extend(Lino.FormPanel,{
cls: "l-InsertFormPanel courses-EnrolmentsByCourse",
  layout: 'fit',
  auto_save: true,
  autoHeight: true,
  content_type: 51,
  initComponent : function() {
    var pupil2030 = new Lino.TwinCombo({ "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", "onTrigger2Click": function(e){ Lino.show_fk_detail(this,Lino.contacts.Persons.detail,Lino.contacts.Persons.insert)}, "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 remark2031 = 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_date2032 = 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 user2033 = new Lino.TwinCombo({ "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", "onTrigger2Click": function(e){ Lino.show_fk_detail(this,Lino.users.AllUsers.detail,Lino.users.AllUsers.insert)}, "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_panel2034 = new Ext.Panel({ "anchor": "-20", "autoHeight": true, "autoScroll": false, "border": false, "frame": false, "hideCheckBoxLabels": true, "items": [ { "autoHeight": true, "flex": 39, "items": request_date2032, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 60, "items": user2033, "labelAlign": "top", "layout": "form", "xtype": "panel" } ], "labelAlign": "top", "labelWidth": 0, "layout": "hbox", "layoutConfig": { "align": "stretchmax" } });
    var main_panel2037 = new Ext.Panel({ "autoHeight": true, "autoScroll": false, "bodyBorder": false, "border": false, "frame": true, "hideCheckBoxLabels": true, "items": [ { "anchor": "-20", "autoHeight": true, "items": pupil2030, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "anchor": "-20", "autoHeight": true, "items": remark2031, "labelAlign": "top", "layout": "form", "xtype": "panel" }, main_3_panel2034 ], "labelAlign": "top", "labelWidth": 0, "layout": "form" });
    this.items = main_panel2037;
    this.before_row_edit = function(record) {
      var bp = this.get_base_params();
      pupil2030.setContextValue('mk',bp['mk']);
      pupil2030.setContextValue('mt',bp['mt']);
    }
    Lino.courses.EnrolmentsByCourse.InsertFormPanel.superclass.initComponent.call(this);
  }
});


Lino.cal.EventTypes.InsertFormPanel = Ext.extend(Lino.FormPanel,{
cls: "l-InsertFormPanel cal-EventTypes",
  layout: 'fit',
  auto_save: true,
  autoHeight: true,
  content_type: 17,
  initComponent : function() {
    var name2040 = 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_de2041 = 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_fr2042 = 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 ref2043 = 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_panel2044 = new Ext.Panel({ "anchor": "-20", "autoHeight": true, "autoScroll": false, "border": false, "frame": false, "hideCheckBoxLabels": true, "items": [ { "autoHeight": true, "flex": 31, "items": name2040, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 31, "items": name_de2041, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 31, "items": name_fr2042, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 5, "items": ref2043, "labelAlign": "top", "layout": "form", "xtype": "panel" } ], "labelAlign": "top", "labelWidth": 0, "layout": "hbox", "layoutConfig": { "align": "stretchmax" } });
    var event_label2049 = 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_de2050 = 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_fr2051 = 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_panel2052 = new Ext.Panel({ "anchor": "-20", "autoHeight": true, "autoScroll": false, "border": false, "frame": false, "hideCheckBoxLabels": true, "items": [ { "autoHeight": true, "flex": 33, "items": event_label2049, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 33, "items": event_label_de2050, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 33, "items": event_label_fr2051, "labelAlign": "top", "layout": "form", "xtype": "panel" } ], "labelAlign": "top", "labelWidth": 0, "layout": "hbox", "layoutConfig": { "align": "stretchmax" } });
    var main_panel2056 = new Ext.Panel({ "autoHeight": true, "autoScroll": false, "bodyBorder": false, "border": false, "frame": true, "hideCheckBoxLabels": true, "items": [ main_1_panel2044, main_2_panel2052 ], "labelAlign": "top", "layout": "form" });
    this.items = main_panel2056;
    this.before_row_edit = function(record) {
    }
    Lino.cal.EventTypes.InsertFormPanel.superclass.initComponent.call(this);
  }
});


Lino.checkdata.Checkers.DetailFormPanel = Ext.extend(Lino.FormPanel,{
cls: "l-DetailFormPanel checkdata-Checkers",
  layout: 'fit',
  auto_save: true,
  disable_editing: true,
  initComponent : function() {
    var value2057 = 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 text2058 = 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_panel2059 = new Ext.Panel({ "autoHeight": true, "autoScroll": false, "border": false, "frame": false, "hideCheckBoxLabels": true, "items": [ { "autoHeight": true, "flex": 50, "items": value2057, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 50, "items": text2058, "labelAlign": "top", "layout": "form", "xtype": "panel" } ], "labelAlign": "top", "labelWidth": 0, "layout": "hbox", "layoutConfig": { "align": "stretchmax" } });
    var main_panel2083 = new Ext.Panel({ "autoScroll": false, "bodyBorder": false, "border": false, "frame": true, "hideCheckBoxLabels": true, "items": [ main_1_panel2059 ], "labelAlign": "top", "layout": "vbox", "layoutConfig": { "align": "stretch" } });
    this.items = main_panel2083;
    this.before_row_edit = function(record) {
    }
    Lino.checkdata.Checkers.DetailFormPanel.superclass.initComponent.call(this);
  }
});


Lino.ledger.PaymentTerms.DetailFormPanel = Ext.extend(Lino.FormPanel,{
cls: "l-DetailFormPanel ledger-PaymentTerms",
  layout: 'fit',
  auto_save: true,
  content_type: 34,
  initComponent : function() {
    var ref2084 = 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 months2085 = 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 days2086 = 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_month2087 = 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_panel2088 = new Ext.Panel({ "autoHeight": true, "autoScroll": false, "border": false, "frame": false, "hideCheckBoxLabels": true, "items": [ { "autoHeight": true, "flex": 20, "items": ref2084, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 20, "items": months2085, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 20, "items": days2086, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 40, "items": end_of_month2087, "labelAlign": "top", "layout": "form", "xtype": "panel" } ], "labelAlign": "top", "labelWidth": 0, "layout": "hbox", "layoutConfig": { "align": "stretchmax" } });
    var name2093 = 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_de2094 = 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_fr2095 = 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_panel2096 = new Ext.Panel({ "autoHeight": true, "autoScroll": false, "border": false, "frame": false, "hideCheckBoxLabels": true, "items": [ { "autoHeight": true, "flex": 33, "items": name2093, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 33, "items": name_de2094, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 33, "items": name_fr2095, "labelAlign": "top", "layout": "form", "xtype": "panel" } ], "labelAlign": "top", "labelWidth": 0, "layout": "hbox", "layoutConfig": { "align": "stretchmax" } });
    var printed_text2100 = 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_de2101 = 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_fr2102 = 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_panel2103 = new Ext.Panel({ "autoScroll": false, "border": false, "flex": 71, "frame": false, "hideCheckBoxLabels": true, "items": [ { "flex": 33, "items": printed_text2100, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "flex": 33, "items": printed_text_de2101, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "flex": 33, "items": printed_text_fr2102, "labelAlign": "top", "layout": "form", "xtype": "panel" } ], "labelAlign": "top", "labelWidth": 0, "layout": "hbox", "layoutConfig": { "align": "stretch" } });
    var main_panel2107 = new Ext.Panel({ "autoScroll": false, "bodyBorder": false, "border": false, "frame": true, "hideCheckBoxLabels": true, "items": [ main_1_panel2088, main_2_panel2096, main_3_panel2103 ], "labelAlign": "top", "layout": "vbox", "layoutConfig": { "align": "stretch" } });
    this.items = main_panel2107;
    this.before_row_edit = function(record) {
    }
    Lino.ledger.PaymentTerms.DetailFormPanel.superclass.initComponent.call(this);
  }
});


Lino.comments.CommentsByRFC.InsertFormPanel = Ext.extend(Lino.FormPanel,{
cls: "l-InsertFormPanel comments-CommentsByRFC",
  layout: 'fit',
  auto_save: true,
  content_type: 63,
  initComponent : function() {
    var reply_to2108 = new Lino.TwinCombo({ "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", "onTrigger2Click": function(e){ Lino.show_fk_detail(this,Lino.comments.Comments.detail,Lino.comments.Comments.insert)}, "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 body2109 = 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 private2110 = 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_panel2111 = new Ext.Panel({ "autoScroll": false, "bodyBorder": false, "border": false, "frame": true, "hideCheckBoxLabels": true, "items": [ reply_to2108, body2109, { "autoHeight": true, "items": private2110, "labelAlign": "top", "layout": "form", "xtype": "panel" } ], "labelAlign": "top", "labelWidth": 81, "layout": "vbox", "layoutConfig": { "align": "stretch" } });
    this.items = main_panel2111;
    this.before_row_edit = function(record) {
      body2109.refresh();
    }
    Lino.comments.CommentsByRFC.InsertFormPanel.superclass.initComponent.call(this);
  }
});


Lino.humanlinks.Links.InsertFormPanel = Ext.extend(Lino.FormPanel,{
cls: "l-InsertFormPanel humanlinks-Links",
  layout: 'fit',
  auto_save: true,
  autoHeight: true,
  content_type: 46,
  initComponent : function() {
    var parent2113 = new Lino.TwinCombo({ "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", "onTrigger2Click": function(e){ Lino.show_fk_detail(this,Lino.contacts.Persons.detail,Lino.contacts.Persons.insert)}, "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 type2114 = 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 child2115 = new Lino.TwinCombo({ "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", "onTrigger2Click": function(e){ Lino.show_fk_detail(this,Lino.contacts.Persons.detail,Lino.contacts.Persons.insert)}, "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_panel2116 = new Ext.Panel({ "autoHeight": true, "autoScroll": false, "bodyBorder": false, "border": false, "frame": true, "hideCheckBoxLabels": true, "items": [ { "anchor": "-20", "autoHeight": true, "items": parent2113, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "anchor": "-20", "autoHeight": true, "items": type2114, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "anchor": "-20", "autoHeight": true, "items": child2115, "labelAlign": "top", "layout": "form", "xtype": "panel" } ], "labelAlign": "top", "labelWidth": 0, "layout": "form" });
    this.items = main_panel2116;
    this.before_row_edit = function(record) {
    }
    Lino.humanlinks.Links.InsertFormPanel.superclass.initComponent.call(this);
  }
});


Lino.topics.Topics.DetailFormPanel = Ext.extend(Lino.FormPanel,{
cls: "l-DetailFormPanel topics-Topics",
  layout: 'fit',
  auto_save: true,
  content_type: 53,
  initComponent : function() {
    var id2120 = 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 ref2121 = 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 name2122 = 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_de2123 = 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_fr2124 = 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_panel2125 = new Ext.Panel({ "autoHeight": true, "autoScroll": false, "border": false, "frame": false, "hideCheckBoxLabels": true, "items": [ { "autoHeight": true, "flex": 6, "items": id2120, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 6, "items": ref2121, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 28, "items": name2122, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 28, "items": name_de2123, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 28, "items": name_fr2124, "labelAlign": "top", "layout": "form", "xtype": "panel" } ], "labelAlign": "top", "labelWidth": 0, "layout": "hbox", "layoutConfig": { "align": "stretchmax" }, "region": "north", "split": true });
    var description_text2131 = 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_de2132 = 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_fr2133 = 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_panel2134 = new Ext.Panel({ "autoScroll": false, "border": false, "flex": 5, "frame": false, "hideCheckBoxLabels": true, "items": [ description_text2131, description_text_de2132, description_text_fr2133 ], "labelAlign": "top", "labelWidth": 198, "layout": "hbox", "layoutConfig": { "align": "stretch" }, "region": "center", "split": true });
    var main_panel2144 = new Lino.VBorderPanel({ "autoScroll": false, "bodyBorder": false, "border": false, "frame": true, "hideCheckBoxLabels": true, "items": [ main_1_panel2125, main_2_panel2134 ], "labelAlign": "top" });
    this.items = main_panel2144;
    this.before_row_edit = function(record) {
      description_text2131.refresh();
      description_text_de2132.refresh();
      description_text_fr2133.refresh();
    }
    Lino.topics.Topics.DetailFormPanel.superclass.initComponent.call(this);
  }
});


Lino.topics.Topics.InsertFormPanel = Ext.extend(Lino.FormPanel,{
cls: "l-InsertFormPanel topics-Topics",
  layout: 'fit',
  auto_save: true,
  autoHeight: true,
  content_type: 53,
  initComponent : function() {
    var ref2145 = 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 name2146 = 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_de2147 = 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_fr2148 = 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_panel2149 = new Ext.Panel({ "anchor": "-20", "autoHeight": true, "autoScroll": false, "border": false, "frame": false, "hideCheckBoxLabels": true, "items": [ { "autoHeight": true, "flex": 33, "items": name2146, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 33, "items": name_de2147, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 33, "items": name_fr2148, "labelAlign": "top", "layout": "form", "xtype": "panel" } ], "labelAlign": "top", "labelWidth": 0, "layout": "hbox", "layoutConfig": { "align": "stretchmax" } });
    var main_panel2153 = new Ext.Panel({ "autoHeight": true, "autoScroll": false, "bodyBorder": false, "border": false, "frame": true, "hideCheckBoxLabels": true, "items": [ { "anchor": "-20", "autoHeight": true, "items": ref2145, "labelAlign": "top", "layout": "form", "xtype": "panel" }, main_2_panel2149 ], "labelAlign": "top", "labelWidth": 0, "layout": "form" });
    this.items = main_panel2153;
    this.before_row_edit = function(record) {
    }
    Lino.topics.Topics.InsertFormPanel.superclass.initComponent.call(this);
  }
});


Lino.topics.InterestsByPartner.InsertFormPanel = Ext.extend(Lino.FormPanel,{
cls: "l-InsertFormPanel topics-InterestsByPartner",
  layout: 'fit',
  auto_save: true,
  content_type: 52,
  initComponent : function() {
    var topic2155 = new Lino.TwinCombo({ "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", "onTrigger2Click": function(e){ Lino.show_fk_detail(this,Lino.topics.Topics.detail,Lino.topics.Topics.insert)}, "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 remark2156 = 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_panel2157 = new Ext.Panel({ "autoScroll": false, "bodyBorder": false, "border": false, "frame": true, "hideCheckBoxLabels": true, "items": [ { "autoHeight": true, "items": topic2155, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "flex": 83, "items": remark2156, "labelAlign": "top", "layout": "form", "xtype": "panel" } ], "labelAlign": "top", "labelWidth": 0, "layout": "vbox", "layoutConfig": { "align": "stretch" } });
    this.items = main_panel2157;
    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,
  autoHeight: true,
  content_type: 56,
  initComponent : function() {
    var list2160 = new Lino.TwinCombo({ "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", "onTrigger2Click": function(e){ Lino.show_fk_detail(this,Lino.lists.Lists.detail,Lino.lists.Lists.insert)}, "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 remark2161 = 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_panel2162 = new Ext.Panel({ "autoHeight": true, "autoScroll": false, "bodyBorder": false, "border": false, "frame": true, "hideCheckBoxLabels": true, "items": [ { "anchor": "-20", "autoHeight": true, "items": list2160, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "anchor": "-20", "autoHeight": true, "items": remark2161, "labelAlign": "top", "layout": "form", "xtype": "panel" } ], "labelAlign": "top", "labelWidth": 0, "layout": "form" });
    this.items = main_panel2162;
    this.before_row_edit = function(record) {
    }
    Lino.lists.MembersByPartner.InsertFormPanel.superclass.initComponent.call(this);
  }
});


Lino.blogs.EntryTypes.DetailFormPanel = Ext.extend(Lino.FormPanel,{
cls: "l-DetailFormPanel blogs-EntryTypes",
  layout: 'fit',
  auto_save: true,
  content_type: 57,
  initComponent : function() {
    var id2165 = 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 name2166 = 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_de2167 = 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_fr2168 = 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_panel2169 = new Ext.Panel({ "autoHeight": true, "autoScroll": false, "border": false, "frame": false, "hideCheckBoxLabels": true, "items": [ { "autoHeight": true, "flex": 7, "items": id2165, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 30, "items": name2166, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 30, "items": name_de2167, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 30, "items": name_fr2168, "labelAlign": "top", "layout": "form", "xtype": "panel" } ], "labelAlign": "top", "labelWidth": 0, "layout": "hbox", "layoutConfig": { "align": "stretchmax" }, "region": "north", "split": true });
    var remark2174 = new Lino.RichTextPanel({ "allowBlank": true, "containing_panel": this, "fieldLabel": "Remark", "flex": 5, "name": "remark", "region": "center", "selectOnFocus": true, "split": true, "title": "Remark" });
    var main_panel2219 = new Lino.VBorderPanel({ "autoScroll": false, "bodyBorder": false, "border": false, "frame": true, "hideCheckBoxLabels": true, "items": [ main_1_panel2169, remark2174 ], "labelAlign": "top", "labelWidth": 63 });
    this.items = main_panel2219;
    this.before_row_edit = function(record) {
      remark2174.refresh();
    }
    Lino.blogs.EntryTypes.DetailFormPanel.superclass.initComponent.call(this);
  }
});


Lino.blogs.Entries.InsertFormPanel = Ext.extend(Lino.FormPanel,{
cls: "l-InsertFormPanel blogs-Entries",
  layout: 'fit',
  auto_save: true,
  autoHeight: true,
  content_type: 58,
  initComponent : function() {
    var title2213 = 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_type2214 = new Lino.TwinCombo({ "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", "onTrigger2Click": function(e){ Lino.show_fk_detail(this,Lino.blogs.EntryTypes.detail,null)}, "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_panel2215 = new Ext.Panel({ "autoHeight": true, "autoScroll": false, "bodyBorder": false, "border": false, "frame": true, "hideCheckBoxLabels": true, "items": [ { "anchor": "-20", "autoHeight": true, "items": title2213, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "anchor": "-20", "autoHeight": true, "items": entry_type2214, "labelAlign": "top", "layout": "form", "xtype": "panel" } ], "labelAlign": "top", "labelWidth": 0, "layout": "form" });
    this.items = main_panel2215;
    this.before_row_edit = function(record) {
    }
    Lino.blogs.Entries.InsertFormPanel.superclass.initComponent.call(this);
  }
});


Lino.cal.EntriesByGuest.InsertFormPanel = Ext.extend(Lino.FormPanel,{
cls: "l-InsertFormPanel cal-EntriesByGuest",
  layout: 'fit',
  auto_save: true,
  autoHeight: true,
  content_type: 24,
  initComponent : function() {
    var start_date2220 = 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 entry.  May not be empty.") }, "name": "start_date", "selectOnFocus": true });
    var start_time2221 = 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 a\nall-day entry.") }, "maxValue": "9:00 PM", "minValue": "7:00", "name": "start_time", "selectOnFocus": true });
    var end_time2222 = 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 date\nis given, the entry ends the day after.") }, "maxValue": "9:00 PM", "minValue": "7:00", "name": "end_time", "selectOnFocus": true });
    var main_1_panel2223 = new Ext.Panel({ "anchor": "-20", "autoHeight": true, "autoScroll": false, "border": false, "frame": false, "hideCheckBoxLabels": true, "items": [ { "autoHeight": true, "flex": 44, "items": start_date2220, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 27, "items": start_time2221, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 27, "items": end_time2222, "labelAlign": "top", "layout": "form", "xtype": "panel" } ], "labelAlign": "top", "labelWidth": 0, "layout": "hbox", "layoutConfig": { "align": "stretchmax" } });
    var summary2227 = 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_type2228 = new Lino.TwinCombo({ "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", "onTrigger2Click": function(e){ Lino.show_fk_detail(this,Lino.cal.EventTypes.detail,Lino.cal.EventTypes.insert)}, "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_panel2229 = new Ext.Panel({ "autoHeight": true, "autoScroll": false, "bodyBorder": false, "border": false, "frame": true, "hideCheckBoxLabels": true, "items": [ main_1_panel2223, { "anchor": "-20", "autoHeight": true, "items": summary2227, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "anchor": "-20", "autoHeight": true, "items": event_type2228, "labelAlign": "top", "layout": "form", "xtype": "panel" } ], "labelAlign": "top", "labelWidth": 0, "layout": "form" });
    this.items = main_panel2229;
    this.before_row_edit = function(record) {
    }
    Lino.cal.EntriesByGuest.InsertFormPanel.superclass.initComponent.call(this);
  }
});


Lino.lists.Lists.InsertFormPanel = Ext.extend(Lino.FormPanel,{
cls: "l-InsertFormPanel lists-Lists",
  layout: 'fit',
  auto_save: true,
  content_type: 55,
  initComponent : function() {
    var ref2232 = 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_type2233 = 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_panel2234 = new Ext.Panel({ "autoHeight": true, "autoScroll": false, "border": false, "frame": false, "hideCheckBoxLabels": true, "items": [ { "autoHeight": true, "flex": 66, "items": ref2232, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 33, "items": list_type2233, "labelAlign": "top", "layout": "form", "xtype": "panel" } ], "labelAlign": "top", "labelWidth": 0, "layout": "hbox", "layoutConfig": { "align": "stretchmax" } });
    var designation2237 = 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_de2238 = 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_fr2239 = 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_panel2240 = new Ext.Panel({ "autoHeight": true, "autoScroll": false, "border": false, "frame": false, "hideCheckBoxLabels": true, "items": [ { "autoHeight": true, "flex": 33, "items": designation2237, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 33, "items": designation_de2238, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 33, "items": designation_fr2239, "labelAlign": "top", "layout": "form", "xtype": "panel" } ], "labelAlign": "top", "labelWidth": 0, "layout": "hbox", "layoutConfig": { "align": "stretchmax" } });
    var remarks2244 = new Lino.RichTextPanel({ "allowBlank": true, "containing_panel": this, "fieldLabel": "Remarks", "flex": 71, "name": "remarks", "selectOnFocus": true, "title": "Remarks" });
    var main_panel2245 = new Ext.Panel({ "autoScroll": false, "bodyBorder": false, "border": false, "frame": true, "hideCheckBoxLabels": true, "items": [ main_1_panel2234, main_2_panel2240, remarks2244 ], "labelAlign": "top", "labelWidth": 72, "layout": "vbox", "layoutConfig": { "align": "stretch" } });
    this.items = main_panel2245;
    this.before_row_edit = function(record) {
      remarks2244.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,
  content_type: 52,
  initComponent : function() {
    var topic2246 = new Lino.TwinCombo({ "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", "onTrigger2Click": function(e){ Lino.show_fk_detail(this,Lino.topics.Topics.detail,Lino.topics.Topics.insert)}, "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 partner2247 = new Lino.TwinCombo({ "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", "onTrigger2Click": function(e){ Lino.show_fk_detail(this,Lino.contacts.Partners.detail,null)}, "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_panel2248 = new Ext.Panel({ "autoHeight": true, "autoScroll": false, "border": false, "frame": false, "hideCheckBoxLabels": true, "items": [ { "autoHeight": true, "flex": 50, "items": topic2246, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 50, "items": partner2247, "labelAlign": "top", "layout": "form", "xtype": "panel" } ], "labelAlign": "top", "labelWidth": 0, "layout": "hbox", "layoutConfig": { "align": "stretchmax" } });
    var remark2251 = 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_panel2252 = new Ext.Panel({ "autoScroll": false, "bodyBorder": false, "border": false, "frame": true, "hideCheckBoxLabels": true, "items": [ main_1_panel2248, { "flex": 83, "items": remark2251, "labelAlign": "top", "layout": "form", "xtype": "panel" } ], "labelAlign": "top", "labelWidth": 0, "layout": "vbox", "layoutConfig": { "align": "stretch" } });
    this.items = main_panel2252;
    this.before_row_edit = function(record) {
    }
    Lino.topics.InterestsByController.InsertFormPanel.superclass.initComponent.call(this);
  }
});


Lino.excerpts.ExcerptTypes.DetailFormPanel = Ext.extend(Lino.FormPanel,{
cls: "l-DetailFormPanel excerpts-ExcerptTypes",
  layout: 'fit',
  auto_save: true,
  content_type: 59,
  initComponent : function() {
    var id2254 = 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 name2255 = 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_de2256 = 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_fr2257 = 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_panel2258 = new Ext.Panel({ "autoHeight": true, "autoScroll": false, "border": false, "frame": false, "hideCheckBoxLabels": true, "items": [ { "autoHeight": true, "flex": 7, "items": id2254, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 30, "items": name2255, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 30, "items": name_de2256, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 30, "items": name_fr2257, "labelAlign": "top", "layout": "form", "xtype": "panel" } ], "labelAlign": "top", "labelWidth": 0, "layout": "hbox", "layoutConfig": { "align": "stretchmax" } });
    var content_type2263 = new Lino.TwinCombo({ "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", "onTrigger2Click": function(e){ Lino.show_fk_detail(this,Lino.gfks.ContentTypes.detail,null)}, "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_method2264 = 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 template2265 = 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_template2266 = 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_template2267 = 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 shortcut2268 = 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_panel2269 = new Ext.Panel({ "autoHeight": true, "autoScroll": false, "border": false, "frame": false, "hideCheckBoxLabels": true, "items": [ { "autoHeight": true, "flex": 15, "items": content_type2263, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 15, "items": build_method2264, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 15, "items": template2265, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 15, "items": body_template2266, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 15, "items": email_template2267, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 21, "items": shortcut2268, "labelAlign": "top", "layout": "form", "xtype": "panel" } ], "labelAlign": "top", "labelWidth": 0, "layout": "hbox", "layoutConfig": { "align": "stretchmax" } });
    var primary2276 = 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_directly2277 = 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 certifying2278 = 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_recipient2279 = 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_compat2280 = 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_email2281 = 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_panel2282 = new Ext.Panel({ "autoHeight": true, "autoScroll": false, "border": false, "frame": false, "hideCheckBoxLabels": true, "items": [ { "autoHeight": true, "flex": 16, "items": primary2276, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 16, "items": print_directly2277, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 16, "items": certifying2278, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 16, "items": print_recipient2279, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 16, "items": backward_compat2280, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 16, "items": attach_to_email2281, "labelAlign": "top", "layout": "form", "xtype": "panel" } ], "labelAlign": "top", "labelWidth": 0, "layout": "hbox", "layoutConfig": { "align": "stretchmax" } });
    var main_panel2311 = new Ext.Panel({ "autoScroll": false, "bodyBorder": false, "border": false, "frame": true, "hideCheckBoxLabels": true, "items": [ main_1_panel2258, main_2_panel2269, main_3_panel2282 ], "labelAlign": "top", "layout": "vbox", "layoutConfig": { "align": "stretch" } });
    this.items = main_panel2311;
    this.before_row_edit = function(record) {
      template2265.setContextValue('build_method', record ? record.data['build_methodHidden'] : undefined);
      template2265.setContextValue('content_type', record ? record.data['content_typeHidden'] : undefined);
      body_template2266.setContextValue('content_type', record ? record.data['content_typeHidden'] : undefined);
      email_template2267.setContextValue('content_type', record ? record.data['content_typeHidden'] : undefined);
    }
    this.onRender = function(ct, position) {
      typeof build_method2264 !== 'undefined' && build_method2264.on('change',Lino.chooser_handler(template2265,'build_method'));
      typeof content_type2263 !== 'undefined' && content_type2263.on('change',Lino.chooser_handler(template2265,'content_type'));
      typeof content_type2263 !== 'undefined' && content_type2263.on('change',Lino.chooser_handler(body_template2266,'content_type'));
      typeof content_type2263 !== 'undefined' && content_type2263.on('change',Lino.chooser_handler(email_template2267,'content_type'));
      Lino.excerpts.ExcerptTypes.DetailFormPanel.superclass.onRender.call(this, ct, position);
    }
    Lino.excerpts.ExcerptTypes.DetailFormPanel.superclass.initComponent.call(this);
  }
});


Lino.excerpts.ExcerptTypes.InsertFormPanel = Ext.extend(Lino.FormPanel,{
cls: "l-InsertFormPanel excerpts-ExcerptTypes",
  layout: 'fit',
  auto_save: true,
  autoHeight: true,
  content_type: 59,
  initComponent : function() {
    var name2312 = 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_de2313 = 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_fr2314 = 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_panel2315 = new Ext.Panel({ "anchor": "-20", "autoHeight": true, "autoScroll": false, "border": false, "frame": false, "hideCheckBoxLabels": true, "items": [ { "autoHeight": true, "flex": 33, "items": name2312, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 33, "items": name_de2313, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 33, "items": name_fr2314, "labelAlign": "top", "layout": "form", "xtype": "panel" } ], "labelAlign": "top", "labelWidth": 0, "layout": "hbox", "layoutConfig": { "align": "stretchmax" } });
    var content_type2319 = new Lino.TwinCombo({ "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", "onTrigger2Click": function(e){ Lino.show_fk_detail(this,Lino.gfks.ContentTypes.detail,null)}, "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 primary2320 = 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 certifying2321 = 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_panel2322 = new Ext.Panel({ "anchor": "-20", "autoHeight": true, "autoScroll": false, "border": false, "frame": false, "hideCheckBoxLabels": true, "items": [ { "autoHeight": true, "flex": 50, "items": content_type2319, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 25, "items": primary2320, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 25, "items": certifying2321, "labelAlign": "top", "layout": "form", "xtype": "panel" } ], "labelAlign": "top", "labelWidth": 0, "layout": "hbox", "layoutConfig": { "align": "stretchmax" } });
    var build_method2326 = 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 template2327 = 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_template2328 = 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_panel2329 = new Ext.Panel({ "anchor": "-20", "autoHeight": true, "autoScroll": false, "border": false, "frame": false, "hideCheckBoxLabels": true, "items": [ { "autoHeight": true, "flex": 53, "items": build_method2326, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 23, "items": template2327, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 23, "items": body_template2328, "labelAlign": "top", "layout": "form", "xtype": "panel" } ], "labelAlign": "top", "labelWidth": 0, "layout": "hbox", "layoutConfig": { "align": "stretchmax" } });
    var main_panel2333 = new Ext.Panel({ "autoHeight": true, "autoScroll": false, "bodyBorder": false, "border": false, "frame": true, "hideCheckBoxLabels": true, "items": [ main_1_panel2315, main_2_panel2322, main_3_panel2329 ], "labelAlign": "top", "layout": "form" });
    this.items = main_panel2333;
    this.before_row_edit = function(record) {
      template2327.setContextValue('build_method', record ? record.data['build_methodHidden'] : undefined);
      template2327.setContextValue('content_type', record ? record.data['content_typeHidden'] : undefined);
      body_template2328.setContextValue('content_type', record ? record.data['content_typeHidden'] : undefined);
    }
    this.onRender = function(ct, position) {
      typeof build_method2326 !== 'undefined' && build_method2326.on('change',Lino.chooser_handler(template2327,'build_method'));
      typeof content_type2319 !== 'undefined' && content_type2319.on('change',Lino.chooser_handler(template2327,'content_type'));
      typeof content_type2319 !== 'undefined' && content_type2319.on('change',Lino.chooser_handler(body_template2328,'content_type'));
      Lino.excerpts.ExcerptTypes.InsertFormPanel.superclass.onRender.call(this, ct, position);
    }
    Lino.excerpts.ExcerptTypes.InsertFormPanel.superclass.initComponent.call(this);
  }
});


Lino.sepa.AccountsByPartner.InsertFormPanel = Ext.extend(Lino.FormPanel,{
cls: "l-InsertFormPanel sepa-AccountsByPartner",
  layout: 'fit',
  auto_save: true,
  autoHeight: true,
  content_type: 40,
  initComponent : function() {
    var iban655 = 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 bic656 = 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_panel657 = new Ext.Panel({ "anchor": "-20", "autoHeight": true, "autoScroll": false, "border": false, "frame": false, "hideCheckBoxLabels": true, "items": [ { "autoHeight": true, "flex": 63, "items": iban655, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 36, "items": bic656, "labelAlign": "top", "layout": "form", "xtype": "panel" } ], "labelAlign": "top", "labelWidth": 0, "layout": "hbox", "layoutConfig": { "align": "stretchmax" } });
    var remark660 = 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_panel661 = new Ext.Panel({ "autoHeight": true, "autoScroll": false, "bodyBorder": false, "border": false, "frame": true, "hideCheckBoxLabels": true, "items": [ main_1_panel657, { "anchor": "-20", "autoHeight": true, "items": remark660, "labelAlign": "top", "layout": "form", "xtype": "panel" } ], "labelAlign": "top", "labelWidth": 0, "layout": "form" });
    this.items = main_panel661;
    this.before_row_edit = function(record) {
    }
    Lino.sepa.AccountsByPartner.InsertFormPanel.superclass.initComponent.call(this);
  }
});


Lino.addresses.Addresses.InsertFormPanel = Ext.extend(Lino.FormPanel,{
cls: "l-InsertFormPanel addresses-Addresses",
  layout: 'fit',
  auto_save: true,
  autoHeight: true,
  content_type: 41,
  initComponent : function() {
    var country1178 = new Lino.TwinCombo({ "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", "onTrigger2Click": function(e){ Lino.show_fk_detail(this,Lino.countries.Countries.detail,Lino.countries.Countries.insert)}, "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 city1179 = new Lino.TwinCombo({ "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", "onTrigger2Click": function(e){ Lino.show_fk_detail(this,Lino.countries.Places.detail,Lino.countries.Places.insert)}, "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_panel1180 = new Ext.Panel({ "anchor": "-20", "autoHeight": true, "autoScroll": false, "border": false, "frame": false, "hideCheckBoxLabels": true, "items": [ { "autoHeight": true, "flex": 50, "items": country1178, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 50, "items": city1179, "labelAlign": "top", "layout": "form", "xtype": "panel" } ], "labelAlign": "top", "labelWidth": 0, "layout": "hbox", "layoutConfig": { "align": "stretchmax" } });
    var street1183 = 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_no1184 = 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_box1185 = 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_panel1186 = new Ext.Panel({ "anchor": "-20", "autoHeight": true, "autoScroll": false, "border": false, "frame": false, "hideCheckBoxLabels": true, "items": [ { "autoHeight": true, "flex": 48, "items": street1183, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 25, "items": street_no1184, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 25, "items": street_box1185, "labelAlign": "top", "layout": "form", "xtype": "panel" } ], "labelAlign": "top", "labelWidth": 0, "layout": "hbox", "layoutConfig": { "align": "stretchmax" } });
    var address_type1190 = 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 remark1191 = 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_panel1192 = new Ext.Panel({ "anchor": "-20", "autoHeight": true, "autoScroll": false, "border": false, "frame": false, "hideCheckBoxLabels": true, "items": [ { "autoHeight": true, "flex": 50, "items": address_type1190, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 50, "items": remark1191, "labelAlign": "top", "layout": "form", "xtype": "panel" } ], "labelAlign": "top", "labelWidth": 0, "layout": "hbox", "layoutConfig": { "align": "stretchmax" } });
    var main_panel1195 = new Ext.Panel({ "autoHeight": true, "autoScroll": false, "bodyBorder": false, "border": false, "frame": true, "hideCheckBoxLabels": true, "items": [ main_1_panel1180, main_2_panel1186, main_3_panel1192 ], "labelAlign": "top", "layout": "form" });
    this.items = main_panel1195;
    this.before_row_edit = function(record) {
      city1179.setContextValue('country', record ? record.data['countryHidden'] : undefined);
      city1179.setContextValue('region', record ? record.data['regionHidden'] : undefined);
    }
    this.onRender = function(ct, position) {
      typeof country1178 !== 'undefined' && country1178.on('change',Lino.chooser_handler(city1179,'country'));
      Lino.addresses.Addresses.InsertFormPanel.superclass.onRender.call(this, ct, position);
    }
    Lino.addresses.Addresses.InsertFormPanel.superclass.initComponent.call(this);
  }
});


Lino.excerpts.Excerpts.InsertFormPanel = Ext.extend(Lino.FormPanel,{
cls: "l-InsertFormPanel excerpts-Excerpts",
  layout: 'fit',
  auto_save: true,
  autoHeight: true,
  content_type: 60,
  initComponent : function() {
    var excerpt_type2302 = new Lino.TwinCombo({ "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", "onTrigger2Click": function(e){ Lino.show_fk_detail(this,Lino.excerpts.ExcerptTypes.detail,Lino.excerpts.ExcerptTypes.insert)}, "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 company2303 = new Lino.TwinCombo({ "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", "onTrigger2Click": function(e){ Lino.show_fk_detail(this,Lino.contacts.Companies.detail,Lino.contacts.Companies.insert)}, "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_person2304 = new Lino.TwinCombo({ "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", "onTrigger2Click": function(e){ Lino.show_fk_detail(this,Lino.contacts.Persons.detail,Lino.contacts.Persons.insert)}, "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_panel2305 = new Ext.Panel({ "anchor": "-20", "autoHeight": true, "autoScroll": false, "border": false, "frame": false, "hideCheckBoxLabels": true, "items": [ { "autoHeight": true, "flex": 50, "items": company2303, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 50, "items": contact_person2304, "labelAlign": "top", "layout": "form", "xtype": "panel" } ], "labelAlign": "top", "labelWidth": 0, "layout": "hbox", "layoutConfig": { "align": "stretchmax" } });
    var main_panel2308 = new Ext.Panel({ "autoHeight": true, "autoScroll": false, "bodyBorder": false, "border": false, "frame": true, "hideCheckBoxLabels": true, "items": [ { "anchor": "-20", "autoHeight": true, "items": excerpt_type2302, "labelAlign": "top", "layout": "form", "xtype": "panel" }, main_2_panel2305 ], "labelAlign": "top", "labelWidth": 0, "layout": "form" });
    this.items = main_panel2308;
    this.before_row_edit = function(record) {
      excerpt_type2302.setContextValue('owner', record ? record.data['owner'] : undefined);
      contact_person2304.setContextValue('company', record ? record.data['companyHidden'] : undefined);
    }
    this.onRender = function(ct, position) {
      typeof company2303 !== 'undefined' && company2303.on('change',Lino.chooser_handler(contact_person2304,'company'));
      Lino.excerpts.Excerpts.InsertFormPanel.superclass.onRender.call(this, ct, position);
    }
    Lino.excerpts.Excerpts.InsertFormPanel.superclass.initComponent.call(this);
  }
});


Lino.tinymce.TextFieldTemplates.DetailFormPanel = Ext.extend(Lino.FormPanel,{
cls: "l-DetailFormPanel tinymce-TextFieldTemplates",
  layout: 'fit',
  auto_save: true,
  content_type: 61,
  initComponent : function() {
    var id2334 = 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 name2335 = 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 user2336 = new Lino.TwinCombo({ "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", "onTrigger2Click": function(e){ Lino.show_fk_detail(this,Lino.users.AllUsers.detail,Lino.users.AllUsers.insert)}, "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_panel2337 = new Ext.Panel({ "autoHeight": true, "autoScroll": false, "border": false, "frame": false, "hideCheckBoxLabels": true, "items": [ { "autoHeight": true, "flex": 10, "items": id2334, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 45, "items": name2335, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 43, "items": user2336, "labelAlign": "top", "layout": "form", "xtype": "panel" } ], "labelAlign": "top", "labelWidth": 0, "layout": "hbox", "layoutConfig": { "align": "stretchmax" }, "region": "north", "split": true });
    var description2341 = 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 text2342 = 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_panel2343 = new Lino.VBorderPanel({ "autoScroll": false, "bodyBorder": false, "border": false, "frame": true, "hideCheckBoxLabels": true, "items": [ main_1_panel2337, { "flex": 5, "items": description2341, "labelAlign": "top", "layout": "form", "region": "center", "split": true, "xtype": "panel" }, text2342 ], "labelAlign": "top", "labelWidth": 126 });
    this.items = main_panel2343;
    this.before_row_edit = function(record) {
      text2342.refresh();
    }
    Lino.tinymce.TextFieldTemplates.DetailFormPanel.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 username2345 = 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 unique and cannot be empty.") }, "maxLength": 30, "name": "username", "selectOnFocus": true });
    var user_type2346 = 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 given to this user. Users having this field empty\nare considered inactive and cannot log in.") }, "name": "user_type", "selectOnFocus": true, "store": [['','<br>']].concat(Lino.users.UserTypes) });
    var partner2347 = new Lino.TwinCombo({ "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) Pointer to the Partner instance related to\nthis user.") }, "name": "partner", "onTrigger2Click": function(e){ Lino.show_fk_detail(this,Lino.contacts.Partners.detail,null)}, "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_panel2348 = new Ext.Panel({ "anchor": "-20", "autoHeight": true, "autoScroll": false, "border": false, "frame": false, "hideCheckBoxLabels": true, "items": [ { "autoHeight": true, "flex": 34, "items": username2345, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 32, "items": user_type2346, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 32, "items": partner2347, "labelAlign": "top", "layout": "form", "xtype": "panel" } ], "labelAlign": "top", "labelWidth": 0, "layout": "hbox", "layoutConfig": { "align": "stretchmax" } });
    var first_name2352 = 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_name2353 = 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 initials2354 = 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\nbe unique but should provide a reasonably identifying\nfunction.") }, "maxLength": 10, "name": "initials", "selectOnFocus": true });
    var box1_2_panel2355 = new Ext.Panel({ "anchor": "-20", "autoHeight": true, "autoScroll": false, "border": false, "frame": false, "hideCheckBoxLabels": true, "items": [ { "autoHeight": true, "flex": 39, "items": first_name2352, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 39, "items": last_name2353, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 20, "items": initials2354, "labelAlign": "top", "layout": "form", "xtype": "panel" } ], "labelAlign": "top", "labelWidth": 0, "layout": "hbox", "layoutConfig": { "align": "stretchmax" } });
    var email2359 = 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 language2360 = 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_panel2361 = new Ext.Panel({ "anchor": "-20", "autoHeight": true, "autoScroll": false, "border": false, "frame": false, "hideCheckBoxLabels": true, "items": [ { "autoHeight": true, "flex": 51, "items": email2359, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 48, "items": language2360, "labelAlign": "top", "layout": "form", "xtype": "panel" } ], "labelAlign": "top", "labelWidth": 0, "layout": "hbox", "layoutConfig": { "align": "stretchmax" } });
    var id2364 = 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 created2365 = 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 modified2366 = 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_panel2367 = new Ext.Panel({ "anchor": "-20", "autoHeight": true, "autoScroll": false, "border": false, "frame": false, "hideCheckBoxLabels": true, "items": [ { "autoHeight": true, "flex": 13, "items": id2364, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 43, "items": created2365, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 43, "items": modified2366, "labelAlign": "top", "layout": "form", "xtype": "panel" } ], "labelAlign": "top", "labelWidth": 0, "layout": "hbox", "layoutConfig": { "align": "stretchmax" } });
    var box1_panel2371 = new Ext.Panel({ "autoHeight": true, "autoScroll": false, "bodyBorder": false, "border": false, "frame": true, "hideCheckBoxLabels": true, "items": [ box1_1_panel2348, box1_2_panel2355, box1_3_panel2361, box1_4_panel2367 ], "labelAlign": "top", "layout": "form" });
    var remarks2372 = new Lino.RichTextPanel({ "allowBlank": true, "containing_panel": this, "fieldLabel": "Remarks", "flex": 66, "name": "remarks", "region": "center", "selectOnFocus": true, "title": "Remarks" });
    var general_2_panel2376 = new Ext.Panel({ "autoScroll": false, "border": false, "flex": 55, "frame": false, "hideCheckBoxLabels": true, "items": [ remarks2372 ], "labelAlign": "top", "labelWidth": 72, "layout": "hbox", "layoutConfig": { "align": "stretch" } });
    var general_panel2377 = new Ext.Panel({ "autoScroll": false, "bodyBorder": false, "border": false, "frame": true, "hideCheckBoxLabels": true, "items": [ box1_panel2371, general_2_panel2376 ], "labelAlign": "top", "layout": "vbox", "layoutConfig": { "align": "stretch" }, "listeners": { "activate": Lino.on_tab_activate }, "region": "center", "title": "General" });
    var main_panel2399 = new Ext.TabPanel({ "activeTab": 0, "autoScroll": false, "bodyBorder": false, "border": false, "enableTabScroll": true, "frame": true, "hideCheckBoxLabels": true, "items": [ general_panel2377 ], "labelAlign": "top", "split": true });
    this.items = main_panel2399;
    this.before_row_edit = function(record) {
      remarks2372.refresh();
    }
    Lino.users.AllUsers.DetailFormPanel.superclass.initComponent.call(this);
    // active_fields:
    partner2347.on("change", function(){ this.save() }, this);
  }
});


Lino.comments.CommentTypes.DetailFormPanel = Ext.extend(Lino.FormPanel,{
cls: "l-DetailFormPanel comments-CommentTypes",
  layout: 'fit',
  auto_save: true,
  content_type: 62,
  initComponent : function() {
    var id2400 = 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 name2401 = 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_de2402 = 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_fr2403 = 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_panel2404 = new Ext.Panel({ "autoHeight": true, "autoScroll": false, "border": false, "frame": false, "hideCheckBoxLabels": true, "items": [ { "autoHeight": true, "flex": 7, "items": id2400, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 30, "items": name2401, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 30, "items": name_de2402, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 30, "items": name_fr2403, "labelAlign": "top", "layout": "form", "xtype": "panel" } ], "labelAlign": "top", "labelWidth": 0, "layout": "hbox", "layoutConfig": { "align": "stretchmax" } });
    var main_panel2410 = new Ext.Panel({ "autoScroll": false, "bodyBorder": false, "border": false, "frame": true, "hideCheckBoxLabels": true, "items": [ main_1_panel2404 ], "labelAlign": "top", "labelWidth": 81, "layout": "vbox", "layoutConfig": { "align": "stretch" } });
    this.items = main_panel2410;
    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,
  autoHeight: true,
  content_type: 62,
  initComponent : function() {
    var name2411 = 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_de2412 = 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_fr2413 = 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_panel2414 = new Ext.Panel({ "anchor": "-20", "autoHeight": true, "autoScroll": false, "border": false, "frame": false, "hideCheckBoxLabels": true, "items": [ { "autoHeight": true, "flex": 33, "items": name2411, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 33, "items": name_de2412, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 33, "items": name_fr2413, "labelAlign": "top", "layout": "form", "xtype": "panel" } ], "labelAlign": "top", "labelWidth": 0, "layout": "hbox", "layoutConfig": { "align": "stretchmax" } });
    var id2418 = 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_panel2419 = new Ext.Panel({ "autoHeight": true, "autoScroll": false, "bodyBorder": false, "border": false, "frame": true, "hideCheckBoxLabels": true, "items": [ main_1_panel2414, { "anchor": "-20", "autoHeight": true, "items": id2418, "labelAlign": "top", "layout": "form", "xtype": "panel" } ], "labelAlign": "top", "labelWidth": 0, "layout": "form" });
    this.items = main_panel2419;
    this.before_row_edit = function(record) {
    }
    Lino.comments.CommentTypes.InsertFormPanel.superclass.initComponent.call(this);
  }
});


Lino.phones.ContactDetails.InsertFormPanel = Ext.extend(Lino.FormPanel,{
cls: "l-InsertFormPanel phones-ContactDetails",
  layout: 'fit',
  auto_save: true,
  autoHeight: true,
  content_type: 42,
  initComponent : function() {
    var detail_type2421 = 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 value2422 = 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 remark2423 = 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_panel2424 = new Ext.Panel({ "autoHeight": true, "autoScroll": false, "bodyBorder": false, "border": false, "frame": true, "hideCheckBoxLabels": true, "items": [ { "anchor": "-20", "autoHeight": true, "items": detail_type2421, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "anchor": "-20", "autoHeight": true, "items": value2422, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "anchor": "-20", "autoHeight": true, "items": remark2423, "labelAlign": "top", "layout": "form", "xtype": "panel" } ], "labelAlign": "top", "labelWidth": 0, "layout": "form" });
    this.items = main_panel2424;
    this.before_row_edit = function(record) {
    }
    Lino.phones.ContactDetails.InsertFormPanel.superclass.initComponent.call(this);
  }
});


Lino.comments.Comments.DetailFormPanel = Ext.extend(Lino.FormPanel,{
cls: "l-DetailFormPanel comments-Comments",
  layout: 'fit',
  auto_save: true,
  content_type: 63,
  initComponent : function() {
    var owner_disp2428 = new Ext.form.DisplayField({ "anchor": "-20", "autoHeight": true, "disabled": true, "fieldLabel": "<span style=\"border-bottom: 1px dotted #000000;\">Topic</span>", "name": "owner" });
    var private2429 = 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_panel2430 = new Ext.Panel({ "autoHeight": true, "autoScroll": false, "border": false, "frame": false, "hideCheckBoxLabels": true, "items": [ { "autoHeight": true, "flex": 50, "items": owner_disp2428, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 50, "items": private2429, "labelAlign": "top", "layout": "form", "xtype": "panel" } ], "labelAlign": "top", "labelWidth": 0, "layout": "hbox", "layoutConfig": { "align": "stretchmax" } });
    var reply_to2433 = new Lino.TwinCombo({ "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", "onTrigger2Click": function(e){ Lino.show_fk_detail(this,Lino.comments.Comments.detail,Lino.comments.Comments.insert)}, "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_disp2434 = 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_panel2435 = new Ext.Panel({ "autoHeight": true, "autoScroll": false, "border": false, "frame": false, "hideCheckBoxLabels": true, "items": [ { "autoHeight": true, "flex": 40, "items": reply_to2433, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 60, "items": pick_my_emotion_disp2434, "labelAlign": "top", "layout": "form", "xtype": "panel" } ], "labelAlign": "top", "labelWidth": 0, "layout": "hbox", "layoutConfig": { "align": "stretchmax" } });
    var full_preview2438 = new Lino.RichTextPanel({ "containing_panel": this, "disabled": true, "fieldLabel": "<span style=\"border-bottom: 1px dotted #000000;\">Preview (full)</span>", "flex": 55, "name": "full_preview", "title": "Preview (full)" });
    var general1_panel2439 = new Ext.Panel({ "autoScroll": false, "bodyBorder": false, "border": false, "flex": 50, "frame": true, "hideCheckBoxLabels": true, "items": [ general1_1_panel2430, general1_2_panel2435, full_preview2438 ], "labelAlign": "top", "labelWidth": 135, "layout": "vbox", "layoutConfig": { "align": "stretch" }, "region": "center" });
    var general_1_panel2441 = new Ext.Panel({ "autoScroll": false, "border": false, "frame": false, "hideCheckBoxLabels": true, "items": [ general1_panel2439 ], "labelAlign": "top", "labelWidth": 72, "layout": "hbox", "layoutConfig": { "align": "stretch" }, "listeners": { "activate": Lino.on_tab_activate }, "title": "General" });
    var body2442 = 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 id2443 = 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 user2444 = new Lino.TwinCombo({ "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", "onTrigger2Click": function(e){ Lino.show_fk_detail(this,Lino.users.AllUsers.detail,Lino.users.AllUsers.insert)}, "pageSize": 20, "preferred_width": 15, "related_actor_id": "users.AllUsers" });
    var more2_1_panel2445 = new Ext.Panel({ "anchor": "-20", "autoHeight": true, "autoScroll": false, "border": false, "frame": false, "hideCheckBoxLabels": true, "items": [ { "autoHeight": true, "flex": 20, "items": id2443, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 80, "items": user2444, "labelAlign": "top", "layout": "form", "xtype": "panel" } ], "labelAlign": "top", "labelWidth": 0, "layout": "hbox", "layoutConfig": { "align": "stretchmax" } });
    var owner_type2448 = new Lino.TwinCombo({ "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", "onTrigger2Click": function(e){ Lino.show_fk_detail(this,Lino.gfks.ContentTypes.detail,null)}, "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_id2449 = 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_panel2450 = new Ext.Panel({ "anchor": "-20", "autoHeight": true, "autoScroll": false, "border": false, "frame": false, "hideCheckBoxLabels": true, "items": [ { "autoHeight": true, "flex": 66, "items": owner_type2448, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 33, "items": owner_id2449, "labelAlign": "top", "layout": "form", "xtype": "panel" } ], "labelAlign": "top", "labelWidth": 0, "layout": "hbox", "layoutConfig": { "align": "stretchmax" } });
    var created2453 = 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 modified2454 = 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_panel2455 = new Ext.Panel({ "anchor": "-20", "autoHeight": true, "autoScroll": false, "border": false, "frame": false, "hideCheckBoxLabels": true, "items": [ { "autoHeight": true, "flex": 50, "items": created2453, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 50, "items": modified2454, "labelAlign": "top", "layout": "form", "xtype": "panel" } ], "labelAlign": "top", "labelWidth": 0, "layout": "hbox", "layoutConfig": { "align": "stretchmax" } });
    var comment_type2458 = new Lino.TwinCombo({ "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", "onTrigger2Click": function(e){ Lino.show_fk_detail(this,Lino.comments.CommentTypes.detail,Lino.comments.CommentTypes.insert)}, "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_panel2459 = new Ext.Panel({ "autoHeight": true, "autoScroll": false, "bodyBorder": false, "border": false, "flex": 34, "frame": true, "hideCheckBoxLabels": true, "items": [ more2_1_panel2445, more2_2_panel2450, more2_3_panel2455, { "anchor": "-20", "autoHeight": true, "items": comment_type2458, "labelAlign": "top", "layout": "form", "xtype": "panel" } ], "labelAlign": "top", "labelWidth": 0, "layout": "form" });
    var more_1_panel2461 = new Ext.Panel({ "autoHeight": true, "autoScroll": false, "border": false, "frame": false, "hideCheckBoxLabels": true, "items": [ body2442, more2_panel2459 ], "labelAlign": "top", "labelWidth": 45, "layout": "hbox", "layoutConfig": { "align": "stretchmax" }, "listeners": { "activate": Lino.on_tab_activate }, "title": "More" });
    var main_panel2462 = new Ext.TabPanel({ "activeTab": 0, "autoScroll": false, "bodyBorder": false, "border": false, "enableTabScroll": true, "frame": true, "hideCheckBoxLabels": true, "items": [ general_1_panel2441, more_1_panel2461 ], "labelAlign": "top", "split": true });
    this.items = main_panel2462;
    this.before_row_edit = function(record) {
      full_preview2438.refresh();
      body2442.refresh();
      owner_id2449.setContextValue('owner_type', record ? record.data['owner_typeHidden'] : undefined);
    }
    this.onRender = function(ct, position) {
      typeof owner_type2448 !== 'undefined' && owner_type2448.on('change',Lino.chooser_handler(owner_id2449,'owner_type'));
      Lino.comments.Comments.DetailFormPanel.superclass.onRender.call(this, ct, position);
    }
    Lino.comments.Comments.DetailFormPanel.superclass.initComponent.call(this);
  }
});


Lino.households.Types.DetailFormPanel = Ext.extend(Lino.FormPanel,{
cls: "l-DetailFormPanel households-Types",
  layout: 'fit',
  auto_save: true,
  content_type: 43,
  initComponent : function() {
    var name2463 = 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_de2464 = 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_fr2465 = 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_panel2466 = new Ext.Panel({ "autoHeight": true, "autoScroll": false, "border": false, "frame": false, "hideCheckBoxLabels": true, "items": [ { "autoHeight": true, "flex": 33, "items": name2463, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 33, "items": name_de2464, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 33, "items": name_fr2465, "labelAlign": "top", "layout": "form", "xtype": "panel" } ], "labelAlign": "top", "labelWidth": 0, "layout": "hbox", "layoutConfig": { "align": "stretchmax" } });
    var main_panel2538 = new Ext.Panel({ "autoScroll": false, "bodyBorder": false, "border": false, "frame": true, "hideCheckBoxLabels": true, "items": [ main_1_panel2466 ], "labelAlign": "top", "layout": "vbox", "layoutConfig": { "align": "stretch" } });
    this.items = main_panel2538;
    this.before_row_edit = function(record) {
    }
    Lino.households.Types.DetailFormPanel.superclass.initComponent.call(this);
  }
});


Lino.lists.Lists.DetailFormPanel = Ext.extend(Lino.FormPanel,{
cls: "l-DetailFormPanel lists-Lists",
  layout: 'fit',
  auto_save: true,
  content_type: 55,
  initComponent : function() {
    var id2539 = 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 ref2540 = 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_type2541 = 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_disp2542 = 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_panel2543 = new Ext.Panel({ "autoHeight": true, "autoScroll": false, "border": false, "frame": false, "hideCheckBoxLabels": true, "items": [ { "autoHeight": true, "flex": 5, "items": id2539, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 42, "items": ref2540, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 21, "items": list_type2541, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 31, "items": print_actions_disp2542, "labelAlign": "top", "layout": "form", "xtype": "panel" } ], "labelAlign": "top", "labelWidth": 0, "layout": "hbox", "layoutConfig": { "align": "stretchmax" } });
    var designation2548 = 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_de2549 = 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_fr2550 = 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_panel2551 = new Ext.Panel({ "autoHeight": true, "autoScroll": false, "border": false, "frame": false, "hideCheckBoxLabels": true, "items": [ { "autoHeight": true, "flex": 33, "items": designation2548, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 33, "items": designation_de2549, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 33, "items": designation_fr2550, "labelAlign": "top", "layout": "form", "xtype": "panel" } ], "labelAlign": "top", "labelWidth": 0, "layout": "hbox", "layoutConfig": { "align": "stretchmax" } });
    var remarks2555 = new Lino.RichTextPanel({ "allowBlank": true, "containing_panel": this, "fieldLabel": "Remarks", "flex": 35, "name": "remarks", "selectOnFocus": true, "title": "Remarks" });
    var main_panel2566 = new Ext.Panel({ "autoScroll": false, "bodyBorder": false, "border": false, "frame": true, "hideCheckBoxLabels": true, "items": [ main_1_panel2543, main_2_panel2551, remarks2555 ], "labelAlign": "top", "labelWidth": 72, "layout": "vbox", "layoutConfig": { "align": "stretch" } });
    this.items = main_panel2566;
    this.before_row_edit = function(record) {
      remarks2555.refresh();
    }
    Lino.lists.Lists.DetailFormPanel.superclass.initComponent.call(this);
  }
});


Lino.blogs.Entries.DetailFormPanel = Ext.extend(Lino.FormPanel,{
cls: "l-DetailFormPanel blogs-Entries",
  layout: 'fit',
  auto_save: true,
  content_type: 58,
  initComponent : function() {
    var title2189 = 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_type2190 = new Lino.TwinCombo({ "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", "onTrigger2Click": function(e){ Lino.show_fk_detail(this,Lino.blogs.EntryTypes.detail,null)}, "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 id2191 = 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_panel2192 = new Ext.Panel({ "autoHeight": true, "autoScroll": false, "border": false, "frame": false, "hideCheckBoxLabels": true, "items": [ { "autoHeight": true, "flex": 55, "items": title2189, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 31, "items": entry_type2190, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 13, "items": id2191, "labelAlign": "top", "layout": "form", "xtype": "panel" } ], "labelAlign": "top", "labelWidth": 0, "layout": "hbox", "layoutConfig": { "align": "stretchmax" } });
    var pub_date2196 = 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_time2197 = 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 user2198 = new Lino.TwinCombo({ "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", "onTrigger2Click": function(e){ Lino.show_fk_detail(this,Lino.users.AllUsers.detail,Lino.users.AllUsers.insert)}, "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 language2199 = 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_disp2200 = new Ext.form.DisplayField({ "anchor": "-20", "autoHeight": true, "disabled": true, "fieldLabel": "Controlled by", "name": "owner" });
    var add_interest2201 = new Lino.TwinCombo({ "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", "onTrigger2Click": function(e){ Lino.show_fk_detail(this,Lino.topics.Topics.detail,Lino.topics.Topics.insert)}, "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_panel2202 = new Ext.Panel({ "autoHeight": true, "autoScroll": false, "border": false, "frame": false, "hideCheckBoxLabels": true, "items": [ { "autoHeight": true, "flex": 18, "items": pub_date2196, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 11, "items": pub_time2197, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 14, "items": user2198, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 14, "items": language2199, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 14, "items": owner_disp2200, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 28, "items": add_interest2201, "labelAlign": "top", "layout": "form", "xtype": "panel" } ], "labelAlign": "top", "labelWidth": 0, "layout": "hbox", "layoutConfig": { "align": "stretchmax" } });
    var body2209 = 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_panel2211 = new Ext.Panel({ "autoScroll": false, "border": false, "flex": 71, "frame": false, "hideCheckBoxLabels": true, "items": [ body2209 ], "labelAlign": "top", "labelWidth": 90, "layout": "hbox", "layoutConfig": { "align": "stretch" } });
    var main_panel2212 = new Ext.Panel({ "autoScroll": false, "bodyBorder": false, "border": false, "frame": true, "hideCheckBoxLabels": true, "items": [ main_1_panel2192, main_2_panel2202, main_3_panel2211 ], "labelAlign": "top", "layout": "vbox", "layoutConfig": { "align": "stretch" } });
    this.items = main_panel2212;
    this.before_row_edit = function(record) {
      body2209.refresh();
    }
    Lino.blogs.Entries.DetailFormPanel.superclass.initComponent.call(this);
  }
});


Lino.checkdata.Problems.DetailFormPanel = Ext.extend(Lino.FormPanel,{
cls: "l-DetailFormPanel checkdata-Problems",
  layout: 'fit',
  auto_save: true,
  autoHeight: true,
  content_type: 14,
  disable_editing: true,
  initComponent : function() {
    var checker2070 = 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_disp2071 = new Ext.form.DisplayField({ "anchor": "-20", "autoHeight": true, "disabled": true, "fieldLabel": "Database object", "name": "owner" });
    var message2072 = 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 user2073 = new Lino.TwinCombo({ "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", "onTrigger2Click": function(e){ Lino.show_fk_detail(this,Lino.users.AllUsers.detail,Lino.users.AllUsers.insert)}, "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 id2074 = 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_panel2075 = new Ext.Panel({ "anchor": "-20", "autoHeight": true, "autoScroll": false, "border": false, "frame": false, "hideCheckBoxLabels": true, "items": [ { "autoHeight": true, "flex": 66, "items": user2073, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 33, "items": id2074, "labelAlign": "top", "layout": "form", "xtype": "panel" } ], "labelAlign": "top", "labelWidth": 0, "layout": "hbox", "layoutConfig": { "align": "stretchmax" } });
    var main_panel2078 = new Ext.Panel({ "autoHeight": true, "autoScroll": false, "bodyBorder": false, "border": false, "frame": true, "hideCheckBoxLabels": true, "items": [ { "anchor": "-20", "autoHeight": true, "items": checker2070, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "anchor": "-20", "autoHeight": true, "items": owner_disp2071, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "anchor": "-20", "autoHeight": true, "items": message2072, "labelAlign": "top", "layout": "form", "xtype": "panel" }, main_4_panel2075 ], "labelAlign": "top", "labelWidth": 0, "layout": "form" });
    this.items = main_panel2078;
    this.before_row_edit = function(record) {
    }
    Lino.checkdata.Problems.DetailFormPanel.superclass.initComponent.call(this);
  }
});


Lino.households.Households.DetailFormPanel = Ext.extend(Lino.FormPanel,{
cls: "l-DetailFormPanel households-Households",
  layout: 'fit',
  auto_save: true,
  content_type: 45,
  initComponent : function() {
    var overview_htmlbox2495 = 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 type2496 = new Lino.TwinCombo({ "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", "onTrigger2Click": function(e){ Lino.show_fk_detail(this,Lino.households.Types.detail,null)}, "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 prefix2497 = 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 name2498 = 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 language2499 = 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 id2500 = 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_panel2501 = new Ext.Panel({ "anchor": "-20", "autoHeight": true, "autoScroll": false, "border": false, "frame": false, "hideCheckBoxLabels": true, "items": [ { "autoHeight": true, "flex": 80, "items": language2499, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 20, "items": id2500, "labelAlign": "top", "layout": "form", "xtype": "panel" } ], "labelAlign": "top", "labelWidth": 0, "layout": "hbox", "layoutConfig": { "align": "stretchmax" } });
    var data_box_panel2504 = new Ext.Panel({ "autoHeight": true, "autoScroll": false, "bodyBorder": false, "border": false, "flex": 30, "frame": true, "hideCheckBoxLabels": true, "items": [ { "anchor": "-20", "autoHeight": true, "items": type2496, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "anchor": "-20", "autoHeight": true, "items": prefix2497, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "anchor": "-20", "autoHeight": true, "items": name2498, "labelAlign": "top", "layout": "form", "xtype": "panel" }, data_box_4_panel2501 ], "labelAlign": "top", "labelWidth": 0, "layout": "form" });
    var address_box_panel2509 = new Ext.Panel({ "autoHeight": true, "autoScroll": false, "border": false, "frame": false, "hideCheckBoxLabels": true, "items": [ overview_htmlbox2495, data_box_panel2504 ], "labelAlign": "top", "labelWidth": 153, "layout": "hbox", "layoutConfig": { "align": "stretchmax" } });
    var general_panel2527 = new Ext.Panel({ "autoScroll": false, "bodyBorder": false, "border": false, "frame": true, "hideCheckBoxLabels": true, "items": [ address_box_panel2509 ], "labelAlign": "top", "layout": "vbox", "layoutConfig": { "align": "stretch" }, "listeners": { "activate": Lino.on_tab_activate }, "region": "center", "title": "General" });
    var main_panel2531 = new Ext.TabPanel({ "activeTab": 0, "autoScroll": false, "bodyBorder": false, "border": false, "enableTabScroll": true, "frame": true, "hideCheckBoxLabels": true, "items": [ general_panel2527 ], "labelAlign": "top", "split": true });
    this.items = main_panel2531;
    this.before_row_edit = function(record) {
      overview_htmlbox2495.refresh();
    }
    Lino.households.Households.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 username2567 = 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 unique and cannot be empty.") }, "maxLength": 30, "name": "username", "selectOnFocus": true });
    var email2568 = 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_panel2569 = new Ext.Panel({ "anchor": "-20", "autoHeight": true, "autoScroll": false, "border": false, "frame": false, "hideCheckBoxLabels": true, "items": [ { "autoHeight": true, "flex": 50, "items": username2567, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 50, "items": email2568, "labelAlign": "top", "layout": "form", "xtype": "panel" } ], "labelAlign": "top", "labelWidth": 0, "layout": "hbox", "layoutConfig": { "align": "stretchmax" } });
    var first_name2572 = 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_name2573 = 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_panel2574 = new Ext.Panel({ "anchor": "-20", "autoHeight": true, "autoScroll": false, "border": false, "frame": false, "hideCheckBoxLabels": true, "items": [ { "autoHeight": true, "flex": 50, "items": first_name2572, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 50, "items": last_name2573, "labelAlign": "top", "layout": "form", "xtype": "panel" } ], "labelAlign": "top", "labelWidth": 0, "layout": "hbox", "layoutConfig": { "align": "stretchmax" } });
    var partner2577 = new Lino.TwinCombo({ "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) Pointer to the Partner instance related to\nthis user.") }, "name": "partner", "onTrigger2Click": function(e){ Lino.show_fk_detail(this,Lino.contacts.Partners.detail,null)}, "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 language2578 = 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_type2579 = 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 given to this user. Users having this field empty\nare considered inactive and cannot log in.") }, "name": "user_type", "selectOnFocus": true, "store": [['','<br>']].concat(Lino.users.UserTypes) });
    var main_4_panel2580 = new Ext.Panel({ "anchor": "-20", "autoHeight": true, "autoScroll": false, "border": false, "frame": false, "hideCheckBoxLabels": true, "items": [ { "autoHeight": true, "flex": 40, "items": language2578, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 60, "items": user_type2579, "labelAlign": "top", "layout": "form", "xtype": "panel" } ], "labelAlign": "top", "labelWidth": 0, "layout": "hbox", "layoutConfig": { "align": "stretchmax" } });
    var main_panel2583 = new Ext.Panel({ "autoHeight": true, "autoScroll": false, "bodyBorder": false, "border": false, "frame": true, "hideCheckBoxLabels": true, "items": [ main_1_panel2569, main_2_panel2574, { "anchor": "-20", "autoHeight": true, "items": partner2577, "labelAlign": "top", "layout": "form", "xtype": "panel" }, main_4_panel2580 ], "labelAlign": "top", "labelWidth": 0, "layout": "form" });
    this.items = main_panel2583;
    this.before_row_edit = function(record) {
    }
    Lino.users.AllUsers.InsertFormPanel.superclass.initComponent.call(this);
  }
});


Lino.households.Households.InsertFormPanel = Ext.extend(Lino.FormPanel,{
cls: "l-InsertFormPanel households-Households",
  layout: 'fit',
  auto_save: true,
  autoHeight: true,
  content_type: 45,
  initComponent : function() {
    var type2585 = new Lino.TwinCombo({ "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", "onTrigger2Click": function(e){ Lino.show_fk_detail(this,Lino.households.Types.detail,null)}, "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 name2586 = 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_panel2587 = new Ext.Panel({ "anchor": "-20", "autoHeight": true, "autoScroll": false, "border": false, "frame": false, "hideCheckBoxLabels": true, "items": [ { "autoHeight": true, "flex": 48, "items": type2585, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 51, "items": name2586, "labelAlign": "top", "layout": "form", "xtype": "panel" } ], "labelAlign": "top", "labelWidth": 0, "layout": "hbox", "layoutConfig": { "align": "stretchmax" } });
    var language2590 = 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_panel2591 = new Ext.Panel({ "autoHeight": true, "autoScroll": false, "bodyBorder": false, "border": false, "frame": true, "hideCheckBoxLabels": true, "items": [ main_1_panel2587, { "anchor": "-20", "autoHeight": true, "items": language2590, "labelAlign": "top", "layout": "form", "xtype": "panel" } ], "labelAlign": "top", "labelWidth": 0, "layout": "form" });
    this.items = main_panel2591;
    this.before_row_edit = function(record) {
    }
    Lino.households.Households.InsertFormPanel.superclass.initComponent.call(this);
  }
});


Lino.ledger.Journals.InsertFormPanel = Ext.extend(Lino.FormPanel,{
cls: "l-InsertFormPanel ledger-Journals",
  layout: 'fit',
  auto_save: true,
  autoHeight: true,
  content_type: 31,
  initComponent : function() {
    var ref2593 = 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 name2594 = 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_de2595 = 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_fr2596 = 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_panel2597 = new Ext.Panel({ "anchor": "-20", "autoHeight": true, "autoScroll": false, "border": false, "frame": false, "hideCheckBoxLabels": true, "items": [ { "autoHeight": true, "flex": 7, "items": ref2593, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 30, "items": name2594, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 30, "items": name_de2595, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 30, "items": name_fr2596, "labelAlign": "top", "layout": "form", "xtype": "panel" } ], "labelAlign": "top", "labelWidth": 0, "layout": "hbox", "layoutConfig": { "align": "stretchmax" } });
    var journal_group2602 = 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_type2603 = 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_panel2604 = new Ext.Panel({ "autoHeight": true, "autoScroll": false, "bodyBorder": false, "border": false, "frame": true, "hideCheckBoxLabels": true, "items": [ main_1_panel2597, { "anchor": "-20", "autoHeight": true, "items": journal_group2602, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "anchor": "-20", "autoHeight": true, "items": voucher_type2603, "labelAlign": "top", "layout": "form", "xtype": "panel" } ], "labelAlign": "top", "labelWidth": 0, "layout": "form" });
    this.items = main_panel2604;
    this.before_row_edit = function(record) {
    }
    Lino.ledger.Journals.InsertFormPanel.superclass.initComponent.call(this);
  }
});


Lino.uploads.Volumes.DetailFormPanel = Ext.extend(Lino.FormPanel,{
cls: "l-DetailFormPanel uploads-Volumes",
  layout: 'fit',
  auto_save: true,
  content_type: 27,
  initComponent : function() {
    var ref2607 = 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 description2608 = 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_panel2609 = new Ext.Panel({ "autoHeight": true, "autoScroll": false, "border": false, "frame": false, "hideCheckBoxLabels": true, "items": [ { "autoHeight": true, "flex": 65, "items": ref2607, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 34, "items": description2608, "labelAlign": "top", "layout": "form", "xtype": "panel" } ], "labelAlign": "top", "labelWidth": 0, "layout": "hbox", "layoutConfig": { "align": "stretchmax" } });
    var root_dir2612 = 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_url2613 = 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_panel2614 = new Ext.Panel({ "autoHeight": true, "autoScroll": false, "border": false, "frame": false, "hideCheckBoxLabels": true, "items": [ { "autoHeight": true, "flex": 50, "items": root_dir2612, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "autoHeight": true, "flex": 50, "items": base_url2613, "labelAlign": "top", "layout": "form", "xtype": "panel" } ], "labelAlign": "top", "labelWidth": 0, "layout": "hbox", "layoutConfig": { "align": "stretchmax" } });
    var overview_htmlbox2617 = 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_panel2618 = new Ext.Panel({ "autoScroll": false, "bodyBorder": false, "border": false, "frame": true, "hideCheckBoxLabels": true, "items": [ main_1_panel2609, main_2_panel2614, overview_htmlbox2617 ], "labelAlign": "top", "labelWidth": 0, "layout": "vbox", "layoutConfig": { "align": "stretch" } });
    this.items = main_panel2618;
    this.before_row_edit = function(record) {
      overview_htmlbox2617.refresh();
    }
    Lino.uploads.Volumes.DetailFormPanel.superclass.initComponent.call(this);
  }
});


Lino.calview.DailyView.DetailFormPanel = Ext.extend(Lino.FormPanel,{
cls: "l-DetailFormPanel calview-DailyView",
  layout: 'fit',
  auto_save: true,
  disable_editing: true,
  initComponent : function() {
    var navigation_panel_htmlbox2619 = 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_panel2625 = new Ext.Panel({ "autoScroll": false, "border": false, "frame": false, "hideCheckBoxLabels": true, "items": [ navigation_panel_htmlbox2619 ], "labelAlign": "top", "labelWidth": 0, "layout": "hbox", "layoutConfig": { "align": "stretch" }, "region": "center" });
    var main_panel2626 = new Ext.Panel({ "autoScroll": false, "bodyBorder": false, "border": false, "frame": true, "hideCheckBoxLabels": true, "items": [ body_panel2625 ], "labelAlign": "top", "layout": "fit" });
    this.items = main_panel2626;
    this.before_row_edit = function(record) {
      navigation_panel_htmlbox2619.refresh();
    }
    Lino.calview.DailyView.DetailFormPanel.superclass.initComponent.call(this);
  }
});


Lino.phones.ContactDetails.DetailFormPanel = Ext.extend(Lino.FormPanel,{
cls: "l-DetailFormPanel phones-ContactDetails",
  layout: 'fit',
  auto_save: true,
  autoHeight: true,
  content_type: 42,
  initComponent : function() {
    var partner2627 = new Lino.TwinCombo({ "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", "onTrigger2Click": function(e){ Lino.show_fk_detail(this,Lino.contacts.Partners.detail,null)}, "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_type2628 = 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 value2629 = 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 remark2630 = 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_panel2631 = new Ext.Panel({ "autoHeight": true, "autoScroll": false, "bodyBorder": false, "border": false, "frame": true, "hideCheckBoxLabels": true, "items": [ { "anchor": "-20", "autoHeight": true, "items": partner2627, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "anchor": "-20", "autoHeight": true, "items": detail_type2628, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "anchor": "-20", "autoHeight": true, "items": value2629, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "anchor": "-20", "autoHeight": true, "items": remark2630, "labelAlign": "top", "layout": "form", "xtype": "panel" } ], "labelAlign": "top", "labelWidth": 0, "layout": "form" });
    this.items = main_panel2631;
    this.before_row_edit = function(record) {
    }
    Lino.phones.ContactDetails.DetailFormPanel.superclass.initComponent.call(this);
  }
});


Lino.households.HouseholdsByType.InsertFormPanel = Ext.extend(Lino.FormPanel,{
cls: "l-InsertFormPanel households-HouseholdsByType",
  layout: 'fit',
  auto_save: true,
  autoHeight: true,
  content_type: 45,
  initComponent : function() {
    var name2532 = 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 language2533 = 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_panel2534 = new Ext.Panel({ "autoHeight": true, "autoScroll": false, "bodyBorder": false, "border": false, "frame": true, "hideCheckBoxLabels": true, "items": [ { "anchor": "-20", "autoHeight": true, "items": name2532, "labelAlign": "top", "layout": "form", "xtype": "panel" }, { "anchor": "-20", "autoHeight": true, "items": language2533, "labelAlign": "top", "layout": "form", "xtype": "panel" } ], "labelAlign": "top", "labelWidth": 0, "layout": "form" });
    this.items = main_panel2534;
    this.before_row_edit = function(record) {
    }
    Lino.households.HouseholdsByType.InsertFormPanel.superclass.initComponent.call(this);
  }
});

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.users.UsersOverview.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": "/users/UsersOverview" };
  return new Lino.users.UsersOverview.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-html", "itemId": "show_as_html", "menu_item_text": "HTML", "overflowText": "HTML", "panel_btn_handler": Lino.list_action_handler('/users/UsersOverview','show_as_html','GET',Lino.get_current_grid_config), "tooltip": "Show this table in Bootstrap3 interface", "tooltipType": "title" }, { "iconCls": "x-tbar-page_white_acrobat", "menu": [ { "auto_save": true, "itemId": "as_pdf", "menu_item_text": "Table (landscape)", "overflowText": "Table (landscape)", "panel_btn_handler": Lino.list_action_handler('/users/UsersOverview','as_pdf','GET',Lino.get_current_grid_config), "text": "Table (landscape)", "tooltip": "Show this table as a pdf document.", "tooltipType": "title" }, { "auto_save": true, "itemId": "as_pdf_p", "menu_item_text": "Table (portrait)", "overflowText": "Table (portrait)", "panel_btn_handler": Lino.list_action_handler('/users/UsersOverview','as_pdf_p','GET',Lino.get_current_grid_config), "text": "Table (portrait)", "tooltip": "Show this table as a pdf document.", "tooltipType": "title" } ], "menu_item_text": "Table (landscape)", "panel_btn_handler": Lino.list_action_handler('/users/UsersOverview','as_pdf','GET',Lino.get_current_grid_config), "text": null, "xtype": "splitbutton" }, { "auto_save": true, "iconCls": "x-tbar-page_excel", "itemId": "export_excel", "menu_item_text": "Export to .xls", "overflowText": "Export to .xls", "panel_btn_handler": Lino.list_action_handler('/users/UsersOverview','export_excel','GET',Lino.get_current_grid_config), "tooltip": "Export this table as an .xls document", "tooltipType": "title" }, { "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 this record.", "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": "sign_in", "menu_item_text": "Sign in", "overflowText": "Sign in", "panel_btn_handler": Lino.param_action_handler(Lino.users.UsersOverview.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" }, { "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, "getRowClass": Lino.getRowClass },
  params_panel_hidden : true,
  page_length : 20,
  stripeRows : true,
  title : "Users",
  disabled_fields_index : 6,
  initComponent : function() {
    this.ls_detail_handler = Lino.users.UsersOverview.detail;
    this.ls_insert_handler = Lino.users.UsersOverview.insert;
    var ww = this.containing_window;
    var username2636 = new Ext.form.TextField({ "allowBlank": false, "maxLength": 30, "selectOnFocus": true });
    var user_type2637 = new Lino.ChoicesFieldElement({ "allowBlank": true, "forceSelection": true, "selectOnFocus": true, "store": [['','<br>']].concat(Lino.users.UserTypes) });
    var language2638 = 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": username2636, "filter": { "type": "string" }, "header": "Username", "listeners": { "render": Lino.quicktip_renderer("","(users.UsersOverview.username) Must be unique and cannot be empty.") }, "sortable": true, "tooltip": "Must be unique and cannot be empty.", "width": Lino.chars2width(22) }, { "colIndex": 1, "dataIndex": "user_type", "editable": true, "editor": user_type2637, "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 given to this user. Users having this field empty\nare considered inactive and cannot log in.") }, "sortable": false, "tooltip": "The user type given to this user. Users having this field empty\nare considered inactive and cannot log in.", "width": Lino.chars2width(31) }, { "colIndex": 2, "dataIndex": "language", "editable": true, "editor": language2638, "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": "sign_in", "menu_item_text": "Sign in", "overflowText": "Sign in", "panel_btn_handler": Lino.param_action_handler(Lino.users.UsersOverview.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" }, { "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.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: [  ],
  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);
});
