diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md
new file mode 100644
index 0000000..2e47c8d
--- /dev/null
+++ b/CONTRIBUTING.md
@@ -0,0 +1,21 @@
+## Como desarrollador
+
+* Clona este repositorio en tu cuenta
+* Crea una rama con alguna funcionalidad, mejora o problema. Importante, siempre a partir de la rama develop
+* En cuanto la tengas lista, empuja tu rama a tu repositorio
+* Crea un Pull Request, siempre hacía nuestra rama **develop**
+
+## Como usuario
+
+* Usa Empresa Libre
+* Prueba que todo funcione
+* Crea nueva documentación
+* Propon nuevas funcionalidades
+* Difunde Empresa Libre
+
+
+### Prioridades
+
+1. Darle continuidad a la facturación de los clientes
+2. Cubrir todas las funcionalidades que cubre ahora Factura Libre
+3. Agregar nuevas funcionalidades
diff --git a/README.md b/README.md
index 79ded45..c7b3810 100644
--- a/README.md
+++ b/README.md
@@ -1 +1,7 @@
-# Empresa Libre
\ No newline at end of file
+# Empresa Libre
+
+## Mini ERP para la legislación mexicana
+
+Este proyecto esta en continuo desarrollo, contratar un esquema de soporte,
+nos ayuda a continuar su desarrollo. Ponte en contacto con nosotros para
+contratar.
diff --git a/requirements.txt b/requirements.txt
index 1afd3ec..759159c 100644
--- a/requirements.txt
+++ b/requirements.txt
@@ -3,7 +3,9 @@ falcon-multipart
Beaker
Mako
peewee
-click
+Click
logbook
bcrypt
python-dateutil
+zeep
+chardet
diff --git a/source/app/controllers/main.py b/source/app/controllers/main.py
index 0041f76..ac55355 100644
--- a/source/app/controllers/main.py
+++ b/source/app/controllers/main.py
@@ -17,6 +17,7 @@ class AppLogin(object):
def on_post(self, req, resp):
session = req.env['beaker.session']
values = req.params
+ values['rfc'] = values['rfc'].upper()
result = self._db.authenticate(values)
if result['login']:
session.save()
diff --git a/source/app/main.ini b/source/app/main.ini
index 3fec15c..6041275 100644
--- a/source/app/main.ini
+++ b/source/app/main.ini
@@ -1,8 +1,8 @@
[uwsgi]
-socket = 127.0.0.1:3032
+socket = 127.0.0.1:3033
uid = nginx
gid = nginx
-chdir = /srv/app/empresalibre/app
+chdir = /srv/app/empresa-libre/app
wsgi-file = main.py
callable = app
master = true
diff --git a/source/app/main_debug.ini b/source/app/main_debug.ini
index 065dcfc..89cb94f 100644
--- a/source/app/main_debug.ini
+++ b/source/app/main_debug.ini
@@ -1,5 +1,6 @@
[uwsgi]
http = 127.0.0.1:8000
+#~ http = 37.228.132.181:9000
wsgi-file = main.py
callable = app
master = true
diff --git a/source/app/models/main.py b/source/app/models/main.py
index 350b25c..586b8c4 100644
--- a/source/app/models/main.py
+++ b/source/app/models/main.py
@@ -14,7 +14,7 @@ if __name__ == '__main__':
from controllers import util
-from settings import log, VERSION, PATH_CP
+from settings import log, VERSION, PATH_CP, COMPANIES
FORMAT = '{0:.2f}'
diff --git a/source/db/rfc.db b/source/db/rfc.db.ini
similarity index 95%
rename from source/db/rfc.db
rename to source/db/rfc.db.ini
index c8e7c93..cd38d7c 100644
Binary files a/source/db/rfc.db and b/source/db/rfc.db.ini differ
diff --git a/source/static/css/air.css b/source/static/css/air.css
index 9e9f14a..7d378a4 100644
--- a/source/static/css/air.css
+++ b/source/static/css/air.css
@@ -1,6 +1,6 @@
/*
@license
-webix UI v.4.3.0
+webix UI v.5.0.0
This software is covered by Webix Commercial License.
Usage without proper license is prohibited.
(c) XB Software Ltd.
@@ -33,8 +33,9 @@ x\:ui{display:none}
.webix_flexlayout{display:flex!important;flex-wrap:wrap;flex-direction:row;overflow:hidden;box-sizing:border-box}
.webix_flexlayout>div{display:block!important}
.webix_view_align{background:0 0}
+.webix_view a.webix_list_item,.webix_view div,.webix_view span{outline:0}
.webix_view a.webix_list_item:focus,.webix_view div:focus,.webix_view span:focus,.webix_view.webix_window:focus{outline:#727981 dotted 1px}
-.webix_view a.webix_list_item:active,.webix_view div.webix_inp_static:focus,.webix_view div:active,.webix_view span:active,button,input,select,textarea{outline:0}
+.webix_view div.webix_inp_static:focus,button,input,select,textarea{outline:0}
.webix_resize_area{position:absolute;top:0;left:0;width:100%;height:100%}
.webix_resize_handle_x .webix_handle_content,.webix_resize_handle_y .webix_handle_content{width:100%;height:100%;background:rgba(100,100,100,.1);border:1px dotted #9fa5aa}
.webix_resize_handle_x{-moz-box-sizing:border-box;-webkit-box-sizing:border-box;box-sizing:border-box;cursor:e-resize;width:1px;height:100%;position:absolute;z-index:2;top:0}
@@ -152,7 +153,7 @@ x\:ui{display:none}
.webix_dt_editor input,.webix_dt_editor select{width:100%;-moz-box-sizing:border-box;-webkit-box-sizing:border-box;box-sizing:border-box;padding:1px 8px 0 9px;margin:0;border:1px solid gold;height:100%;font-family:Helvetica,Verdana;font-size:13px;color:#1e2022}
.webix_dt_editor input[type=checkbox]{margin:6px 8px 4px 14px;height:auto;width:auto}
.webix_dt_editor select{padding-right:0;padding-left:5px}
-.webix_clipbuffer{width:1px;height:1px;left:3px;top:3px;position:fixed;white-space:nowrap;filter:alpha(opacity=0);opacity:0}
+.webix_clipbuffer{width:2000px;height:1px;padding:0;margin:0;border:0;left:0;top:0;white-space:pre-wrap;position:fixed;filter:alpha(opacity=0);opacity:0;pointer-events:none;cursor:default}
.webix_message_area{position:fixed;right:5px;width:250px;z-index:1000}
.webix_info{min-width:120px;font-family:Tahoma,Arial;z-index:10000;overflow:hidden;margin:5px 5px 10px;-webkit-transition:all .5s ease;-moz-transition:all .5s ease;-o-transition:all .5s ease;transition:all .5s ease}
.webix_no_transition{-webkit-transition:none;-moz-transition:none;transition:none}
@@ -185,6 +186,7 @@ div.webix_modal_cover{background-color:#000;cursor:default;filter:alpha(opacity=
.webix_column{position:absolute;top:0}
.webix_cell{overflow:hidden;line-height:31px;white-space:nowrap}
.webix_hcell{width:100%;overflow:hidden}
+.webix_cell,.webix_hcell{background:inherit;font:inherit;text-align:inherit;color:inherit}
.webix_ss_body{overflow:hidden;position:relative}
.webix_hs_center,.webix_hs_left,.webix_hs_right,.webix_ss_center,.webix_ss_left,.webix_ss_right{overflow:hidden;float:left}
.webix_ss_center,.webix_ss_right{position:relative}
@@ -201,13 +203,14 @@ div.webix_modal_cover{background-color:#000;cursor:default;filter:alpha(opacity=
.webix_ss_sort_asc,.webix_ss_sort_desc{-moz-user-select:none;-webkit-user-select:none;-ms-user-select:none;user-select:none}
.webix_hcell.webix_ss_filter{padding:2px 5px}
.webix_ss_filter input,.webix_ss_filter select{width:100%;font-size:inherit;color:#1e2022!important;height:30px;margin-top:-2px;padding:0 3px;vertical-align:top;border:1px solid #a4bed4;line-height:30px;-moz-box-sizing:border-box;-webkit-box-sizing:border-box;box-sizing:border-box;font-family:Helvetica,Verdana}
-.webix_richfilter{margin-top:1px}
+.webix_richfilter{margin-top:1px;line-height:30px}
.webix_ss_filter select{padding:3px}
.webix_dd_drag_column,.webix_ss_header,.webix_ss_header TD,.webix_ss_vscroll_header{color:#1e2022!important;box-shadow:0 1px 1px #fff inset;background:0 1px repeat-x #e5f1ff;background:-webkit-gradient(linear,left top,left bottom,color-stop(0,#eaf3ff),color-stop(50%,#e5f1ff),color-stop(100%,#d6e8ff)) 0 1px repeat-x;background-image:-webkit-linear-gradient(top,#eaf3ff 0,#e5f1ff 50%,#d6e8ff 100%);background-image:-moz-linear-gradient(top,#eaf3ff 0,#e5f1ff 60%,#d6e8ff 100%);background-image:-ms-linear-gradient(top,#eaf3ff 0,#e5f1ff 60%,#d6e8ff 100%);background-image:-o-linear-gradient(top,#eaf3ff 0,#e5f1ff 60%,#d6e8ff 100%)}
.webix_ss_footer TD,.webix_ss_vscroll_footer{background:#fafafa}
.webix_hcell{padding:0 10px;text-align:left}
.webix_ss_header td{border-right:1px solid #a4bed4;border-bottom:1px solid #a4bed4}
.webix_ss_footer td{border-right:1px solid #ebebeb;border-top:1px solid #ebebeb}
+.webix_size_row td{border:none}
.webix_column.webix_last>div,.webix_hs_center td.webix_last,.webix_hs_right td.webix_last{border-right-width:0}
.webix_hs_right td.webix_first,.webix_ss_right .webix_column.webix_first>div{border-left:1px solid #a4bed4}
.webix_ss_left .webix_column.webix_last>div{border-right:1px solid #a4bed4}
@@ -221,7 +224,7 @@ div.webix_modal_cover{background-color:#000;cursor:default;filter:alpha(opacity=
.webix_dd_drag>div{display:inline-block;vertical-align:top;background:#fff;border-top:1px solid #ebebeb;border-right:1px solid #ebebeb;border-bottom:1px solid #ebebeb;padding:5px 10px;height:34px;line-height:26px;-moz-box-sizing:border-box;-webkit-box-sizing:border-box;box-sizing:border-box}
.webix_dd_drag_column{padding:5px 10px}
.webix_column>.webix_drag_over.webix_cell{background-color:#e6e6e6;color:#1e2022}
-.webix_ss_header table,.webix_ss_header td,.webix_ss_header th{padding:0;margin:0}
+.webix_ss_header table,.webix_ss_header td{padding:0;margin:0}
.webix_cell.webix_invalid,.webix_column>.webix_cell.webix_invalid:nth-child(even){background-color:#fee}
.webix_invalid_cell{position:relative}
.webix_invalid_cell:after{content:"";position:absolute;top:0;right:0;width:0;height:1px;border-top:8px solid #f44;border-left:8px solid transparent}
@@ -231,14 +234,16 @@ div.webix_modal_cover{background-color:#000;cursor:default;filter:alpha(opacity=
.webix_column>div.webix_invalid.webix_row_select:nth-child(even),.webix_column>div.webix_row_select{border-bottom:1px solid #ffd47b;box-shadow:0 1px #ffe3a9 inset;padding-top:0}
.webix_column>div.webix_column_select{border-right:1px solid #ffd47b;border-left:1px solid #ffd47b;padding-left:9px}
.webix_column>.webix_cell.webix_invalid.webix_cell_select:nth-child(even){color:#1e2022;background:#ffdb8f;background:-webkit-gradient(linear,left top,left bottom,color-stop(0,#ffebc2),color-stop(100%,#ffdb8f));background:-webkit-linear-gradient(#ffebc2,#ffdb8f);background:-moz-linear-gradient(#ffebc2,#ffdb8f);background:-ms-linear-gradient(top,#ffebc2,#ffdb8f);background:-o-linear-gradient(top,#ffebc2,#ffdb8f)}
-.webix_dtable_colrow,.webix_dtable_subrow,.webix_dtable_subview{position:absolute;left:0;top:0;background-color:#fff;width:100%;padding-right:28px;padding-left:10px;padding-top:1px;border-bottom:1px solid #ebebeb}
+.webix_cell.webix_dtable_colrow,.webix_cell.webix_dtable_subrow,.webix_cell.webix_dtable_subview{position:absolute;left:0;top:0;background-color:#fff;width:100%;padding-right:28px;padding-left:10px;padding-top:1px;border-bottom:1px solid #ebebeb}
.webix_dtable_subrow{border-top:1px solid #ebebeb;text-align:right}
.webix_dtable_subview{background:#ebebeb;border-top:1px solid #ebebeb;padding:0 0 0 10px;box-sizing:border-box}
.number .webix_cell{text-align:right}
.webix_rotate{transform:rotate(-90deg);-webkit-transform:rotate(-90deg);line-height:normal}
.webix_measure_rotate{line-height:normal;white-space:normal;padding:10px}
-.webix_span_layer{background:0 0;position:absolute;left:0;top:0;height:0;width:0;overflow:visible}
-.webix_dtable_span{position:absolute;background:#fff}
+.webix_span_layer,.webix_span_layer_top{background:0 0;position:absolute;left:0;top:0;height:0;width:0;overflow:visible}
+.webix_span_layer_top{z-index:1;overflow:hidden}
+.webix_ss_right .webix_span_layer,.webix_ss_right .webix_span_layer_top{border-left:1px solid #a4bed4}
+.webix_dtable_span{position:absolute;background:#fff;text-align:left}
.webix_dtable_span.webix_selected{color:#1e2022;background:#ffdb8f;background:-webkit-gradient(linear,left top,left bottom,color-stop(0,#ffebc2),color-stop(100%,#ffdb8f));background:-webkit-linear-gradient(#ffebc2,#ffdb8f);background:-moz-linear-gradient(#ffebc2,#ffdb8f);background:-ms-linear-gradient(top,#ffebc2,#ffdb8f);background:-o-linear-gradient(top,#ffebc2,#ffdb8f)}
.webix_hcell span.webix_input_icon{background-color:#a4bed4}
.webix_area_selection_layer{position:absolute;z-index:1}
@@ -346,7 +351,7 @@ div.webix_modal_cover{background-color:#000;cursor:default;filter:alpha(opacity=
.webix_property_col_ind{float:right;border:1px solid #a4bed4;border-radius:2px;width:30px;cursor:pointer;height:13px;margin:3px 10px 3px 0}
.webix_property_value{text-overflow:ellipsis;white-space:nowrap}
.webix_property_check{margin-top:5px}
-.webix_tooltip{display:none;white-space:pre;position:absolute;z-index:10000;background-color:#fff;padding:5px 10px;border:1px solid #a4bed4;font-family:Helvetica,Verdana;font-size:13px;color:#1e2022;border-radius:0;box-shadow:1px 1px 0 0 #CCC}
+.webix_tooltip{display:none;position:absolute;z-index:10000;background-color:#fff;padding:5px 10px;border:1px solid #a4bed4;font-family:Helvetica,Verdana;font-size:13px;color:#1e2022;border-radius:0;box-shadow:1px 1px 0 0 #CCC}
.webix_color_row{clear:both;white-space:nowrap}
.webix_color_palette{text-align:left;-moz-user-select:none;-webkit-user-select:none;-ms-user-select:none;user-select:none}
.webix_color_row,.webix_color_row div,.webix_color_selector{line-height:0;font-size:0}
@@ -471,6 +476,10 @@ label.webix_required:after{padding-left:4px;content:"*";color:red}
.webix_multicombo_tag{min-width:15px;text-align:center;padding:0 5px}
.webix_multicombo_delete{margin-left:10px;padding:0 5px;color:#000;cursor:pointer}
.webix_multilist .webix_selected{background:#f2f2f2;color:#1e2022}
+.webix_checksuggest_select_all{border:none;border-bottom:1px solid #ebebeb;border-color:#ebebeb;margin-bottom:1px}
+.webix_checksuggest_select_all .webix_label_right{text-transform:capitalize;display:block;padding-top:2px;padding-bottom:4px}
+.webix_checksuggest_select_all input{display:none}
+.webix_checksuggest_select_all:hover .webix_label_right{cursor:pointer;color:#e6e6e6}
.webix_el_tabbar{background:0 0}
.webix_all_tabs{height:100%;display:table}
.webix_tab_filler{display:table-cell;background:0 0;font-size:1px;border-bottom:1px solid #a4bed4;-moz-box-sizing:border-box;-webkit-box-sizing:border-box;box-sizing:border-box}
@@ -522,21 +531,28 @@ label.webix_required:after{padding-left:4px;content:"*";color:red}
.webix_fieldset legend{color:#1e2022;font-size:12px}
.webix_forminput fieldset{border:none;margin:0;padding:0}
.webix_forminput legend{color:#1e2022;line-height:30px;padding:2px 7.5px 2px 2px;-moz-box-sizing:border-box;-webkit-box-sizing:border-box;box-sizing:border-box;font-family:Helvetica,Verdana;float:left}
-.webix_slider_box{position:relative;padding:11px 10px 0;height:100%;float:left;border-radius:5px;-moz-box-sizing:border-box;-webkit-box-sizing:border-box;box-sizing:border-box}
+.webix_slider_box{position:relative;padding:13px 10px 0;height:100%;float:left;border-radius:5px;-moz-box-sizing:border-box;-webkit-box-sizing:border-box;box-sizing:border-box;margin-top:-11px}
.webix_slider_box .webix_slider_left{height:10px;float:left;width:100px;border:1px solid #b5cadc;-webkit-border-radius:5px 0 0 5px;-moz-border-radius-topleft:5px;-moz-border-radius-bottomleft:5px;-moz-border-radius-topright:0;-moz-border-radius-bottomright:0;border-radius:5px 0 0 5px;-moz-box-sizing:border-box;-webkit-box-sizing:border-box;box-sizing:border-box}
.webix_slider_box .webix_slider_right{height:10px;float:left;width:100px;background:#fff;-webkit-border-radius:0 5px 5px 0;-moz-border-radius-topleft:0;-moz-border-radius-bottomleft:0;-moz-border-radius-topright:5px;-moz-border-radius-bottomright:5px;border-radius:0 5px 5px 0;border:1px solid #b5cadc;-moz-box-sizing:border-box;-webkit-box-sizing:border-box;box-sizing:border-box}
-.webix_slider_box .webix_slider_handle{z-index:1;position:absolute;width:15px;height:15px;top:7px;border-radius:8px}
+.webix_slider_box .webix_slider_handle{z-index:1;position:absolute;width:14px;height:14px;border-radius:8px}
.webix_slider_box .webix_slider_left{background:#f5f9ff}
-.webix_slider_box .webix_slider_handle{border:1px solid #a4bed4;-moz-box-shadow:inset 0 1px 1px 1px #fff;-webkit-box-shadow:inset 0 1px 1px 1px #fff;box-shadow:inset 0 1px 1px #fff;background:#fafcff;background:-webkit-gradient(linear,left top,left bottom,color-stop(0,#d6e8ff),color-stop(100%,#fafcff));background:-webkit-linear-gradient(#d6e8ff,#fafcff);background:-moz-linear-gradient(#d6e8ff,#fafcff);background:-ms-linear-gradient(top,#d6e8ff,#fafcff);background:-o-linear-gradient(top,#d6e8ff,#fafcff)}
+.webix_slider_box .webix_slider_handle{border:1px solid #a4bed4;-moz-box-shadow:inset 0 1px 1px 1px #fff;-webkit-box-shadow:inset 0 1px 1px 1px #fff;box-shadow:inset 0 1px 1px #fff;background:#fafcff;background:-webkit-gradient(linear,left top,left bottom,color-stop(0,#d6e8ff),color-stop(100%,#fafcff));background:-webkit-linear-gradient(#d6e8ff,#fafcff);background:-moz-linear-gradient(#d6e8ff,#fafcff);background:-ms-linear-gradient(top,#d6e8ff,#fafcff);background:-o-linear-gradient(top,#d6e8ff,#fafcff);top:10px}
.webix_rangeslider .webix_slider_box .webix_slider_left{position:absolute}
.webix_rangeslider .webix_slider_box .webix_slider_active{z-index:1}
.webix_rangeslider .webix_slider_box .webix_slider_right{border-radius:5px}
.webix_slider_alt .webix_slider_box .webix_slider_left,.webix_slider_alt .webix_slider_box .webix_slider_right{border:1px solid #e1e1e1}
-.webix_slider_alt .webix_slider_box .webix_slider_handle{width:11px;margin:0 2px;height:20px;top:4.5px;border-radius:2px;background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAICAYAAAAx8TU7AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyJpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNiAoV2luZG93cykiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6OTJCMjdFNENBRTg4MTFFMjk2NjJGMTJENjkyNDA2NTkiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6OTJCMjdFNERBRTg4MTFFMjk2NjJGMTJENjkyNDA2NTkiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDo5MkIyN0U0QUFFODgxMUUyOTY2MkYxMkQ2OTI0MDY1OSIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDo5MkIyN0U0QkFFODgxMUUyOTY2MkYxMkQ2OTI0MDY1OSIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/Powz/icAAAAaSURBVHjaYmBgYDBjgAA4zcSABQysIECAAQBn+ACx2PqtbAAAAABJRU5ErkJggg==);background-repeat:no-repeat;background-position:3px center}
+.webix_slider_alt .webix_slider_box .webix_slider_handle{width:11px;margin:0 2px;height:14px;border-radius:2px;background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAICAYAAAAx8TU7AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyJpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNiAoV2luZG93cykiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6OTJCMjdFNENBRTg4MTFFMjk2NjJGMTJENjkyNDA2NTkiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6OTJCMjdFNERBRTg4MTFFMjk2NjJGMTJENjkyNDA2NTkiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDo5MkIyN0U0QUFFODgxMUUyOTY2MkYxMkQ2OTI0MDY1OSIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDo5MkIyN0U0QkFFODgxMUUyOTY2MkYxMkQ2OTI0MDY1OSIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/Powz/icAAAAaSURBVHjaYmBgYDBjgAA4zcSABQysIECAAQBn+ACx2PqtbAAAAABJRU5ErkJggg==);background-repeat:no-repeat;background-position:3px center}
.webix_slider_alt .webix_slider_box .webix_slider_left{background:#f0f6ff}
.webix_slider_alt .webix_slider_box .webix_slider_right{background:#eee}
-.webix_slider_alt .webix_slider_box .webix_slider_handle{background-color:#f5f9ff}
-.webix_slider_title{margin-bottom:-11px;text-align:center}
+.webix_slider_alt .webix_slider_box .webix_slider_handle{background-color:#f5f9ff;top:10px}
+.webix_slider_vertical .webix_slider_box .webix_slider_left,.webix_slider_vertical .webix_slider_box .webix_slider_right{width:10px;float:none}
+.webix_slider_vertical .webix_slider_box .webix_slider_left{-webkit-border-radius:0 0 5px 5px;-moz-border-radius-topleft:0;-moz-border-radius-bottomleft:5px;-moz-border-radius-topright:0;-moz-border-radius-bottomright:5px;border-radius:0 0 5px 5px}
+.webix_slider_vertical .webix_slider_box .webix_slider_right{-webkit-border-radius:5px 5px 0 0;-moz-border-radius-topleft:5px;-moz-border-radius-bottomleft:0;-moz-border-radius-topright:5px;-moz-border-radius-bottomright:0;border-radius:5px 5px 0 0}
+.webix_slider_vertical .webix_slider_box .webix_slider_handle{left:7px}
+.webix_slider_vertical .webix_slider_title{padding-top:1px;text-align:left}
+.webix_slider_vertical.webix_slider_alt .webix_slider_handle{height:11px;width:14px;left:5px;background-position:4px center}
+.webix_slider_title{text-align:center}
+.webix_slider_title.webix_slider_move{position:relative;text-align:left;display:inline-block;width:auto}
.webix_progress_bottom,.webix_progress_top{width:100%;position:absolute;top:0;left:0;height:6px;overflow:hidden;z-index:20}
.webix_progress_bottom{bottom:0;top:auto;height:17px}
.webix_progress_bottom .webix_progress_state,.webix_progress_top .webix_progress_state{width:0;height:6px;background:#ffdb8f;-moz-transition:width 3s;transition:width 3s}
@@ -1349,6 +1365,7 @@ label.webix_required:after{padding-left:4px;content:"*";color:red}
.webix_dbllist button:first-child{margin-top:32px;margin-right:5%}
.webix_dbllist button:last-child{margin-left:5%}
.webix_dbllist .bottom_label{font-size:10px;text-transform:uppercase;background:#ededed;padding-left:13px}
+.webix_invalid .webix_list{background:#f8e2e2}
.webix_toolbar .webix_el_label,.webix_toolbar .webix_inp_label{color:#1e2022}
.webix_ss_sort_asc{position:absolute;float:right;right:3px;top:8px;width:7px;height:13px;background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAcAAAANCAYAAABlyXS1AAAARUlEQVR4nGNgQAKGxib/GbABkIS7b8B/DAUwCRiGK0CXwFBAb1DfP/U/LszwHwi2X7qFgUEArBtdAVwCBmAKMCSQFSDzAWXXaOHsXeqkAAAAAElFTkSuQmCC)}
.webix_ss_sort_desc{position:absolute;right:3px;top:8px;width:7px;height:13px;background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAcAAAANCAYAAABlyXS1AAAARUlEQVR42mNgQAL1/VP/M2ADIIntF2/9x1AAlrh0C47hCmA60DFYwX88gIFGwNDY5D8uDFbg7hvwHx2jmIBTAlkB0e4BAEjlaNtBWJPnAAAAAElFTkSuQmCC)}
@@ -1368,6 +1385,7 @@ label.webix_required:after{padding-left:4px;content:"*";color:red}
.webix_img_btn_abs:active+input,.webix_inp_counter_next:active,.webix_inp_counter_prev:active,.webixtype_base:active{background:none #f5f5f5;box-shadow:inset 0 3px 5px rgba(0,0,0,.125)}
.webix_icon_button:active,.webix_img_btn:active,.webix_img_btn_top:active{box-shadow:inset 0 3px 5px rgba(0,0,0,.125);background-color:rgba(0,0,0,.05)}
.webix_pressed .webix_img_btn_abs+input,.webix_pressed .webixtype_base{box-shadow:inset 0 3px 5px rgba(0,0,0,.125);background:#f5f5f5!important}
+.webix_slider_vertical .webix_slider_box{margin-top:-8px}
.webix_accordionitem_label .webix_icon{font-size:19px;width:25px}
.webix_accordionitem.vertical>.webix_accordionitem_header .webix_accordionitem_button{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAsAAAAHCAYAAADebrddAAAARUlEQVR42o2PAQYAMAwD9+iEFvTpnZYZU7EQRa4kaxKAXD9y9yTZluCBALRJpATNrIG6rAdjjmBVeCuB6EyAYkNEiDE33yMJRSaycR8/AAAAAElFTkSuQmCC);background-repeat:no-repeat}
.webix_accordionitem.vertical.collapsed>.webix_accordionitem_header .webix_accordionitem_button{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAsAAAAHCAYAAADebrddAAAASElEQVR42n2PMQoAMAgD++gEdPLpFkshS9oDEcxlcA1V1euNcpI9k5m2MPfrqABCBS8KBptAR8QJZks0kGjgjMQn/oc/AKy4Acp9RSZl+HEYAAAAAElFTkSuQmCC);background-repeat:no-repeat}
@@ -1393,6 +1411,29 @@ label.webix_required:after{padding-left:4px;content:"*";color:red}
.webix_sparklines_event_area{fill:transparent}
.webix_sparklines_area_chart .webix_sparklines_event_area:hover,.webix_sparklines_line_chart .webix_sparklines_event_area:hover,.webix_sparklines_splinearea_chart .webix_sparklines_event_area:hover{fill:rgba(220,220,220,.4);stroke:rgba(255,255,255,.6)}
.webix_sparklines_bar_chart .webix_sparklines_event_area:hover,.webix_sparklines_pie_chart .webix_sparklines_event_area:hover{fill:rgba(255,255,255,.3)}
+.webix_ui_print{display:none}
+body.webix_print{margin-top:0}
+@media print{body.webix_print{overflow:visible!important;background-color:none!important}
+body.webix_print>*{display:none}
+body.webix_print *{visibility:hidden}
+.webix_ui_print{display:block!important;margin:0!important;visibility:visible!important}
+.webix_ui_print *{visibility:visible!important}
+.webix_print_noscroll{height:auto!important;width:auto!important}
+.webix_print_noscroll,.webix_print_noscroll .webix_scroll_cont{overflow:visible!important}
+.webix_print_pagebreak{page-break-after:always}
+.webix_print_footer,.webix_print_header{display:block!important;margin:20px 0;text-align:center;height:auto!important;visibility:visible!important}
+.webix_print_footer *,.webix_print_header *{visibility:visible!important}
+.webix_table_print{display:table;visibility:visible!important;table-layout:fixed;width:100%;border:1px solid #ebebeb;margin-bottom:20px;position:initial}
+.webix_table_print td{overflow:hidden}
+.webix_table_print tr{page-break-inside:avoid}
+.webix_table_print .webix_cell{display:table-cell!important;border-right:1px solid #ebebeb;border-bottom:1px solid #ebebeb;padding:0 10px;white-space:nowrap}
+.webix_table_print .webix_header_cell{display:table-cell;color:#1e2022!important;box-shadow:0 1px 1px #fff inset;background:0 1px repeat-x #e5f1ff;background:-webkit-gradient(linear,left top,left bottom,color-stop(0,#eaf3ff),color-stop(50%,#e5f1ff),color-stop(100%,#d6e8ff)) 0 1px repeat-x;background-image:-webkit-linear-gradient(top,#eaf3ff 0,#e5f1ff 50%,#d6e8ff 100%);background-image:-moz-linear-gradient(top,#eaf3ff 0,#e5f1ff 60%,#d6e8ff 100%);background-image:-ms-linear-gradient(top,#eaf3ff 0,#e5f1ff 60%,#d6e8ff 100%);background-image:-o-linear-gradient(top,#eaf3ff 0,#e5f1ff 60%,#d6e8ff 100%);border-right:1px solid #a4bed4;border-bottom:1px solid #a4bed4}
+.webix_table_print .webix_footer_cell{display:table-cell;background:#fafafa;border-right:1px solid #ebebeb;border-top:1px solid #ebebeb;border-bottom:1px solid #ebebeb}
+.webix_table_print .webix_cell.webix_dtable_span{position:initial!important;white-space:normal}
+.webix_table_print .webix_rotate{transform-origin:center 40%!important;-webkit-transform-origin:center 40%!important}
+.webix_table_print.borderless,.webix_table_print.borderless .webix_cell{border:none}
+.webix_table_print.webix_view.webix_list-x{white-space:normal}
+.webix_table_print.webix_view.webix_list-x .webix_list_item{display:table-cell}}
.webix_strong{font-weight:700;white-space:nowrap}
.webix_light{color:#666d73}
.webix_debug div{border:1px solid orange;background-color:#FF9;color:#000}
diff --git a/source/static/css/webix.css b/source/static/css/webix.css
index 70a77a0..f859e8e 100644
--- a/source/static/css/webix.css
+++ b/source/static/css/webix.css
@@ -1,6 +1,6 @@
/*
@license
-webix UI v.4.3.0
+webix UI v.5.0.1
This software is covered by Webix Commercial License.
Usage without proper license is prohibited.
(c) XB Software Ltd.
@@ -60,8 +60,9 @@ x\:ui{display:none}
.webix_flexlayout{display:flex!important;flex-wrap:wrap;flex-direction:row;overflow:hidden;box-sizing:border-box}
.webix_flexlayout>div{display:block!important}
.webix_view_align{background:0 0}
+.webix_view a.webix_list_item,.webix_view div,.webix_view span{outline:0}
.webix_view a.webix_list_item:focus,.webix_view div:focus,.webix_view span:focus,.webix_view.webix_window:focus{outline:#bfbfbf dotted 1px}
-.webix_view a.webix_list_item:active,.webix_view div.webix_inp_static:focus,.webix_view div:active,.webix_view span:active,button,input,select,textarea{outline:0}
+.webix_view div.webix_inp_static:focus,button,input,select,textarea{outline:0}
.webix_resize_area{position:absolute;top:0;left:0;width:100%;height:100%}
.webix_resize_handle_x .webix_handle_content,.webix_resize_handle_y .webix_handle_content{width:100%;height:100%;background:rgba(100,100,100,.1);border:1px dotted #ebebeb}
.webix_resize_handle_x{-moz-box-sizing:border-box;-webkit-box-sizing:border-box;box-sizing:border-box;cursor:e-resize;width:1px;height:100%;position:absolute;z-index:2;top:0}
@@ -206,7 +207,7 @@ x\:ui{display:none}
.webix_dt_editor input,.webix_dt_editor select{width:100%;-moz-box-sizing:border-box;-webkit-box-sizing:border-box;box-sizing:border-box;padding:1px 8px 0 9px;margin:0;border:1px solid gold;height:100%;font-family:'PT Sans',Tahoma;font-size:15px;color:#666}
.webix_dt_editor input[type=checkbox]{margin:6px 8px 4px 14px;height:auto;width:auto}
.webix_dt_editor select{padding-right:0;padding-left:5px}
-.webix_clipbuffer{width:1px;height:1px;left:3px;top:3px;position:fixed;white-space:nowrap;filter:alpha(opacity=0);opacity:0}
+.webix_clipbuffer{width:2000px;height:1px;padding:0;margin:0;border:0;left:0;top:0;white-space:pre-wrap;position:fixed;filter:alpha(opacity=0);opacity:0;pointer-events:none;cursor:default}
.webix_message_area{position:fixed;right:5px;width:250px;z-index:1000}
.webix_info{min-width:120px;font-family:Tahoma,Arial;z-index:10000;overflow:hidden;margin:5px 5px 10px;-webkit-transition:all .5s ease;-moz-transition:all .5s ease;-o-transition:all .5s ease;transition:all .5s ease}
.webix_no_transition{-webkit-transition:none;-moz-transition:none;transition:none}
@@ -239,6 +240,7 @@ div.webix_modal_cover{background-color:#000;cursor:default;filter:alpha(opacity=
.webix_column{position:absolute;top:0}
.webix_cell{overflow:hidden;line-height:31px;white-space:nowrap}
.webix_hcell{width:100%;overflow:hidden}
+.webix_cell,.webix_hcell{background:inherit;font:inherit;text-align:inherit;color:inherit}
.webix_ss_body{overflow:hidden;position:relative}
.webix_hs_center,.webix_hs_left,.webix_hs_right,.webix_ss_center,.webix_ss_left,.webix_ss_right{overflow:hidden;float:left}
.webix_ss_center,.webix_ss_right{position:relative}
@@ -255,13 +257,14 @@ div.webix_modal_cover{background-color:#000;cursor:default;filter:alpha(opacity=
.webix_ss_sort_asc,.webix_ss_sort_desc{position:absolute;-moz-user-select:none;-webkit-user-select:none;-ms-user-select:none;user-select:none}
.webix_hcell.webix_ss_filter{padding:3px 5px}
.webix_ss_filter input,.webix_ss_filter select{width:100%;font-size:inherit;color:#666!important;height:39px;margin-top:-2px;padding:0 3px;vertical-align:top;border:1px solid #ddd;line-height:32px;-moz-box-sizing:border-box;-webkit-box-sizing:border-box;box-sizing:border-box;font-family:'PT Sans',Tahoma}
-.webix_richfilter{margin-top:1px}
+.webix_richfilter{margin-top:1px;line-height:32px}
.webix_ss_filter select{padding:3px}
.webix_dd_drag_column,.webix_ss_header,.webix_ss_header TD,.webix_ss_vscroll_header{font-size:15px;color:#4a4a4a;background:#d2e3ef}
.webix_ss_footer TD,.webix_ss_vscroll_footer{background:#fafafa}
.webix_hcell{padding:0 10px;text-align:left}
.webix_ss_header td{border-right:1px solid #b0cee3;border-bottom:1px solid #b0cee3}
.webix_ss_footer td{border-right:1px solid #ebebeb;border-top:1px solid #ebebeb}
+.webix_size_row td{border:none}
.webix_column.webix_last>div,.webix_hs_center td.webix_last,.webix_hs_right td.webix_last{border-right-width:0}
.webix_hs_right td.webix_first,.webix_ss_right .webix_column.webix_first>div{border-left:1px solid #ddd}
.webix_ss_left .webix_column.webix_last>div{border-right:1px solid #ddd}
@@ -274,7 +277,7 @@ div.webix_modal_cover{background-color:#000;cursor:default;filter:alpha(opacity=
.webix_dd_drag>div{display:inline-block;vertical-align:top;background:#fff;border-top:1px solid #ebebeb;border-right:1px solid #ebebeb;border-bottom:1px solid #ebebeb;padding:5px 10px;height:34px;line-height:26px;-moz-box-sizing:border-box;-webkit-box-sizing:border-box;box-sizing:border-box}
.webix_dd_drag_column{padding:5px 10px}
.webix_column>.webix_drag_over.webix_cell{background-color:#e6e6e6;color:#666}
-.webix_ss_header table,.webix_ss_header td,.webix_ss_header th{padding:0;margin:0}
+.webix_ss_header table,.webix_ss_header td{padding:0;margin:0}
.webix_cell.webix_invalid,.webix_column>.webix_cell.webix_invalid:nth-child(even){background-color:#fee}
.webix_invalid_cell{position:relative}
.webix_invalid_cell:after{content:"";position:absolute;top:0;right:0;width:0;height:1px;border-top:8px solid #f44;border-left:8px solid transparent}
@@ -284,14 +287,16 @@ div.webix_modal_cover{background-color:#000;cursor:default;filter:alpha(opacity=
.webix_column>div.webix_invalid.webix_row_select:nth-child(even),.webix_column>div.webix_row_select{border-bottom:1px solid #ebebeb;padding-top:0}
.webix_column>div.webix_column_select{border-left:1px solid #ebebeb;border-right:1px solid #ebebeb;padding-left:9px}
.webix_column>.webix_cell.webix_invalid.webix_cell_select:nth-child(even){color:#fff;background:#27ae60}
-.webix_dtable_colrow,.webix_dtable_subrow,.webix_dtable_subview{position:absolute;left:0;top:0;background-color:#fff;width:100%;padding-right:28px;padding-left:10px;padding-top:1px;border-bottom:1px solid #ebebeb}
+.webix_cell.webix_dtable_colrow,.webix_cell.webix_dtable_subrow,.webix_cell.webix_dtable_subview{position:absolute;left:0;top:0;background-color:#fff;width:100%;padding-right:28px;padding-left:10px;padding-top:1px;border-bottom:1px solid #ebebeb}
.webix_dtable_subrow{border-top:1px solid #ebebeb;text-align:right}
.webix_dtable_subview{background:#ebebeb;border-top:1px solid #ebebeb;padding:0 0 0 10px;box-sizing:border-box}
.number .webix_cell{text-align:right}
.webix_rotate{transform:rotate(-90deg);-webkit-transform:rotate(-90deg);line-height:normal}
.webix_measure_rotate{line-height:normal;white-space:normal;padding:10px}
-.webix_span_layer{background:0 0;position:absolute;left:0;top:0;height:0;width:0;overflow:visible}
-.webix_dtable_span{position:absolute;background:#fff}
+.webix_span_layer,.webix_span_layer_top{background:0 0;position:absolute;left:0;top:0;height:0;width:0;overflow:visible}
+.webix_span_layer_top{z-index:1;overflow:hidden}
+.webix_ss_right .webix_span_layer,.webix_ss_right .webix_span_layer_top{border-left:1px solid #ddd}
+.webix_dtable_span{position:absolute;background:#fff;text-align:left}
.webix_dtable_span.webix_selected{color:#fff;background:#27ae60}
.webix_hcell span.webix_input_icon{background-color:#b0cee3}
.webix_area_selection_layer{position:absolute;z-index:1}
@@ -451,7 +456,7 @@ div.webix_modal_cover{background-color:#000;cursor:default;filter:alpha(opacity=
.webix_property_col_ind{float:right;border:1px solid #ddd;border-radius:2px;width:30px;cursor:pointer;height:13px;margin:3px 10px 3px 0}
.webix_property_value{text-overflow:ellipsis;white-space:nowrap}
.webix_property_check{margin-top:5px}
-.webix_tooltip{display:none;white-space:pre;position:absolute;z-index:10000;background-color:#fff;padding:5px 10px;border:1px solid #ddd;font-family:'PT Sans',Tahoma;font-size:15px;color:#666;border-radius:0;box-shadow:1px 1px 0 0 #CCC}
+.webix_tooltip{display:none;position:absolute;z-index:10000;background-color:#fff;padding:5px 10px;border:1px solid #ddd;font-family:'PT Sans',Tahoma;font-size:15px;color:#666;border-radius:0;box-shadow:1px 1px 0 0 #CCC}
.webix_color_row{clear:both;white-space:nowrap}
.webix_color_palette{text-align:left;-moz-user-select:none;-webkit-user-select:none;-ms-user-select:none;user-select:none}
.webix_color_row,.webix_color_row div,.webix_color_selector{line-height:0;font-size:0}
@@ -575,6 +580,10 @@ label.webix_required:after{padding-left:4px;content:"*";color:red}
.webix_multicombo_tag{min-width:15px;text-align:center;padding:0 5px}
.webix_multicombo_delete{margin-left:10px;padding:0 5px;color:#404040;cursor:pointer}
.webix_multilist .webix_selected{background:#f2f2f2;color:#666}
+.webix_checksuggest_select_all{border:none;border-bottom:1px solid #ebebeb;border-color:#ebebeb;margin-bottom:1px}
+.webix_checksuggest_select_all .webix_label_right{text-transform:capitalize;display:block;padding-top:2px;padding-bottom:4px}
+.webix_checksuggest_select_all input{display:none}
+.webix_checksuggest_select_all:hover .webix_label_right{cursor:pointer;color:#3498db}
.webix_el_tabbar{background:0 0}
.webix_all_tabs{height:100%;display:table}
.webix_tab_filler{display:table-cell;background:0 0;font-size:1px;border-bottom:1px solid #ddd;-moz-box-sizing:border-box;-webkit-box-sizing:border-box;box-sizing:border-box}
@@ -683,22 +692,28 @@ label.webix_required:after{padding-left:4px;content:"*";color:red}
.webix_fieldset legend{color:#666;font-size:12px}
.webix_forminput fieldset{border:none;margin:0;padding:0}
.webix_forminput legend{color:#666;line-height:32px;padding:3px 7.5px 3px 2px;-moz-box-sizing:border-box;-webkit-box-sizing:border-box;box-sizing:border-box;font-family:'PT Sans',Tahoma;float:left}
-.webix_slider_box{position:relative;padding:15px 10px 0;height:100%;float:left;border-radius:5px;-moz-box-sizing:border-box;-webkit-box-sizing:border-box;box-sizing:border-box}
+.webix_slider_box{position:relative;padding:15px 10px 0;height:100%;float:left;border-radius:5px;-moz-box-sizing:border-box;-webkit-box-sizing:border-box;box-sizing:border-box;margin-top:-11px}
.webix_slider_box .webix_slider_left{float:left;width:100px;-webkit-border-radius:5px 0 0 5px;-moz-border-radius-topleft:5px;-moz-border-radius-bottomleft:5px;-moz-border-radius-topright:0;-moz-border-radius-bottomright:0;border-radius:5px 0 0 5px;-moz-box-sizing:border-box;-webkit-box-sizing:border-box;box-sizing:border-box}
.webix_slider_box .webix_slider_right{float:left;width:100px;background:#fff;-webkit-border-radius:0 5px 5px 0;-moz-border-radius-topleft:0;-moz-border-radius-bottomleft:0;-moz-border-radius-topright:5px;-moz-border-radius-bottomright:5px;border-radius:0 5px 5px 0;border:1px solid #eaeaea;-moz-box-sizing:border-box;-webkit-box-sizing:border-box;box-sizing:border-box}
-.webix_slider_box .webix_slider_handle{z-index:1;position:absolute;top:9px;border-radius:8px}
+.webix_slider_box .webix_slider_handle{z-index:1;position:absolute;border-radius:8px}
.webix_slider_box .webix_slider_left{height:6px;border:1px solid #ccc;background:#3498db}
.webix_slider_box .webix_slider_right{height:6px;border-color:#ccc}
-.webix_slider_box .webix_slider_handle{width:16px;height:16px;border:1px solid #ccc;background-color:#fff}
+.webix_slider_box .webix_slider_handle{width:14px;height:14px;border:1px solid #ccc;background-color:#fff;top:10px}
.webix_rangeslider .webix_slider_box .webix_slider_left{position:absolute}
.webix_rangeslider .webix_slider_box .webix_slider_active{z-index:1}
.webix_rangeslider .webix_slider_box .webix_slider_right{border-radius:5px}
.webix_slider_alt .webix_slider_box .webix_slider_left,.webix_slider_alt .webix_slider_box .webix_slider_right{border:1px solid #e1e1e1}
-.webix_slider_alt .webix_slider_box .webix_slider_handle{width:11px;margin:0 2px;height:20px;top:6.5px;border-radius:2px;background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAICAYAAAAx8TU7AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyJpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNiAoV2luZG93cykiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6OTJCMjdFNENBRTg4MTFFMjk2NjJGMTJENjkyNDA2NTkiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6OTJCMjdFNERBRTg4MTFFMjk2NjJGMTJENjkyNDA2NTkiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDo5MkIyN0U0QUFFODgxMUUyOTY2MkYxMkQ2OTI0MDY1OSIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDo5MkIyN0U0QkFFODgxMUUyOTY2MkYxMkQ2OTI0MDY1OSIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/Powz/icAAAAaSURBVHjaYmBgYDBjgAA4zcSABQysIECAAQBn+ACx2PqtbAAAAABJRU5ErkJggg==);background-repeat:no-repeat;background-position:3px center}
+.webix_slider_alt .webix_slider_box .webix_slider_handle{margin:0 2px;height:14px;border-radius:2px;background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAICAYAAAAx8TU7AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyJpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNiAoV2luZG93cykiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6OTJCMjdFNENBRTg4MTFFMjk2NjJGMTJENjkyNDA2NTkiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6OTJCMjdFNERBRTg4MTFFMjk2NjJGMTJENjkyNDA2NTkiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDo5MkIyN0U0QUFFODgxMUUyOTY2MkYxMkQ2OTI0MDY1OSIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDo5MkIyN0U0QkFFODgxMUUyOTY2MkYxMkQ2OTI0MDY1OSIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/Powz/icAAAAaSURBVHjaYmBgYDBjgAA4zcSABQysIECAAQBn+ACx2PqtbAAAAABJRU5ErkJggg==);background-repeat:no-repeat;background-position:3px center}
.webix_slider_alt .webix_slider_box .webix_slider_left{border:1px solid #ccc;background:#3498db}
.webix_slider_alt .webix_slider_box .webix_slider_right{border-color:#ccc}
-.webix_slider_alt .webix_slider_box .webix_slider_handle{background-color:#fff;border:1px solid #ccc}
-.webix_slider_title{margin-bottom:-11px;text-align:center}
+.webix_slider_alt .webix_slider_box .webix_slider_handle{background-color:#fff;border:1px solid #ccc;top:10px;width:11px}
+.webix_slider_vertical .webix_slider_box .webix_slider_left,.webix_slider_vertical .webix_slider_box .webix_slider_right{float:none}
+.webix_slider_vertical .webix_slider_box .webix_slider_left{-webkit-border-radius:0 0 5px 5px;-moz-border-radius-topleft:0;-moz-border-radius-bottomleft:5px;-moz-border-radius-topright:0;-moz-border-radius-bottomright:5px;border-radius:0 0 5px 5px}
+.webix_slider_vertical .webix_slider_box .webix_slider_right{-webkit-border-radius:5px 5px 0 0;-moz-border-radius-topleft:5px;-moz-border-radius-bottomleft:0;-moz-border-radius-topright:5px;-moz-border-radius-bottomright:0;border-radius:5px 5px 0 0}
+.webix_slider_vertical .webix_slider_title{padding-top:1px;text-align:left}
+.webix_slider_vertical.webix_slider_alt .webix_slider_handle{height:11px;width:14px;background-position:4px center}
+.webix_slider_title{text-align:center}
+.webix_slider_title.webix_slider_move{position:relative;text-align:left;display:inline-block;width:auto}
.webix_progress_bottom,.webix_progress_top{width:100%;position:absolute;top:0;left:0;height:6px;overflow:hidden;z-index:20;background:#f2f2f2}
.webix_progress_bottom{bottom:0;top:auto;height:17px}
.webix_progress_bottom .webix_progress_state,.webix_progress_top .webix_progress_state{width:0;height:6px;background:#27ae60;-moz-transition:width 3s;transition:width 3s}
@@ -1511,6 +1526,7 @@ label.webix_required:after{padding-left:4px;content:"*";color:red}
.webix_dbllist button:first-child{margin-top:32px;margin-right:5%}
.webix_dbllist button:last-child{margin-left:5%}
.webix_dbllist .bottom_label{font-size:10px;text-transform:uppercase;background:#ededed;padding-left:13px}
+.webix_invalid .webix_list{background:#f8e2e2}
@font-face{font-family:'PT Sans';font-style:normal;font-weight:400;src:local('PT Sans'),local('PTSans-Regular'),url(fonts/PTS-webfont.woff) format('woff')}
@font-face{font-family:'PT Sans';font-style:normal;font-weight:700;src:local('PT Sans Bold'),local('PTSans-Bold'),url(fonts/PTS-bold.woff) format('woff')}
.mainFont{font-family:'PT Sans',Tahoma;font-size:15px;color:#666}
@@ -1681,7 +1697,9 @@ div.webix_item_tab.webix_selected{padding-top:2px}
.webix_selected.webix_segment_0:hover,.webix_selected.webix_segment_1:hover,.webix_selected.webix_segment_N:hover{background-color:#239d57}
.webix_selected.webix_segment_0:active,.webix_selected.webix_segment_0:focus,.webix_selected.webix_segment_1:active,.webix_selected.webix_segment_1:focus,.webix_selected.webix_segment_N:active,.webix_selected.webix_segment_N:focus{background-color:#219552}
.webix_all_segments .webix_segment_1,.webix_all_segments .webix_segment_N{margin-left:1px;border-left:none}
-.webix_el_slider .webix_slider_title{margin-bottom:-13px}
+.webix_slider_vertical .webix_slider_box .webix_slider_left,.webix_slider_vertical .webix_slider_box .webix_slider_right{width:6px}
+.webix_slider_vertical .webix_slider_box .webix_slider_handle{left:5px}
+.webix_slider_vertical.webix_slider_alt .webix_slider_handle{left:3px}
.activeShadow{box-shadow:inset 0 3px 5px rgba(0,0,0,.125)}
.toggleShadow{box-shadow:inset 0 3px 5px rgba(0,0,0,.18)}
.webix_el_toggle .webix_pressed .webix_img_btn,.webix_el_toggle .webix_pressed .webix_img_btn_top{box-shadow:inset 0 3px 5px rgba(0,0,0,.125)}
@@ -1732,6 +1750,29 @@ a:active .webix_custom_radio,a:focus .webix_custom_radio{border:1px solid #3498d
.webix_sparklines_event_area{fill:transparent}
.webix_sparklines_area_chart .webix_sparklines_event_area:hover,.webix_sparklines_line_chart .webix_sparklines_event_area:hover,.webix_sparklines_splinearea_chart .webix_sparklines_event_area:hover{fill:rgba(220,220,220,.4);stroke:rgba(255,255,255,.6)}
.webix_sparklines_bar_chart .webix_sparklines_event_area:hover,.webix_sparklines_pie_chart .webix_sparklines_event_area:hover{fill:rgba(255,255,255,.3)}
+.webix_ui_print{display:none}
+body.webix_print{margin-top:0}
+@media print{body.webix_print{overflow:visible!important;background-color:none!important}
+body.webix_print>*{display:none}
+body.webix_print *{visibility:hidden}
+.webix_ui_print{display:block!important;margin:0!important;visibility:visible!important}
+.webix_ui_print *{visibility:visible!important}
+.webix_print_noscroll{height:auto!important;width:auto!important}
+.webix_print_noscroll,.webix_print_noscroll .webix_scroll_cont{overflow:visible!important}
+.webix_print_pagebreak{page-break-after:always}
+.webix_print_footer,.webix_print_header{display:block!important;margin:20px 0;text-align:center;height:auto!important;visibility:visible!important}
+.webix_print_footer *,.webix_print_header *{visibility:visible!important}
+.webix_table_print{display:table;visibility:visible!important;table-layout:fixed;width:100%;border:1px solid #ebebeb;margin-bottom:20px;position:initial}
+.webix_table_print td{overflow:hidden}
+.webix_table_print tr{page-break-inside:avoid}
+.webix_table_print .webix_cell{display:table-cell!important;border-right:1px solid #ebebeb;border-bottom:1px solid #ebebeb;padding:0 10px;white-space:nowrap}
+.webix_table_print .webix_header_cell{display:table-cell;font-size:15px;color:#4a4a4a;background:#d2e3ef;border-right:1px solid #b0cee3;border-bottom:1px solid #b0cee3}
+.webix_table_print .webix_footer_cell{display:table-cell;background:#fafafa;border-right:1px solid #ebebeb;border-top:1px solid #ebebeb;border-bottom:1px solid #ebebeb}
+.webix_table_print .webix_cell.webix_dtable_span{position:initial!important;white-space:normal}
+.webix_table_print .webix_rotate{transform-origin:center 40%!important;-webkit-transform-origin:center 40%!important}
+.webix_table_print.borderless,.webix_table_print.borderless .webix_cell{border:none}
+.webix_table_print.webix_view.webix_list-x{white-space:normal}
+.webix_table_print.webix_view.webix_list-x .webix_list_item{display:table-cell}}
.webix_strong{font-weight:700;white-space:nowrap}
.webix_light{color:#b3b3b3}
.webix_debug div{border:1px solid orange;background-color:#FF9;color:#000}
diff --git a/source/static/js/controller/admin.js b/source/static/js/controller/admin.js
index 4743426..47c90b8 100644
--- a/source/static/js/controller/admin.js
+++ b/source/static/js/controller/admin.js
@@ -308,6 +308,7 @@ function cmd_subir_certificado_click(){
}
var rfc = $$('form_cert').getValues()['cert_rfc']
+
if(rfc){
msg = 'Ya existe un certificado guardado
¿Deseas reemplazarlo?'
webix.confirm({
@@ -322,6 +323,8 @@ function cmd_subir_certificado_click(){
}
}
})
+ }else{
+ $$('up_cert').send()
}
}
diff --git a/source/static/js/es.js b/source/static/js/es.js
index 7a41a7e..d8025d2 100644
--- a/source/static/js/es.js
+++ b/source/static/js/es.js
@@ -1,13 +1,13 @@
-/*Spanish locale*/
-webix.i18n.locales["es"] = {
+/*Spanish (Spain, International Sort) locale*/
+webix.i18n.locales["es-ES"] = {
groupDelimiter:".",
groupSize:3,
decimalDelimiter:",",
decimalSize:2,
dateFormat:"%d/%n/%Y",
timeFormat:"%G:%i",
- longDateFormat:"%l, %d' %je '%F' %je '%Y",
- fullDateFormat:"%l, %d' %je '%F' %je '%Y %G:%i",
+ longDateFormat:"%d %F %Y",
+ fullDateFormat:"%d %F %Y %G:%i",
am:null,
pm:null,
price:"{obj} €",
@@ -21,6 +21,67 @@ webix.i18n.locales["es"] = {
monthFull:["enero","febrero","marzo","abril","mayo","junio","julio","agosto","septiembre","octubre","noviembre","diciembre"],
monthShort:["ene","feb","mar","abr","may","jun","jul","ago","sep","oct","nov","dic"],
dayFull:["domingo","lunes","martes","miércoles","jueves","viernes","sábado"],
- dayShort:["dom","lun","mar","mié","jue","vie","sáb"]
- }
+ dayShort:["dom","lun","mar","mié","jue","vie","sáb"],
+ hours: "Horas",
+ minutes: "Minutos",
+ done:"Listo",
+ clear: "Reinicio",
+ today: "Hoy"
+ },
+
+ controls:{
+ select:"Seleccione",
+ invalidMessage: "Valor de entrada no válido"
+ },
+ dataExport:{
+ page:"Página",
+ of:"de"
+ },
+ PDFviewer:{
+ of:"de",
+ automaticZoom:"Zoom automático",
+ actualSize:"Tamaño real",
+ pageFit:"Tamaño de página",
+ pageWidth:"Ancho de página",
+ pageHeight:"Altura de la página"
+ },
+ aria:{
+ calendar:"Сalendario",
+ increaseValue:"Aumentar el valor",
+ decreaseValue:"Disminuye el valor",
+ navMonth:["Mes anterior", "Próximo mes"],
+ navYear:["Año anterior", "Próximo año"],
+ navDecade:["Década anterior", "Próxima década"],
+ dateFormat:"%d %F %Y",
+ monthFormat:"%F %Y",
+ yearFormat:"%Y",
+ hourFormat:"Horas: %G",
+ minuteFormat:"Minutos: %i",
+ removeItem:"Retire el elemento",
+ pages:["Primera página", "Pagina anterior", "Siguiente página", "Última página"],
+ page:"Página",
+ headermenu:"Menú de títulos",
+ openGroup:"Grupo de columnas abiertas",
+ closeGroup:"Primer grupo de columnas",
+ closeTab:"Cerrar tab",
+ showTabs:"Mostrar más tabs",
+ resetTreeMap:"Volver a la vista original",
+ navTreeMap:"Elevar a mismo nivel",
+ nextTab:"Siguiente tab",
+ prevTab:"Tab anterior",
+ multitextSection:"Añadir elemento",
+ multitextextraSection:"Retire el elemento",
+ showChart:"Espectáculo chart",
+ hideChart:"Esconder chart",
+ resizeChart:"Cambiar el tamaño el chart"
+ },
+ richtext:{
+ underline: "Subrayar",
+ bold: "Negrita",
+ italic: "Itálico"
+ },
+ combo:{
+ selectAll:"Seleccionar todo",
+ unselectAll:"Deselecciona todo"
+ }
};
diff --git a/source/static/js/webix.js b/source/static/js/webix.js
index 6376784..8cb16fb 100644
--- a/source/static/js/webix.js
+++ b/source/static/js/webix.js
@@ -1,12 +1,12 @@
/*
@license
-webix UI v.4.3.0
+webix UI v.5.0.1
This software is covered by Webix Commercial License.
Usage without proper license is prohibited.
(c) XB Software Ltd.
*/
-window.webix||(webix={}),webix.version="4.3.0",webix.codebase="./",webix.name="core",webix.cdn="//cdn.webix.com",webix.clone=function(t){var e=webix.clone.a;return e.prototype=t,new e},webix.clone.a=function(){},webix.extend=function(t,e,i){if(t.$protoWait)return webix.PowerArray.insertAt.call(t.$protoWait,e,1),
-t;for(var s in e)(!t[s]||i)&&(t[s]=e[s]);return e.defaults&&webix.extend(t.defaults,e.defaults),e.$init&&e.$init.call(t),t},webix.copy=function(t){var e;arguments.length>1?(e=arguments[0],t=arguments[1]):e=webix.isArray(t)?[]:{};for(var i in t){var s=t[i];!s||"object"!=typeof s||s instanceof RegExp?e[i]=s:webix.isDate(s)?e[i]=new Date(s):(e[i]=webix.isArray(s)?[]:{},
+window.webix||(webix={}),webix.version="5.0.1",webix.codebase="./",webix.name="core",webix.cdn="//cdn.webix.com",webix.clone=function(t){var e=webix.clone.a;return e.prototype=t,new e},webix.clone.a=function(){},webix.extend=function(t,e,i){if(t.$protoWait)return webix.PowerArray.insertAt.call(t.$protoWait,e,1),
+t;for(var s in e)s in t&&!i||(t[s]=e[s]);return e.defaults&&webix.extend(t.defaults,e.defaults),e.$init&&e.$init.call(t),t},webix.copy=function(t){var e;arguments.length>1?(e=arguments[0],t=arguments[1]):e=webix.isArray(t)?[]:{};for(var i in t){var s=t[i];!s||"object"!=typeof s||s instanceof RegExp?e[i]=s:webix.isDate(s)?e[i]=new Date(s):(e[i]=webix.isArray(s)?[]:{},
webix.copy(e[i],s))}return e},webix.single=function(t){var e=null,i=function(i){return e||(e=new t({})),e.c&&e.c.apply(e,arguments),e};return i},webix.protoUI=function(){var t=arguments,e=t[0].name,i=function(t){if(!i)return webix.ui[e].prototype;var s=i.$protoWait;if(s){for(var n=[s[0]],a=1;a0;n--){if("function"==typeof t[n]&&(t[n]=t[n].prototype),t[n].$init&&s.push(t[n].$init),t[n].defaults){var a=t[n].defaults;e.defaults||(e.defaults={});for(var r in a)webix.isUndefined(e.defaults[r])&&(e.defaults[r]=a[r]);
@@ -28,7 +28,7 @@ webix.PowerArray={removeAt:function(t,e){t>=0&&this.splice(t,e||1)},remove:funct
return-1},each:function(t,e){for(var i=0;i-1){
webix.env.cssPrefix=n[i];var o=webix.env.jsPrefix=s[i];webix.env.transform=o?o+"Transform":"transform",webix.env.transition=o?o+"Transition":"transition",webix.env.transitionDuration=o?o+"TransitionDuration":"transitionDuration",a.style[webix.env.transform]="translate3d(0,0,0)",webix.env.translate=a.style[webix.env.transform]?"translate3d":"translate",
webix.env.transitionEnd="-Moz-"==webix.env.cssPrefix?"transitionend":o?o+"TransitionEnd":"transitionend"}webix.env.pointerevents=!webix.env.isIE||null!==new RegExp("Trident/.*rv:11").exec(t)}(),webix.env.svg=function(){return document.implementation.hasFeature("http://www.w3.org/TR/SVG11/feature#BasicStructure","1.1");
@@ -49,72 +49,72 @@ e.indexOf||(e=""),e},setSelectionRange:function(t,e,i){if(e=e||0,i=i||e,t.focus(
end:t.selectionEnd||0};t.focus();var e=document.selection.createRange(),i=e.getBookmark(),s=t.createTextRange();s.moveToBookmark(i);var n=s.text.length;s.collapse(!0),s.moveStart("character",-t.value.length);var a=s.text.length;return{start:a,end:a+n}}},webix.ready=function(t){this.o?t.call():this.p.push(t);
},webix.p=[],function(){var t=document.getElementsByTagName("SCRIPT");t.length&&(t=(t[t.length-1].getAttribute("src")||"").split("/"),t.splice(t.length-1,1),webix.codebase=t.slice(0,t.length).join("/")+"/");var e=function(){webix.env.isIE&&(document.body.className+=" webix_ie"),webix.callEvent("onReady",[]);
},i=function(){webix.o=!0,window.webix_ready&&webix.isArray(webix_ready)&&(webix.p=webix_ready.concat(webix.p));for(var t=0;th;h++){var l,c=i[h];try{l=c&&c.then}catch(u){n.reject(u);break}!function(e){t.thennable(l,function(t){i[e]=t,s()},function(t){n.reject(t);
-},function(){s()},c)}(h)}return n})};var s={all:function(t){var i=new e(null,null);return i.resolve(t),i.all()},defer:function(){return new e(null,null)},fcall:function(){var t=new e,i=Array.apply([],arguments),s=i.shift();try{var n=s.apply(null,i);t.resolve(n)}catch(a){t.reject(a)}return t},nfcall:function(){
-var t=new e,i=Array.apply([],arguments),s=i.shift();try{i.push(function(e,i){return e?t.reject(e):t.resolve(i)}),s.apply(null,i)}catch(n){t.reject(n)}return t}};t.promise=s}(webix),function(){function t(t,e){this.kD={},this.lD=[],this.mD=t,this.U="",e?this.nD(e):this.o=webix.ajax(t).then(function(t){
-return t.text()}).then(webix.bind(function(t){return t=t.split("/*api*/")[1],this.nD(JSON.parse(t)),this.kD},this))}function e(e,i){var s=new t(e,i);return s.oD()}var i="__webix_remote_error";t.prototype={nD:function(t){if(t.$key&&(this.U=t.$key),t.$vars)for(var e in t.$vars)this.kD[e]=t.$vars[e];this.df(t,this.kD,"");
-},df:function(t,e,i){for(var s in t)if("$key"!==s&&"$vars"!==s){var n=t[s];if("object"==typeof n){var a=e[s]={};this.df(n,a,i+s+".")}else e[s]=this.pD(this,i+s)}},qD:function(t,e){var i=this.rD(this,t,e);return this.lD.push(i),this.sD(),i},sD:function(){this.tD||(this.tD=setTimeout(webix.bind(this.uD,this),1));
-},uD:function(){for(var t=[],e=this.lD,s=0;s":">",'"':""","'":"'","`":"`"},r=/[&<>"'`]/g,h=function(t){return a[t]||"&"};webix.template=function(a){if("function"==typeof a)return a;if(t[a])return t[a];if(a=(a||"").toString(),-1!=a.indexOf("->")){var r=a.split("->");switch(r[0]){case"html":a=webix.html.getValue(r[1]);
-break;case"http":a=(new webix.ajax).sync().get(r[1],{uid:webix.uid()}).responseText}}if(a=(a||"").toString(),webix.env.strict){if(!e[a]){e[a]=[];var h=[];if(a.replace(/\{obj\.([^}?]+)\?([^:]*):([^}]*)\}/g,function(t,e,i,s,n){h.push({pos:n,str:t,fn:function(t,n){return t[e]?i:s}})}),a.replace(/\{common\.([^}\(]*)\}/g,function(t,e,i){
-h.push({pos:i,str:t,fn:function(t,i){return i[e]||""}})}),a.replace(/\{common\.([^\}\(]*)\(\)\}/g,function(t,e,i){h.push({pos:i,str:t,fn:function(t,i){return i[e]?i[e].apply(this,arguments):""}})}),a.replace(/\{obj\.([^:}]*)\}/g,function(t,e,i){h.push({pos:i,str:t,fn:function(t,i){return t[e]}})}),a.replace("{obj}",function(t,e,i){
-h.push({pos:i,str:t,fn:function(t,e){return t}})}),a.replace(/#([^#'";, ]+)#/gi,function(t,e,i){"!"==e.charAt(0)?h.push({pos:i,str:t,fn:function(t,i){return e=e.substr(1),-1!=e.indexOf(".")&&(t=webix.CodeParser.collapseNames(t)),webix.template.escape(t[e.substr(1)])}}):h.push({pos:i,str:t,fn:function(t,i){
-return-1!=e.indexOf(".")&&(t=webix.CodeParser.collapseNames(t)),t[e]}})}),h.sort(function(t,e){return t.pos>e.pos?1:-1}),h.length){for(var o=0,l=function(t,i,s){e[t].push(function(){return t.slice(i,s)})},c=0;c")){var e=t.split("->");return webix.proxy(e[0],e[1])}return t},webix.proxy.post={$proxy:!0,load:function(t,e,i){i=webix.extend(i||{},this.params||{},!0),webix.ajax().bind(t).post(this.source,i,e)}},webix.proxy.sync={$proxy:!0,
-load:function(t,e){webix.ajax().sync().bind(t).get(this.source,null,e)}},webix.proxy.connector={$proxy:!0,connectorName:"!nativeeditor_status",load:function(t,e){webix.ajax(this.source,e,t)},saveAll:function(t,e,i,s){for(var n=this.source,a={},r=[],h=0;h":">",'"':""","'":"'","`":"`"},r=/[&<>"'`]/g,h=function(t){return a[t]||"&";
+};webix.template=function(a){if("function"==typeof a)return a;if(t[a])return t[a];if(a=(a||"").toString(),-1!=a.indexOf("->")){var r=a.split("->");switch(r[0]){case"html":a=webix.html.getValue(r[1]);break;case"http":a=(new webix.ajax).sync().get(r[1],{uid:webix.uid()}).responseText}}if(a=(a||"").toString(),
+webix.env.strict){if(!e[a]){e[a]=[];var h=[];if(a.replace(/\{obj\.([^}?]+)\?([^:]*):([^}]*)\}/g,function(t,e,i,s,n){h.push({pos:n,str:t,fn:function(t,n){return t[e]?i:s}})}),a.replace(/\{common\.([^}\(]*)\}/g,function(t,e,i){h.push({pos:i,str:t,fn:function(t,i){return i[e]||""}})}),a.replace(/\{common\.([^\}\(]*)\(\)\}/g,function(t,e,i){
+h.push({pos:i,str:t,fn:function(t,i){return i[e]?i[e].apply(this,arguments):""}})}),a.replace(/\{obj\.([^:}]*)\}/g,function(t,e,i){h.push({pos:i,str:t,fn:function(t,i){return t[e]}})}),a.replace("{obj}",function(t,e,i){h.push({pos:i,str:t,fn:function(t,e){return t}})}),a.replace(/#([^#'";, ]+)#/gi,function(t,e,i){
+"!"==e.charAt(0)?(e=e.substr(1),h.push({pos:i,str:t,fn:function(t,i){return-1!=e.indexOf(".")&&(t=webix.CodeParser.collapseNames(t)),webix.template.escape(t[e])}})):h.push({pos:i,str:t,fn:function(t,i){return-1!=e.indexOf(".")&&(t=webix.CodeParser.collapseNames(t)),t[e]}})}),h.sort(function(t,e){return t.pos>e.pos?1:-1;
+}),h.length){for(var o=0,l=function(t,i,s){e[t].push(function(){return t.slice(i,s)})},c=0;c")){
+var e=t.split("->");return webix.proxy(e[0],e[1])}return t},webix.proxy.post={$proxy:!0,load:function(t,e,i){i=webix.extend(i||{},this.params||{},!0),webix.ajax().bind(t).post(this.source,i,e)}},webix.proxy.sync={$proxy:!0,load:function(t,e){webix.ajax().sync().bind(t).get(this.source,null,e)}},webix.proxy.connector={
+$proxy:!0,connectorName:"!nativeeditor_status",load:function(t,e){webix.ajax(this.source,e,t)},saveAll:function(t,e,i,s){for(var n=this.source,a={},r=[],h=0;h=400||0===r.status;"blob"==r.responseType||"arr
return this.master=t,this}},webix.ajax.$callback=function(t,e,i,s,n,a){if(!t.$destructed){if(-1===n&&s&&"function"==typeof s.json&&(s=s.json()),a&&webix.callEvent("onAjaxError",[n]),webix.isArray(e)||(e=[e]),!a)for(var r=0;r=0;i--)t[i].obj&&t[i].obj.adjust()},webix.ui.each=function(t,e,i,s){if(t)for(var n=s?[t]:t.getChildViews(),a=0;at&&(t=i[0]),i[2]>e&&(e=i[2]),(!s||this.s.width)&&t>i[1]&&(t=i[1]),(!s||this.s.height)&&e>i[3]&&(e=i[3]),
-this.$setSize(t,e),webix.ED&&(webix.ED=!1,this.adjust())},resize:function(t){if(!(webix.gc||webix.ui.$freeze||webix.ot)){var e=this.getParentView();e?e.resizeChildren?e.resizeChildren():e.resize():(this.adjust(),webix.callEvent("onResize",[]))}}},webix.Settings,webix.Destruction,webix.BaseBind,webix.UIExtension),
-webix.protoUI({name:"view",$init:function(t){this.hc(t)},hc:function(t){var e=webix.isUndefined(t.borderless);e&&!this.setPosition&&t.$topView&&(t.borderless=!0,e=!1),e&&this.defaults.borderless||t.borderless?t.Ob={top:!0,left:!0,bottom:!0,right:!0}:(t.Ob||(t.Ob={}),this.w.style.borderWidth="1px")},$getSize:function(t,e){
-var i=this.s.Ob;i&&(t+=(i.left?0:1)+(i.right?0:1),e+=(i.top?0:1)+(i.bottom?0:1));var s=webix.ui.baseview.prototype.$getSize.call(this,t,e);return s},$setSize:function(t,e){var i=this.s.Ob;return i&&(t-=(i.left?0:1)+(i.right?0:1),e-=(i.top?0:1)+(i.bottom?0:1)),webix.ui.baseview.prototype.$setSize.call(this,t,e);
-}},webix.ui.baseview)}(),webix.ui.view.call(webix),webix.protoUI({name:"spacer",defaults:{borderless:!0},$init:function(){this.x.className+=" webix_spacer"}},webix.ui.view),webix.protoUI({name:"baselayout",$init:function(t){this.$ready.push(this.kc),this.y=this.w,this.lc=[],this.ht=[],t.$topView&&(t.borderless=!0,
-t.Ob={top:!0,left:!0,bottom:!0,right:!0}),t.isolate&&webix.extend(this,webix.IdSpace)},rows_setter:function(t){this.mc=1,this.nc=t},cols_setter:function(t){this.mc=0,this.$view.style.whiteSpace="nowrap",this.nc=t},Rb:function(t){webix.PowerArray.removeAt.call(this.q,webix.PowerArray.find.call(this.q,t)),
-this.resizeChildren(!0)},Qb:function(t,e){if(webix.isUndefined(e)){for(var i=0;ie||e>this.q.length)&&(e=this.q.length);var n=(this.q[e]||{}).x;webix.PowerArray.insertAt.call(this.q,t,e),t.s.hidden||webix.html.insertBefore(t.x,n,this.y);
-}else{s=webix.$$(e),e=webix.PowerArray.find.call(this.q,s);var a=s.x.parentNode;a&&!t.s.hidden&&a.insertBefore(t.x,s.x),s.destructor(),this.q[e]=t}this.mc||this.oc(t),this.q[e].Xb=this}this.resizeChildren(!0);var r=this.elements?this:this.getFormView();r&&r.Qs(),webix.callEvent("onReconstruct",[this]);
-},oc:function(t){t.x.style.display="inline-block",t.x.style.verticalAlign="top"},addView:function(t,e){webix.isUndefined(e)&&(e=this.q.length);var i=this.$$?this:this.getTopParentView();return i=i&&i.ui?i:webix,i.ui(t,this,e).s.id},removeView:function(t){var e;e="object"!=typeof t?webix.$$(t)||(this.$$?this.$$(t):null):t;
-var i=webix.PowerArray.find.call(this.q,e);if(i>=0){this.Vx&&this.Vx(i,e);var s=this.elements?this:this.getFormView();this.q.splice(i,1),s&&webix.ui.each(e,function(t){t.name&&delete s.getCleanValues()[t.config.name]},s,!0),e.destructor(),this.resizeChildren(!0),s&&s.Qs()}webix.callEvent("onReconstruct",[this]);
-},reconstruct:function(){this.qc=0,this.Qb(this.nc)},Fb:function(t,e,i){t.s.hidden||(t.s.hidden=!0,webix.html.remove(t.x),this.qc++,i||webix.Nb||this.resizeChildren(!0))},Lw:function(t){t.callEvent&&t.callEvent("onViewShow",[])},resizeChildren:function(){if(!webix.ui.$freeze&&this.lc){var t=this.getParentView();
-if(t)return t.resizeChildren?t.resizeChildren():t.resize();var e,i,s,n,a=this.$getSize(0,0);s=e=this.lc[0]||0,n=i=this.lc[1]||0,(a[1]>=1e5||a[3]>=1e5)&&this.x.parentNode&&(s=e=Math.max(a[0],this.s.width||this.x.parentNode.offsetWidth||e||0),n=i=Math.max(a[2],this.s.height||this.x.parentNode.offsetHeight||i||0)),
-t?this.rc(e,i):(a[0]>e&&(s=a[0]),a[2]>i&&(n=a[2]),e>a[1]&&(s=a[1]),i>a[3]&&(n=a[3]),this.$setSize(s,n)),webix.ED&&(webix.ED=!1,this.resizeChildren()),webix.callEvent("onResize",[])}},getChildViews:function(){return this.q},index:function(t){t.s&&(t=t.s.id);for(var e=0;ei&&(i=c[0]),c[1]a&&(a=c[2]),c[3]n&&(n=a),i>s&&(s=i),this.vc=[r,this.q.length-h,o],this.ng=[i+t,a+e];var u=webix.ui.baseview.prototype.$getSize.call(this,0,0);return u[1]>=1e5&&(u[1]=0),u[3]>=1e5&&(u[3]=0),u[0]=(u[0]||i)+t,u[1]=Math.max(u[0],(u[1]||s)+t),u[2]=(u[2]||a)+e,u[3]=Math.max(u[2],(u[3]||n)+e),
-!this.mc&&this.s.responsive&&(u[0]=0),u},$setSize:function(t,e){this.lc=[t,e],webix.ui.baseview.prototype.$setSize.call(this,t,e),this.rc(t,e)},wc:function(t,e,i){e=t[e],i=t[i];var s=e;if(e!=i){var n=this.xc*t[4]/this.yc;if(e>n)s=e,this.yc-=t[4],this.xc-=s;else{if(!(n>i))return-1;s=i,this.yc-=t[4],this.xc-=s;
-}}return s},it:function(t,e){var i=webix.$$(e);"hide"!==i&&i?(i||(i=webix.ui({view:"popup",body:[{}]})),t.jt=t.s.width,t.kt=t.s.height,t.lt=i.s.id,t.s.width=0,t.s.height||(t.s.autoheight=!0),webix.ui(t,i,this.ht.length)):(t.hide(),t.lt="hide"),this.ht.push(t)},mt:function(t){var e=t.lt;if(t.lt=0,"hide"!==e&&e){
-t.s.width=t.jt,t.s.height=t.kt,delete t.s.autoheight;for(var i=0;this.q[i]&&this.q[i].s.responsiveCell===!1;)i++;webix.ui(t,this,i)}else t.show();this.ht.pop()},nt:function(t,e){if(webix.ot=!0,t+2*this.Dc+this.Cc*(this.q.length-1)s;s++){var n=this.q[s];if(!n.lt){
-if(n.s.responsiveCell!==!1){this.it(n,this.s.responsive),webix.callEvent("onResponsiveHide",[n.s.id]),webix.ED=!0;break}i=this.q.length}}else if(this.ht.length){var n=this.ht[this.ht.length-1],a="hide"==n.lt?0:n.jt,r=n.$getSize(a,0);r[0]+this.ng[0]+this.Cc+20<=t&&(this.mt(n),webix.callEvent("onResponsiveShow",[n.s.id]),
-webix.ED=!0)}webix.ot=!1},rc:function(t,e){webix.gc=(webix.gc||0)+1,!this.mc&&this.s.responsive&&this.nt(t,e),this.xc=(this.mc?e:t)-this.vc[0],this.yc=this.vc[2];for(var i=t,s=e,n=[],a=0;as){
-n.push(a);continue}}else{var i=this.wc(r,0,1);if(0>i){n.push(a);continue}}this.q[a].$setSize(i,s)}for(var a=0;a0&&!this.Xx},Hc:function(t){if(!this.Wx()||this.s.borderless&&"space"!=this.s.type){for(var e=0;ee;e++)t[e].Ob.top=t[e].Ob.bottom=i;if(s>1){for("head"!=this.s.type&&(t[0].Ob.bottom=i);t[s-1].hidden&&s>1;)s--;s>0&&(t[s-1].Ob.top=i)}}else{for(var e=1;s-1>e;e++)t[e].Ob.left=t[e].Ob.right=i;if(s>1){for("head"!=this.s.type&&(t[0].Ob.right=i),t[s-1].Ob.left=i;s>1&&t[s-1].hidden;)s--;
-s>0&&(t[s-1].Ob.left=i)}}}else for(var e=0;e