├── .gitignore ├── LICENSE ├── MANIFEST.in ├── README.md ├── README.rst ├── demo_app ├── apps │ ├── __init__.py │ ├── base │ │ ├── __init__.py │ │ ├── adminx.py │ │ ├── plugins.py │ │ ├── sitemenu.py │ │ ├── urls.py │ │ └── views.py │ ├── errorpage │ │ ├── __init__.py │ │ ├── static │ │ │ ├── assets │ │ │ │ ├── css │ │ │ │ │ ├── font-awesome.min.css │ │ │ │ │ ├── ie9.css │ │ │ │ │ ├── main.css │ │ │ │ │ └── noscript.css │ │ │ │ ├── fonts │ │ │ │ │ ├── FontAwesome.otf │ │ │ │ │ ├── fontawesome-webfont.eot │ │ │ │ │ ├── fontawesome-webfont.svg │ │ │ │ │ ├── fontawesome-webfont.ttf │ │ │ │ │ ├── fontawesome-webfont.woff │ │ │ │ │ └── fontawesome-webfont.woff2 │ │ │ │ ├── js │ │ │ │ │ ├── jquery.min.js │ │ │ │ │ ├── main.js │ │ │ │ │ ├── skel.min.js │ │ │ │ │ └── util.js │ │ │ │ └── sass │ │ │ │ │ ├── base │ │ │ │ │ ├── _page.scss │ │ │ │ │ └── _typography.scss │ │ │ │ │ ├── components │ │ │ │ │ ├── _box.scss │ │ │ │ │ ├── _button.scss │ │ │ │ │ ├── _form.scss │ │ │ │ │ ├── _icon.scss │ │ │ │ │ ├── _image.scss │ │ │ │ │ ├── _list.scss │ │ │ │ │ └── _table.scss │ │ │ │ │ ├── ie9.scss │ │ │ │ │ ├── layout │ │ │ │ │ ├── _bg.scss │ │ │ │ │ ├── _footer.scss │ │ │ │ │ ├── _header.scss │ │ │ │ │ ├── _main.scss │ │ │ │ │ └── _wrapper.scss │ │ │ │ │ ├── libs │ │ │ │ │ ├── _functions.scss │ │ │ │ │ ├── _mixins.scss │ │ │ │ │ ├── _skel.scss │ │ │ │ │ └── _vars.scss │ │ │ │ │ ├── main.scss │ │ │ │ │ └── noscript.scss │ │ │ └── images │ │ │ │ ├── bg.jpg │ │ │ │ └── overlay.png │ │ ├── templates │ │ │ ├── error.html │ │ │ └── login_fail.html │ │ └── views.py │ ├── index │ │ ├── __init__.py │ │ ├── static │ │ │ └── xadmin │ │ │ │ ├── css │ │ │ │ ├── animate.css │ │ │ │ ├── plugins.css │ │ │ │ └── style.css │ │ │ │ ├── images │ │ │ │ ├── footer-bg.png │ │ │ │ ├── header-bg.png │ │ │ │ └── portfolio │ │ │ │ │ ├── blog.png │ │ │ │ │ ├── git.png │ │ │ │ │ ├── manage.png │ │ │ │ │ └── wechat.jpg │ │ │ │ ├── js │ │ │ │ ├── init.js │ │ │ │ ├── jquery.min.js │ │ │ │ ├── owl-carousel.js │ │ │ │ └── plugins.js │ │ │ │ └── pe-icons │ │ │ │ └── css │ │ │ │ └── pe-icon-7-stroke.css │ │ ├── templates │ │ │ └── xadmin │ │ │ │ └── views │ │ │ │ └── index.html │ │ └── views.py │ ├── login │ │ ├── __init__.py │ │ ├── adminx.py │ │ ├── static │ │ │ └── xadmin │ │ │ │ ├── css │ │ │ │ ├── login.css │ │ │ │ └── style.css │ │ │ │ ├── img │ │ │ │ └── bg-2.png │ │ │ │ └── js │ │ │ │ ├── app.js │ │ │ │ ├── particles.js │ │ │ │ └── particles.min.js │ │ └── templates │ │ │ └── xadmin │ │ │ └── views │ │ │ └── login.html │ ├── service │ │ ├── __init__.py │ │ ├── adminx.py │ │ ├── migrations │ │ │ └── __init__.py │ │ ├── models │ │ │ ├── __init__.py │ │ │ ├── article.py │ │ │ └── urlslink.py │ │ ├── static │ │ │ └── xadmin │ │ │ │ └── css │ │ │ │ └── article.css │ │ └── templates │ │ │ └── xadmin │ │ │ └── views │ │ │ └── article_detail.html │ └── users │ │ ├── __init__.py │ │ ├── adminx.py │ │ ├── migrations │ │ └── __init__.py │ │ ├── models.py │ │ └── views.py ├── demo │ ├── __init__.py │ ├── settings │ │ ├── __init__.py │ │ ├── base.py │ │ ├── dev.py │ │ └── production.py │ ├── urls.py │ └── wsgi.py ├── manage.py ├── requirements.txt ├── static │ └── xadmin │ │ ├── css │ │ └── sweetalert2.css │ │ ├── img │ │ ├── favicon.ico │ │ └── logo.png │ │ └── js │ │ ├── sweetalert2.all.js │ │ └── sweetalert2.all.min.js └── templates │ └── xadmin │ ├── base.html │ ├── base_site.html │ └── blocks │ └── model_list.top_toolbar.homepage.html ├── requirements.txt ├── setup.py └── xadmin ├── .tx └── config ├── __init__.py ├── adminx.py ├── apps.py ├── filters.py ├── forms.py ├── layout.py ├── locale ├── de_DE │ └── LC_MESSAGES │ │ ├── django.mo │ │ ├── django.po │ │ ├── djangojs.mo │ │ └── djangojs.po ├── en │ └── LC_MESSAGES │ │ ├── django.mo │ │ ├── django.po │ │ ├── djangojs.mo │ │ └── djangojs.po ├── es_MX │ └── LC_MESSAGES │ │ ├── django.mo │ │ ├── django.po │ │ ├── djangojs.mo │ │ └── djangojs.po ├── eu │ └── LC_MESSAGES │ │ ├── django.mo │ │ ├── django.po │ │ ├── djangojs.mo │ │ └── djangojs.po ├── id_ID │ └── LC_MESSAGES │ │ ├── django.mo │ │ ├── django.po │ │ ├── djangojs.mo │ │ └── djangojs.po ├── ja │ └── LC_MESSAGES │ │ ├── django.mo │ │ ├── django.po │ │ ├── djangojs.mo │ │ └── djangojs.po ├── lt │ └── LC_MESSAGES │ │ ├── django.mo │ │ ├── django.po │ │ ├── djangojs.mo │ │ └── djangojs.po ├── nl_NL │ └── LC_MESSAGES │ │ ├── django.mo │ │ ├── django.po │ │ ├── djangojs.mo │ │ └── djangojs.po ├── pl │ └── LC_MESSAGES │ │ ├── django.mo │ │ ├── django.po │ │ ├── djangojs.mo │ │ └── djangojs.po ├── pt_BR │ └── LC_MESSAGES │ │ ├── django.mo │ │ ├── django.po │ │ ├── djangojs.mo │ │ └── djangojs.po ├── ru_RU │ └── LC_MESSAGES │ │ ├── django.mo │ │ ├── django.po │ │ ├── djangojs.mo │ │ └── djangojs.po └── zh_Hans │ └── LC_MESSAGES │ ├── django.mo │ ├── django.po │ ├── djangojs.mo │ └── djangojs.po ├── migrations ├── 0001_initial.py ├── 0002_log.py ├── 0003_auto_20160715_0100.py └── __init__.py ├── models.py ├── plugins ├── __init__.py ├── actions.py ├── aggregation.py ├── ajax.py ├── auth.py ├── batch.py ├── bookmark.py ├── chart.py ├── comments.py ├── details.py ├── editable.py ├── export.py ├── filters.py ├── images.py ├── importexport.py ├── inline.py ├── language.py ├── layout.py ├── mobile.py ├── multiselect.py ├── passwords.py ├── portal.py ├── quickfilter.py ├── quickform.py ├── refresh.py ├── relate.py ├── relfield.py ├── sitemenu.py ├── sortablelist.py ├── themes.py ├── topnav.py ├── utils.py ├── wizard.py └── xversion.py ├── sites.py ├── static └── xadmin │ ├── component.json │ ├── css │ ├── themes │ │ ├── bootstrap-theme.css │ │ ├── bootstrap-theme.css.map │ │ ├── bootstrap-theme.min.css │ │ ├── bootstrap-theme.min.css.map │ │ └── bootstrap-xadmin.css │ ├── xadmin.form.css │ ├── xadmin.main.css │ ├── xadmin.mobile.css │ ├── xadmin.page.dashboard.css │ ├── xadmin.plugin.aggregation.css │ ├── xadmin.plugin.formset.css │ ├── xadmin.plugin.importexport.css │ ├── xadmin.plugin.quickfilter.css │ ├── xadmin.plugins.css │ ├── xadmin.responsive.css │ ├── xadmin.widget.editable.css │ └── xadmin.widget.select-transfer.css │ ├── js │ ├── xadmin.main.js │ ├── xadmin.page.dashboard.js │ ├── xadmin.page.form.js │ ├── xadmin.page.list.js │ ├── xadmin.plugin.actions.js │ ├── xadmin.plugin.batch.js │ ├── xadmin.plugin.bookmark.js │ ├── xadmin.plugin.charts.js │ ├── xadmin.plugin.details.js │ ├── xadmin.plugin.editable.js │ ├── xadmin.plugin.filters.js │ ├── xadmin.plugin.formset.js │ ├── xadmin.plugin.importexport.js │ ├── xadmin.plugin.portal.js │ ├── xadmin.plugin.quick-form.js │ ├── xadmin.plugin.quickfilter.js │ ├── xadmin.plugin.refresh.js │ ├── xadmin.plugin.revision.js │ ├── xadmin.plugin.sortablelist.js │ ├── xadmin.plugin.themes.js │ ├── xadmin.responsive.js │ ├── xadmin.widget.datetime.js │ ├── xadmin.widget.multiselect.js │ ├── xadmin.widget.select-transfer.js │ └── xadmin.widget.select.js │ └── vendor │ ├── autotype │ └── index.js │ ├── bootstrap-clockpicker │ ├── bootstrap-clockpicker.css │ ├── bootstrap-clockpicker.js │ ├── bootstrap-clockpicker.min.css │ └── bootstrap-clockpicker.min.js │ ├── bootstrap-datepicker │ ├── css │ │ └── datepicker.css │ └── js │ │ ├── bootstrap-datepicker.js │ │ └── locales │ │ ├── bootstrap-datepicker.bg.js │ │ ├── bootstrap-datepicker.ca.js │ │ ├── bootstrap-datepicker.cs.js │ │ ├── bootstrap-datepicker.da.js │ │ ├── bootstrap-datepicker.de.js │ │ ├── bootstrap-datepicker.el.js │ │ ├── bootstrap-datepicker.es.js │ │ ├── bootstrap-datepicker.fi.js │ │ ├── bootstrap-datepicker.fr.js │ │ ├── bootstrap-datepicker.he.js │ │ ├── bootstrap-datepicker.hr.js │ │ ├── bootstrap-datepicker.hu.js │ │ ├── bootstrap-datepicker.id.js │ │ ├── bootstrap-datepicker.is.js │ │ ├── bootstrap-datepicker.it.js │ │ ├── bootstrap-datepicker.ja.js │ │ ├── bootstrap-datepicker.kr.js │ │ ├── bootstrap-datepicker.lt.js │ │ ├── bootstrap-datepicker.lv.js │ │ ├── bootstrap-datepicker.ms.js │ │ ├── bootstrap-datepicker.nb.js │ │ ├── bootstrap-datepicker.nl.js │ │ ├── bootstrap-datepicker.pl.js │ │ ├── bootstrap-datepicker.pt-BR.js │ │ ├── bootstrap-datepicker.pt.js │ │ ├── bootstrap-datepicker.ro.js │ │ ├── bootstrap-datepicker.rs-latin.js │ │ ├── bootstrap-datepicker.rs.js │ │ ├── bootstrap-datepicker.ru.js │ │ ├── bootstrap-datepicker.sk.js │ │ ├── bootstrap-datepicker.sl.js │ │ ├── bootstrap-datepicker.sv.js │ │ ├── bootstrap-datepicker.sw.js │ │ ├── bootstrap-datepicker.th.js │ │ ├── bootstrap-datepicker.tr.js │ │ ├── bootstrap-datepicker.uk.js │ │ ├── bootstrap-datepicker.zh-CN.js │ │ └── bootstrap-datepicker.zh-TW.js │ ├── bootstrap-image-gallery │ ├── css │ │ ├── bootstrap-image-gallery.css │ │ └── bootstrap-image-gallery.min.css │ ├── img │ │ └── loading.gif │ └── js │ │ ├── bootstrap-image-gallery.js │ │ └── bootstrap-image-gallery.min.js │ ├── bootstrap-modal │ ├── css │ │ ├── bootstrap-modal-bs3patch.css │ │ └── bootstrap-modal.css │ ├── img │ │ └── ajax-loader.gif │ └── js │ │ ├── bootstrap-modal.js │ │ └── bootstrap-modalmanager.js │ ├── bootstrap-multiselect │ ├── css │ │ └── bootstrap-multiselect.css │ └── js │ │ └── bootstrap-multiselect.js │ ├── bootstrap-timepicker │ ├── css │ │ ├── bootstrap-timepicker.css │ │ └── bootstrap-timepicker.min.css │ └── js │ │ ├── bootstrap-timepicker.js │ │ └── bootstrap-timepicker.min.js │ ├── bootstrap │ ├── css │ │ ├── bootstrap.css │ │ ├── bootstrap.css.map │ │ ├── bootstrap.min.css │ │ └── bootstrap.min.css.map │ ├── fonts │ │ ├── glyphicons-halflings-regular.eot │ │ ├── glyphicons-halflings-regular.svg │ │ ├── glyphicons-halflings-regular.ttf │ │ ├── glyphicons-halflings-regular.woff │ │ └── glyphicons-halflings-regular.woff2 │ └── js │ │ ├── bootstrap.js │ │ └── bootstrap.min.js │ ├── flot │ ├── excanvas.js │ ├── excanvas.min.js │ ├── jquery.colorhelpers.js │ ├── jquery.flot.aggregate.js │ ├── jquery.flot.canvas.js │ ├── jquery.flot.categories.js │ ├── jquery.flot.crosshair.js │ ├── jquery.flot.errorbars.js │ ├── jquery.flot.fillbetween.js │ ├── jquery.flot.image.js │ ├── jquery.flot.js │ ├── jquery.flot.navigate.js │ ├── jquery.flot.pie.js │ ├── jquery.flot.resize.js │ ├── jquery.flot.selection.js │ ├── jquery.flot.stack.js │ ├── jquery.flot.symbol.js │ ├── jquery.flot.threshold.js │ └── jquery.flot.time.js │ ├── font-awesome │ ├── css │ │ ├── font-awesome.css │ │ └── font-awesome.min.css │ ├── fonts │ │ ├── FontAwesome.otf │ │ ├── fontawesome-webfont.eot │ │ ├── fontawesome-webfont.svg │ │ ├── fontawesome-webfont.ttf │ │ ├── fontawesome-webfont.woff │ │ └── fontawesome-webfont.woff2 │ ├── less │ │ ├── animated.less │ │ ├── bordered-pulled.less │ │ ├── core.less │ │ ├── fixed-width.less │ │ ├── font-awesome.less │ │ ├── icons.less │ │ ├── larger.less │ │ ├── list.less │ │ ├── mixins.less │ │ ├── path.less │ │ ├── rotated-flipped.less │ │ ├── screen-reader.less │ │ ├── stacked.less │ │ └── variables.less │ └── scss │ │ ├── _animated.scss │ │ ├── _bordered-pulled.scss │ │ ├── _core.scss │ │ ├── _fixed-width.scss │ │ ├── _icons.scss │ │ ├── _larger.scss │ │ ├── _list.scss │ │ ├── _mixins.scss │ │ ├── _path.scss │ │ ├── _rotated-flipped.scss │ │ ├── _screen-reader.scss │ │ ├── _stacked.scss │ │ ├── _variables.scss │ │ └── font-awesome.scss │ ├── jquery-ui │ ├── jquery.ui.core.js │ ├── jquery.ui.core.min.js │ ├── jquery.ui.effect.js │ ├── jquery.ui.effect.min.js │ ├── jquery.ui.mouse.js │ ├── jquery.ui.mouse.min.js │ ├── jquery.ui.sortable.js │ ├── jquery.ui.sortable.min.js │ ├── jquery.ui.widget.js │ └── jquery.ui.widget.min.js │ ├── jquery │ ├── jquery.js │ └── jquery.min.js │ ├── load-image │ ├── load-image.js │ └── load-image.min.js │ ├── select2 │ ├── css │ │ ├── select2.css │ │ └── select2.min.css │ └── js │ │ ├── i18n │ │ ├── af.js │ │ ├── ar.js │ │ ├── az.js │ │ ├── bg.js │ │ ├── bn.js │ │ ├── bs.js │ │ ├── ca.js │ │ ├── cs.js │ │ ├── da.js │ │ ├── de.js │ │ ├── dsb.js │ │ ├── el.js │ │ ├── en.js │ │ ├── es.js │ │ ├── et.js │ │ ├── eu.js │ │ ├── fa.js │ │ ├── fi.js │ │ ├── fr.js │ │ ├── gl.js │ │ ├── he.js │ │ ├── hi.js │ │ ├── hr.js │ │ ├── hsb.js │ │ ├── hu.js │ │ ├── hy.js │ │ ├── id.js │ │ ├── is.js │ │ ├── it.js │ │ ├── ja.js │ │ ├── ka.js │ │ ├── km.js │ │ ├── ko.js │ │ ├── lt.js │ │ ├── lv.js │ │ ├── mk.js │ │ ├── ms.js │ │ ├── nb.js │ │ ├── ne.js │ │ ├── nl.js │ │ ├── pl.js │ │ ├── ps.js │ │ ├── pt-BR.js │ │ ├── pt.js │ │ ├── ro.js │ │ ├── ru.js │ │ ├── sk.js │ │ ├── sl.js │ │ ├── sq.js │ │ ├── sr-Cyrl.js │ │ ├── sr.js │ │ ├── sv.js │ │ ├── th.js │ │ ├── tk.js │ │ ├── tr.js │ │ ├── uk.js │ │ ├── vi.js │ │ ├── zh-CN.js │ │ ├── zh-TW.js │ │ └── zh-hans.js │ │ ├── select2.full.js │ │ ├── select2.full.min.js │ │ ├── select2.js │ │ └── select2.min.js │ ├── selectize │ ├── css │ │ ├── selectize.bootstrap2.css │ │ ├── selectize.bootstrap3.css │ │ ├── selectize.css │ │ ├── selectize.default.css │ │ └── selectize.legacy.css │ └── js │ │ ├── selectize.js │ │ └── selectize.min.js │ └── snapjs │ ├── snap.css │ ├── snap.js │ └── snap.min.js ├── templates └── xadmin │ ├── 404.html │ ├── 500.html │ ├── auth │ ├── password_reset │ │ ├── complete.html │ │ ├── confirm.html │ │ ├── done.html │ │ ├── email.html │ │ └── form.html │ └── user │ │ ├── add_form.html │ │ └── change_password.html │ ├── base.html │ ├── base_site.html │ ├── blocks │ ├── comm.top.setlang.html │ ├── comm.top.theme.html │ ├── comm.top.topnav.html │ ├── modal_list.left_navbar.quickfilter.html │ ├── model_form.before_fieldsets.wizard.html │ ├── model_form.submit_line.wizard.html │ ├── model_list.nav_form.search_form.html │ ├── model_list.nav_menu.bookmarks.html │ ├── model_list.nav_menu.filters.html │ ├── model_list.results_bottom.actions.html │ ├── model_list.results_top.charts.html │ ├── model_list.results_top.date_hierarchy.html │ ├── model_list.top_toolbar.exports.html │ ├── model_list.top_toolbar.importexport.export.html │ ├── model_list.top_toolbar.importexport.import.html │ ├── model_list.top_toolbar.layouts.html │ ├── model_list.top_toolbar.refresh.html │ └── model_list.top_toolbar.saveorder.html │ ├── edit_inline │ ├── accordion.html │ ├── base.html │ ├── blank.html │ ├── one.html │ ├── stacked.html │ ├── tab.html │ └── tabular.html │ ├── filters │ ├── char.html │ ├── checklist.html │ ├── date.html │ ├── fk_search.html │ ├── list.html │ ├── number.html │ ├── quickfilter.html │ └── rel.html │ ├── forms │ └── transfer.html │ ├── grids │ └── thumbnails.html │ ├── import_export │ ├── export_action.html │ └── import.html │ ├── includes │ ├── box.html │ ├── pagination.html │ ├── sitemenu_accordion.html │ ├── sitemenu_default.html │ ├── submit_line.html │ ├── toggle_back.html │ └── toggle_menu.html │ ├── layout │ ├── field_value.html │ ├── field_value_td.html │ ├── fieldset.html │ ├── input_group.html │ └── td-field.html │ ├── views │ ├── app_index.html │ ├── batch_change_form.html │ ├── dashboard.html │ ├── form.html │ ├── invalid_setup.html │ ├── logged_out.html │ ├── login.html │ ├── model_dashboard.html │ ├── model_delete_confirm.html │ ├── model_delete_selected_confirm.html │ ├── model_detail.html │ ├── model_form.html │ ├── model_history.html │ ├── model_list.html │ ├── quick_detail.html │ ├── quick_form.html │ ├── recover_form.html │ ├── recover_list.html │ ├── revision_diff.html │ └── revision_form.html │ └── widgets │ ├── addform.html │ ├── base.html │ ├── chart.html │ ├── list.html │ └── qbutton.html ├── templatetags ├── __init__.py └── xadmin_tags.py ├── util.py ├── vendors.py ├── views ├── __init__.py ├── base.py ├── dashboard.py ├── delete.py ├── detail.py ├── edit.py ├── form.py ├── list.py └── website.py └── widgets.py /MANIFEST.in: -------------------------------------------------------------------------------- 1 | include README.rst 2 | include LICENSE 3 | include MANIFEST.in 4 | recursive-include xadmin/locale * 5 | recursive-include xadmin/static/xadmin/css * 6 | recursive-include xadmin/static/xadmin/js * 7 | recursive-include xadmin/static/xadmin/vendor * 8 | recursive-include xadmin/templates * -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Xadmin_Bugfix 2 | 3 | 基于原版xadmin修改,修复原版已知bug,适配Python(3.6, 3.7, 3.8, 3.9) + Django(2.2, 3.0, 3.1, 3.2) 4 | 5 | Demo 6 | --------- 7 | 8 | http://127.0.0.1:8000/admin 9 | 10 | - User: admin 11 | - Password: admin123 12 | -------------------------------------------------------------------------------- /README.rst: -------------------------------------------------------------------------------- 1 | Xadmin |Build Status| 2 | ============================================ 3 | 4 | .. |Build Status| image:: https://travis-ci.org/sshwsfc/xadmin.png?branch=master 5 | :target: https://travis-ci.org/sshwsfc/xadmin 6 | 7 | 基于原版xadmin修改,修复原版已知bug,适配Python(3.6, 3.7, 3.8) + Django(2.2, 3.0, 3.1) 8 | 9 | Demo 10 | --------- 11 | 12 | http://127.0.0.1:8000/admin 13 | 14 | - User: admin 15 | - Password: admin123 16 | -------------------------------------------------------------------------------- /demo_app/apps/__init__.py: -------------------------------------------------------------------------------- 1 | from django.apps import AppConfig 2 | 3 | CHAR_MIN_LENGTH = 32 4 | CHAR_MID_LENGTH = 64 5 | CHAR_MAX_LENGTH = 128 6 | CHAR_BIG_LENGTH = 256 7 | CHAR_LARGE_LENGTH = 512 8 | CHAR_EXT_LENGTH = 1024 9 | FLAG = ((True, '是'), (False, '否')) 10 | 11 | 12 | class UserProfileConfig(AppConfig): 13 | name = 'users' 14 | verbose_name = '用户管理' 15 | 16 | 17 | class BaseConfig(AppConfig): 18 | name = 'base' 19 | verbose_name = '基础配置' 20 | 21 | 22 | class ServiceConfig(AppConfig): 23 | name = 'service' 24 | verbose_name = '服务大厅' 25 | -------------------------------------------------------------------------------- /demo_app/apps/base/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vip68/xadmin_bugfix/eef25fdeec8f1424eebbb8ed0df1b486733c18a6/demo_app/apps/base/__init__.py -------------------------------------------------------------------------------- /demo_app/apps/base/plugins.py: -------------------------------------------------------------------------------- 1 | from django.urls import reverse 2 | from django.template import loader 3 | from xadmin.views import BaseAdminPlugin 4 | from xadmin.plugins.utils import get_context_dict 5 | 6 | 7 | class SetHomePagePlugin(BaseAdminPlugin): 8 | """设置首页""" 9 | 10 | def block_top_toolbar(self, context, nodes): 11 | context.update({ 12 | 'query_url': reverse('base:homepage'), 13 | 'url_path': context['request'].path, 14 | }) 15 | nodes.insert(0, loader.render_to_string('xadmin/blocks/model_list.top_toolbar.homepage.html', 16 | context=get_context_dict(context))) 17 | -------------------------------------------------------------------------------- /demo_app/apps/base/urls.py: -------------------------------------------------------------------------------- 1 | from django.urls import path 2 | from base.views import set_homepage 3 | 4 | app_name = 'base' 5 | 6 | urlpatterns = [ 7 | path('homepage', set_homepage, name='homepage'), 8 | ] 9 | -------------------------------------------------------------------------------- /demo_app/apps/errorpage/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vip68/xadmin_bugfix/eef25fdeec8f1424eebbb8ed0df1b486733c18a6/demo_app/apps/errorpage/__init__.py -------------------------------------------------------------------------------- /demo_app/apps/errorpage/static/assets/css/ie9.css: -------------------------------------------------------------------------------- 1 | /* 2 | Dimension by HTML5 UP 3 | html5up.net | @ajlkn 4 | Free for personal and commercial use under the CCA 3.0 license (html5up.net/license) 5 | */ 6 | 7 | /* BG */ 8 | 9 | #bg:before { 10 | background: rgba(19, 21, 25, 0.5); 11 | } 12 | 13 | /* Header */ 14 | 15 | #header .logo { 16 | margin: 0 auto; 17 | } 18 | 19 | #header .content { 20 | display: inline-block; 21 | } 22 | 23 | #header nav ul { 24 | display: inline-block; 25 | } 26 | 27 | #header nav ul li { 28 | display: inline-block; 29 | } 30 | 31 | /* Main */ 32 | 33 | #main article { 34 | margin: 0 auto; 35 | } -------------------------------------------------------------------------------- /demo_app/apps/errorpage/static/assets/css/noscript.css: -------------------------------------------------------------------------------- 1 | /* 2 | Dimension by HTML5 UP 3 | html5up.net | @ajlkn 4 | Free for personal and commercial use under the CCA 3.0 license (html5up.net/license) 5 | */ 6 | 7 | /* Main */ 8 | 9 | #main article { 10 | opacity: 1; 11 | margin: 4rem 0 0 0; 12 | } -------------------------------------------------------------------------------- /demo_app/apps/errorpage/static/assets/fonts/FontAwesome.otf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vip68/xadmin_bugfix/eef25fdeec8f1424eebbb8ed0df1b486733c18a6/demo_app/apps/errorpage/static/assets/fonts/FontAwesome.otf -------------------------------------------------------------------------------- /demo_app/apps/errorpage/static/assets/fonts/fontawesome-webfont.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vip68/xadmin_bugfix/eef25fdeec8f1424eebbb8ed0df1b486733c18a6/demo_app/apps/errorpage/static/assets/fonts/fontawesome-webfont.eot -------------------------------------------------------------------------------- /demo_app/apps/errorpage/static/assets/fonts/fontawesome-webfont.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vip68/xadmin_bugfix/eef25fdeec8f1424eebbb8ed0df1b486733c18a6/demo_app/apps/errorpage/static/assets/fonts/fontawesome-webfont.ttf -------------------------------------------------------------------------------- /demo_app/apps/errorpage/static/assets/fonts/fontawesome-webfont.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vip68/xadmin_bugfix/eef25fdeec8f1424eebbb8ed0df1b486733c18a6/demo_app/apps/errorpage/static/assets/fonts/fontawesome-webfont.woff -------------------------------------------------------------------------------- /demo_app/apps/errorpage/static/assets/fonts/fontawesome-webfont.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vip68/xadmin_bugfix/eef25fdeec8f1424eebbb8ed0df1b486733c18a6/demo_app/apps/errorpage/static/assets/fonts/fontawesome-webfont.woff2 -------------------------------------------------------------------------------- /demo_app/apps/errorpage/static/assets/sass/base/_page.scss: -------------------------------------------------------------------------------- 1 | /// 2 | /// Dimension by HTML5 UP 3 | /// html5up.net | @ajlkn 4 | /// Free for personal and commercial use under the CCA 3.0 license (html5up.net/license) 5 | /// 6 | 7 | /* Basic */ 8 | 9 | // MSIE: Required for IEMobile. 10 | @-ms-viewport { 11 | width: device-width; 12 | } 13 | 14 | // Ensures page width is always >=320px. 15 | @include breakpoint(xsmall) { 16 | html, body { 17 | min-width: 320px; 18 | } 19 | } 20 | 21 | body { 22 | background: _palette(bg); 23 | 24 | // Prevents animation/transition "flicker" on page load. 25 | // Automatically added/removed by js/main.js. 26 | &.is-loading, 27 | &.is-switching { 28 | *, *:before, *:after { 29 | @include vendor('animation', 'none !important'); 30 | @include vendor('transition', 'none !important'); 31 | @include vendor('transition-delay', 'none !important'); 32 | } 33 | } 34 | 35 | } -------------------------------------------------------------------------------- /demo_app/apps/errorpage/static/assets/sass/components/_box.scss: -------------------------------------------------------------------------------- 1 | /// 2 | /// Dimension by HTML5 UP 3 | /// html5up.net | @ajlkn 4 | /// Free for personal and commercial use under the CCA 3.0 license (html5up.net/license) 5 | /// 6 | 7 | /* Box */ 8 | 9 | .box { 10 | border-radius: _size(border-radius); 11 | border: solid _size(border-width) _palette(border); 12 | margin-bottom: _size(element-margin); 13 | padding: 1.5em; 14 | 15 | > :last-child, 16 | > :last-child > :last-child, 17 | > :last-child > :last-child > :last-child { 18 | margin-bottom: 0; 19 | } 20 | 21 | &.alt { 22 | border: 0; 23 | border-radius: 0; 24 | padding: 0; 25 | } 26 | } -------------------------------------------------------------------------------- /demo_app/apps/errorpage/static/assets/sass/components/_icon.scss: -------------------------------------------------------------------------------- 1 | /// 2 | /// Dimension by HTML5 UP 3 | /// html5up.net | @ajlkn 4 | /// Free for personal and commercial use under the CCA 3.0 license (html5up.net/license) 5 | /// 6 | 7 | /* Icon */ 8 | 9 | .icon { 10 | @include icon; 11 | border-bottom: none; 12 | position: relative; 13 | 14 | > .label { 15 | display: none; 16 | } 17 | } -------------------------------------------------------------------------------- /demo_app/apps/errorpage/static/assets/sass/ie9.scss: -------------------------------------------------------------------------------- 1 | @import 'libs/vars'; 2 | @import 'libs/functions'; 3 | @import 'libs/mixins'; 4 | @import 'libs/skel'; 5 | 6 | /* 7 | Dimension by HTML5 UP 8 | html5up.net | @ajlkn 9 | Free for personal and commercial use under the CCA 3.0 license (html5up.net/license) 10 | */ 11 | 12 | /* BG */ 13 | 14 | #bg { 15 | &:before { 16 | background: _palette(bg-overlay); 17 | } 18 | } 19 | 20 | /* Header */ 21 | 22 | #header { 23 | .logo { 24 | margin: 0 auto; 25 | } 26 | 27 | .content { 28 | display: inline-block; 29 | } 30 | 31 | nav { 32 | ul { 33 | display: inline-block; 34 | 35 | li { 36 | display: inline-block; 37 | } 38 | } 39 | } 40 | } 41 | 42 | /* Main */ 43 | 44 | #main { 45 | article { 46 | margin: 0 auto; 47 | } 48 | } -------------------------------------------------------------------------------- /demo_app/apps/errorpage/static/assets/sass/layout/_footer.scss: -------------------------------------------------------------------------------- 1 | /// 2 | /// Dimension by HTML5 UP 3 | /// html5up.net | @ajlkn 4 | /// Free for personal and commercial use under the CCA 3.0 license (html5up.net/license) 5 | /// 6 | 7 | /* Footer */ 8 | 9 | #footer { 10 | @include vendor('transition', ( 11 | 'transform #{_duration(article)} ease-in-out', 12 | 'filter #{_duration(article)} ease-in-out', 13 | 'opacity #{_duration(article)} ease-in-out', 14 | )); 15 | width: 100%; 16 | max-width: 100%; 17 | margin-top: 2rem; 18 | text-align: center; 19 | 20 | .copyright { 21 | letter-spacing: _font(letter-spacing); 22 | font-size: 0.6rem; 23 | opacity: 0.75; 24 | margin-bottom: 0; 25 | text-transform: uppercase; 26 | } 27 | 28 | body.is-article-visible & { 29 | @include vendor('transform', 'scale(0.95)'); 30 | @include vendor('filter', 'blur(0.1rem)'); 31 | opacity: 0; 32 | } 33 | 34 | body.is-loading & { 35 | opacity: 0; 36 | } 37 | } -------------------------------------------------------------------------------- /demo_app/apps/errorpage/static/assets/sass/layout/_wrapper.scss: -------------------------------------------------------------------------------- 1 | /// 2 | /// Dimension by HTML5 UP 3 | /// html5up.net | @ajlkn 4 | /// Free for personal and commercial use under the CCA 3.0 license (html5up.net/license) 5 | /// 6 | 7 | /* Wrapper */ 8 | 9 | #wrapper { 10 | @include vendor('display', 'flex'); 11 | @include vendor('flex-direction', 'column'); 12 | @include vendor('align-items', 'center'); 13 | @include vendor('justify-content', 'space-between'); 14 | position: relative; 15 | min-height: 100vh; 16 | width: 100%; 17 | padding: 4rem 2rem; 18 | z-index: 3; 19 | 20 | &:before { 21 | content: ''; 22 | display: block; 23 | } 24 | 25 | @include breakpoint(xlarge) { 26 | padding: 3rem 2rem; 27 | } 28 | 29 | @include breakpoint(small) { 30 | padding: 2rem 1rem; 31 | } 32 | 33 | @include breakpoint(xsmall) { 34 | padding: 1rem; 35 | } 36 | } -------------------------------------------------------------------------------- /demo_app/apps/errorpage/static/assets/sass/libs/_functions.scss: -------------------------------------------------------------------------------- 1 | /// Gets a duration value. 2 | /// @param {string} $keys Key(s). 3 | /// @return {string} Value. 4 | @function _duration($keys...) { 5 | @return val($duration, $keys...); 6 | } 7 | 8 | /// Gets a font value. 9 | /// @param {string} $keys Key(s). 10 | /// @return {string} Value. 11 | @function _font($keys...) { 12 | @return val($font, $keys...); 13 | } 14 | 15 | /// Gets a misc value. 16 | /// @param {string} $keys Key(s). 17 | /// @return {string} Value. 18 | @function _misc($keys...) { 19 | @return val($misc, $keys...); 20 | } 21 | 22 | /// Gets a palette value. 23 | /// @param {string} $keys Key(s). 24 | /// @return {string} Value. 25 | @function _palette($keys...) { 26 | @return val($palette, $keys...); 27 | } 28 | 29 | /// Gets a size value. 30 | /// @param {string} $keys Key(s). 31 | /// @return {string} Value. 32 | @function _size($keys...) { 33 | @return val($size, $keys...); 34 | } -------------------------------------------------------------------------------- /demo_app/apps/errorpage/static/assets/sass/libs/_vars.scss: -------------------------------------------------------------------------------- 1 | // Misc. 2 | $misc: ( 3 | z-index-base: 10000 4 | ); 5 | 6 | // Duration. 7 | $duration: ( 8 | transition: 0.2s, 9 | bg: 2.5s, 10 | intro: 0.75s, 11 | article: 0.325s 12 | ); 13 | 14 | // Size. 15 | $size: ( 16 | border-radius: 4px, 17 | border-width: 1px, 18 | element-height: 2.75rem, 19 | element-margin: 2rem 20 | ); 21 | 22 | // Font. 23 | $font: ( 24 | family: ('Source Sans Pro', sans-serif), 25 | family-fixed: ('Courier New', monospace), 26 | weight: 300, 27 | weight-bold: 600, 28 | letter-spacing: 0.2rem, 29 | letter-spacing-heading: 0.5rem 30 | ); 31 | 32 | // Palette. 33 | $palette: ( 34 | bg: #1b1f22, 35 | bg-alt: #000000, 36 | bg-overlay: rgba(19,21,25,0.5), 37 | fg: #ffffff, 38 | fg-bold: #ffffff, 39 | fg-light: rgba(255,255,255,0.5), 40 | border: #ffffff, 41 | border-bg: rgba(255,255,255,0.075), 42 | border-bg-alt: rgba(255,255,255,0.175) 43 | ); -------------------------------------------------------------------------------- /demo_app/apps/errorpage/static/assets/sass/main.scss: -------------------------------------------------------------------------------- 1 | @import 'libs/vars'; 2 | @import 'libs/functions'; 3 | @import 'libs/mixins'; 4 | @import 'libs/skel'; 5 | @import '../css/font-awesome.min.css'; 6 | //@import url('https://fonts.googleapis.com/css?family=Source+Sans+Pro:300italic,600italic,300,600'); 7 | 8 | /* 9 | Dimension by HTML5 UP 10 | html5up.net | @ajlkn 11 | Free for personal and commercial use under the CCA 3.0 license (html5up.net/license) 12 | */ 13 | 14 | @include skel-breakpoints(( 15 | xlarge: '(max-width: 1680px)', 16 | large: '(max-width: 1280px)', 17 | medium: '(max-width: 980px)', 18 | small: '(max-width: 736px)', 19 | xsmall: '(max-width: 480px)', 20 | xxsmall: '(max-width: 360px)' 21 | )); 22 | 23 | @include skel-layout(( 24 | reset: 'full', 25 | boxModel: 'border' 26 | )); 27 | 28 | // Base. 29 | 30 | @import 'base/page'; 31 | @import 'base/typography'; 32 | 33 | // Component. 34 | 35 | @import 'components/form'; 36 | @import 'components/box'; 37 | @import 'components/icon'; 38 | @import 'components/image'; 39 | @import 'components/list'; 40 | @import 'components/table'; 41 | @import 'components/button'; 42 | 43 | // Layout. 44 | 45 | @import 'layout/bg'; 46 | @import 'layout/wrapper'; 47 | @import 'layout/header'; 48 | @import 'layout/main'; 49 | @import 'layout/footer'; -------------------------------------------------------------------------------- /demo_app/apps/errorpage/static/assets/sass/noscript.scss: -------------------------------------------------------------------------------- 1 | @import 'libs/vars'; 2 | @import 'libs/functions'; 3 | @import 'libs/mixins'; 4 | @import 'libs/skel'; 5 | 6 | /* 7 | Dimension by HTML5 UP 8 | html5up.net | @ajlkn 9 | Free for personal and commercial use under the CCA 3.0 license (html5up.net/license) 10 | */ 11 | 12 | /* Main */ 13 | 14 | #main { 15 | article { 16 | opacity: 1; 17 | margin: (_size(element-margin) * 2) 0 0 0; 18 | } 19 | } -------------------------------------------------------------------------------- /demo_app/apps/errorpage/static/images/bg.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vip68/xadmin_bugfix/eef25fdeec8f1424eebbb8ed0df1b486733c18a6/demo_app/apps/errorpage/static/images/bg.jpg -------------------------------------------------------------------------------- /demo_app/apps/errorpage/static/images/overlay.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vip68/xadmin_bugfix/eef25fdeec8f1424eebbb8ed0df1b486733c18a6/demo_app/apps/errorpage/static/images/overlay.png -------------------------------------------------------------------------------- /demo_app/apps/errorpage/views.py: -------------------------------------------------------------------------------- 1 | from datetime import datetime 2 | from django.conf import settings 3 | from django.urls import reverse 4 | from django.shortcuts import render 5 | 6 | 7 | def get_error_page(status_code, message): 8 | """ 9 | 获取错误页面 10 | :param status_code: 11 | :param message: 12 | :return: 13 | """ 14 | context = { 15 | 'site_web': settings.SITE_TITLE, 16 | 'site_url': reverse(settings.SITE_NAME), 17 | 'status_code': status_code, 18 | 'message': message, 19 | 'date': datetime.now().year 20 | } 21 | return context 22 | 23 | 24 | def bad_request(request, exception=None): 25 | context = get_error_page(400, '对不起,你要找的这个页面突然不见了。不过,放心,一切都在我的掌控之中,不会跑多远!') 26 | return render(request, 'error.html', context, status=400) 27 | 28 | 29 | def permission_denied(request, exception=None): 30 | context = get_error_page(403, '对不起,你无权浏览此页面。不过,放心,一个鸡腿给管理员即可解决!') 31 | return render(request, 'error.html', context, status=403) 32 | 33 | 34 | def page_not_found(request, exception=None): 35 | context = get_error_page(404, '对不起,你要找的这个页面突然不见了。不过,放心,一切都在我的掌控之中,不会跑多远!') 36 | return render(request, 'error.html', context, status=404) 37 | 38 | 39 | def server_error(request, exception=None): 40 | context = get_error_page(500, '对不起,内部服务器开小差。不过,放心,一个鸡腿让管理员唤醒它!') 41 | return render(request, 'error.html', context, status=500) 42 | -------------------------------------------------------------------------------- /demo_app/apps/index/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vip68/xadmin_bugfix/eef25fdeec8f1424eebbb8ed0df1b486733c18a6/demo_app/apps/index/__init__.py -------------------------------------------------------------------------------- /demo_app/apps/index/static/xadmin/images/footer-bg.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vip68/xadmin_bugfix/eef25fdeec8f1424eebbb8ed0df1b486733c18a6/demo_app/apps/index/static/xadmin/images/footer-bg.png -------------------------------------------------------------------------------- /demo_app/apps/index/static/xadmin/images/header-bg.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vip68/xadmin_bugfix/eef25fdeec8f1424eebbb8ed0df1b486733c18a6/demo_app/apps/index/static/xadmin/images/header-bg.png -------------------------------------------------------------------------------- /demo_app/apps/index/static/xadmin/images/portfolio/blog.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vip68/xadmin_bugfix/eef25fdeec8f1424eebbb8ed0df1b486733c18a6/demo_app/apps/index/static/xadmin/images/portfolio/blog.png -------------------------------------------------------------------------------- /demo_app/apps/index/static/xadmin/images/portfolio/git.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vip68/xadmin_bugfix/eef25fdeec8f1424eebbb8ed0df1b486733c18a6/demo_app/apps/index/static/xadmin/images/portfolio/git.png -------------------------------------------------------------------------------- /demo_app/apps/index/static/xadmin/images/portfolio/manage.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vip68/xadmin_bugfix/eef25fdeec8f1424eebbb8ed0df1b486733c18a6/demo_app/apps/index/static/xadmin/images/portfolio/manage.png -------------------------------------------------------------------------------- /demo_app/apps/index/static/xadmin/images/portfolio/wechat.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vip68/xadmin_bugfix/eef25fdeec8f1424eebbb8ed0df1b486733c18a6/demo_app/apps/index/static/xadmin/images/portfolio/wechat.jpg -------------------------------------------------------------------------------- /demo_app/apps/index/views.py: -------------------------------------------------------------------------------- 1 | from datetime import datetime 2 | from django.urls import reverse 3 | from django.conf import settings 4 | from django.shortcuts import render 5 | 6 | 7 | def index_view(request): 8 | context = { 9 | 'date': datetime.now().year, 10 | 'site_url': reverse(settings.SITE_NAME), 11 | } 12 | return render(request, 'xadmin/views/index.html', context) 13 | -------------------------------------------------------------------------------- /demo_app/apps/login/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vip68/xadmin_bugfix/eef25fdeec8f1424eebbb8ed0df1b486733c18a6/demo_app/apps/login/__init__.py -------------------------------------------------------------------------------- /demo_app/apps/login/static/xadmin/img/bg-2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vip68/xadmin_bugfix/eef25fdeec8f1424eebbb8ed0df1b486733c18a6/demo_app/apps/login/static/xadmin/img/bg-2.png -------------------------------------------------------------------------------- /demo_app/apps/service/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vip68/xadmin_bugfix/eef25fdeec8f1424eebbb8ed0df1b486733c18a6/demo_app/apps/service/__init__.py -------------------------------------------------------------------------------- /demo_app/apps/service/migrations/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vip68/xadmin_bugfix/eef25fdeec8f1424eebbb8ed0df1b486733c18a6/demo_app/apps/service/migrations/__init__.py -------------------------------------------------------------------------------- /demo_app/apps/service/models/__init__.py: -------------------------------------------------------------------------------- 1 | from .article import Article, ReleaseLog 2 | from .urlslink import UrlsLink, AppUrlLink 3 | -------------------------------------------------------------------------------- /demo_app/apps/service/models/article.py: -------------------------------------------------------------------------------- 1 | from django.db import models 2 | from django.conf import settings 3 | from ckeditor_uploader.fields import RichTextUploadingField 4 | 5 | 6 | class Article(models.Model): 7 | ARTICLE_TYPE = ( 8 | (0, 'BUG反馈'), 9 | (1, '意见建议'), 10 | (2, '讨论'), 11 | (3, '技术'), 12 | (4, '帮助'), 13 | (5, '公告'), 14 | ) 15 | category = models.PositiveSmallIntegerField(verbose_name='主题分类', choices=ARTICLE_TYPE) 16 | user = models.ForeignKey(settings.AUTH_USER_MODEL, verbose_name='发布者', on_delete=models.CASCADE, null=True) 17 | publish_time = models.DateTimeField(verbose_name='发帖时间', auto_now_add=True, null=True) 18 | update_time = models.DateTimeField(verbose_name='更新时间', blank=True, null=True) 19 | view_count = models.PositiveSmallIntegerField(verbose_name='浏览次数', default=0) 20 | title = models.CharField(verbose_name='主题', max_length=30, help_text='字数限制在30个字以内') 21 | content = RichTextUploadingField(verbose_name='内容') 22 | 23 | class Meta: 24 | verbose_name = '畅所欲言' 25 | verbose_name_plural = '畅所欲言' 26 | 27 | def __str__(self): 28 | return str(self.title) 29 | 30 | 31 | class ReleaseLog(Article): 32 | class Meta: 33 | verbose_name = '服务大厅' 34 | verbose_name_plural = '服务大厅' 35 | proxy = True 36 | -------------------------------------------------------------------------------- /demo_app/apps/service/models/urlslink.py: -------------------------------------------------------------------------------- 1 | from django.db import models 2 | 3 | from apps import CHAR_MIN_LENGTH 4 | 5 | 6 | class UrlsLink(models.Model): 7 | name = models.CharField(verbose_name='名称', max_length=CHAR_MIN_LENGTH, default=True, null=True) 8 | 9 | class Meta: 10 | verbose_name = '超级链接' 11 | verbose_name_plural = '超级链接' 12 | 13 | 14 | class AppUrlLink(UrlsLink): 15 | class Meta: 16 | verbose_name = '快捷访问' 17 | verbose_name_plural = '快捷访问' 18 | proxy = True 19 | -------------------------------------------------------------------------------- /demo_app/apps/service/static/xadmin/css/article.css: -------------------------------------------------------------------------------- 1 | @media (max-width: 767px) { 2 | .navbar-inverse .navbar-toggle { 3 | border-color: #FFFFFF; 4 | padding: 3px 10px; 5 | font-size: 20px; 6 | color: white; 7 | width: auto; 8 | height: auto; 9 | } 10 | 11 | .navbar-inverse { 12 | background-color: #f8f8f8; 13 | border-color: #e7e7e7; 14 | } 15 | } 16 | 17 | #content-article { 18 | position: inherit; 19 | } 20 | 21 | .article_title { 22 | width: 100%; 23 | margin: 0 auto; 24 | } 25 | 26 | .title_status { 27 | color: #666666; 28 | width: 100%; 29 | margin: 0 auto; 30 | text-align: center; 31 | 32 | } 33 | 34 | .bottom-btn { 35 | right: 3%; 36 | position: fixed; 37 | bottom: 11%; 38 | z-index: 100; 39 | } 40 | 41 | .allcontent { 42 | margin: 0 auto; 43 | width: 95%; 44 | height: 100%; 45 | background: #FBFBFB; 46 | min-height: 50vh; 47 | } 48 | 49 | .cssarticle img { 50 | margin: 0 auto; 51 | width: 100%; 52 | height: 100%; 53 | max-width: 100%; 54 | max-height: 100%; 55 | vertical-align: middle; 56 | } 57 | -------------------------------------------------------------------------------- /demo_app/apps/users/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vip68/xadmin_bugfix/eef25fdeec8f1424eebbb8ed0df1b486733c18a6/demo_app/apps/users/__init__.py -------------------------------------------------------------------------------- /demo_app/apps/users/migrations/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vip68/xadmin_bugfix/eef25fdeec8f1424eebbb8ed0df1b486733c18a6/demo_app/apps/users/migrations/__init__.py -------------------------------------------------------------------------------- /demo_app/apps/users/views.py: -------------------------------------------------------------------------------- 1 | from django.contrib.auth import get_user_model 2 | from django.contrib.auth.password_validation import MinimumLengthValidator, CommonPasswordValidator, \ 3 | NumericPasswordValidator 4 | 5 | User = get_user_model() 6 | 7 | 8 | class UserMinimumLengthValidator(MinimumLengthValidator): 9 | """修改密码最小长度为4位""" 10 | 11 | def __init__(self, min_length=4): 12 | super(UserMinimumLengthValidator, self).__init__(min_length) 13 | self.min_length = min_length 14 | 15 | 16 | class UserCommonPasswordValidator(CommonPasswordValidator): 17 | """修改密码不做常见性检测""" 18 | 19 | def validate(self, password, user=None): 20 | pass 21 | 22 | 23 | class UserNumericPasswordValidator(NumericPasswordValidator): 24 | """不限制密码全部为数字""" 25 | 26 | def validate(self, password, user=None): 27 | pass 28 | -------------------------------------------------------------------------------- /demo_app/demo/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vip68/xadmin_bugfix/eef25fdeec8f1424eebbb8ed0df1b486733c18a6/demo_app/demo/__init__.py -------------------------------------------------------------------------------- /demo_app/demo/settings/__init__.py: -------------------------------------------------------------------------------- 1 | from .base import * 2 | 3 | DEBUG = True 4 | 5 | if DEBUG is True: 6 | from .dev import * 7 | else: 8 | from .production import * 9 | 10 | # 站点名称 11 | SITE_NAME = 'manage' 12 | 13 | # 后台首页 14 | SITE_PAGE = '/%s/service/article/' % SITE_NAME 15 | -------------------------------------------------------------------------------- /demo_app/demo/settings/dev.py: -------------------------------------------------------------------------------- 1 | # SECURITY WARNING: keep the secret key used in production secret! 2 | SECRET_KEY = 'q3ezu@c)+8ajf^y4jtwupl@mf_g9^bsx0qxt1+d&+azebnpz*4' 3 | 4 | # SECURITY WARNING: define the correct hosts in production! 5 | ALLOWED_HOSTS = ['*'] 6 | 7 | # 网站标题 8 | SITE_TITLE = '管理后台-DEV' 9 | 10 | # 登录页背景图片 11 | LOGIN_BG_IMG = 'xadmin/img/bg-2.png' 12 | -------------------------------------------------------------------------------- /demo_app/demo/settings/production.py: -------------------------------------------------------------------------------- 1 | # SECURITY WARNING: keep the secret key used in production secret! 2 | SECRET_KEY = 'a^c5-q60rqg0ixw33+f&h5j^k3docsh#cr(v_b5+26nl6-d_r1' 3 | 4 | # SECURITY WARNING: define the correct hosts in production! 5 | ALLOWED_HOSTS = ['localhost', '127.0.0.1', '0.0.0.0', 'django', ] 6 | 7 | # 网站标题 8 | SITE_TITLE = '管理后台' 9 | 10 | # 登录页背景图片 11 | LOGIN_BG_IMG = 'xadmin/img/bg-1.jpg' 12 | -------------------------------------------------------------------------------- /demo_app/demo/wsgi.py: -------------------------------------------------------------------------------- 1 | """ 2 | WSGI config for demo project. 3 | 4 | It exposes the WSGI callable as a module-level variable named ``application``. 5 | 6 | For more information on this file, see 7 | https://docs.djangoproject.com/en/2.2/howto/deployment/wsgi/ 8 | """ 9 | 10 | import os 11 | 12 | from django.core.wsgi import get_wsgi_application 13 | 14 | os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'demo.settings') 15 | 16 | application = get_wsgi_application() 17 | -------------------------------------------------------------------------------- /demo_app/manage.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python 2 | """Django's command-line utility for administrative tasks.""" 3 | import os 4 | import sys 5 | 6 | 7 | def main(): 8 | os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'demo.settings') 9 | try: 10 | from django.core.management import execute_from_command_line 11 | except ImportError as exc: 12 | raise ImportError( 13 | "Couldn't import Django. Are you sure it's installed and " 14 | "available on your PYTHONPATH environment variable? Did you " 15 | "forget to activate a virtual environment?" 16 | ) from exc 17 | execute_from_command_line(sys.argv) 18 | 19 | 20 | if __name__ == '__main__': 21 | main() 22 | -------------------------------------------------------------------------------- /demo_app/requirements.txt: -------------------------------------------------------------------------------- 1 | Django>=2.2.0,<3.0.0 2 | django_ckeditor>=5.7.0 3 | django_reversion>=3.0.0 4 | -------------------------------------------------------------------------------- /demo_app/static/xadmin/css/sweetalert2.css: -------------------------------------------------------------------------------- 1 | .swal2-info { 2 | font-size: 100%; 3 | } 4 | -------------------------------------------------------------------------------- /demo_app/static/xadmin/img/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vip68/xadmin_bugfix/eef25fdeec8f1424eebbb8ed0df1b486733c18a6/demo_app/static/xadmin/img/favicon.ico -------------------------------------------------------------------------------- /demo_app/static/xadmin/img/logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vip68/xadmin_bugfix/eef25fdeec8f1424eebbb8ed0df1b486733c18a6/demo_app/static/xadmin/img/logo.png -------------------------------------------------------------------------------- /requirements.txt: -------------------------------------------------------------------------------- 1 | django>=2.2.0,<4.0 2 | django-crispy-forms>=1.6.0 3 | django-reversion>=3.0.0 4 | django-formtools>=2.0 5 | django-import-export>=0.5.1 6 | django-ckeditor>=5.7.0 7 | httplib2>=0.16.0 8 | future 9 | six 10 | xlwt 11 | xlsxwriter 12 | -------------------------------------------------------------------------------- /xadmin/.tx/config: -------------------------------------------------------------------------------- 1 | [main] 2 | host = https://www.transifex.com 3 | 4 | [xadmin-core.django] 5 | file_filter = locale//LC_MESSAGES/django.po 6 | source_file = locale/en/LC_MESSAGES/django.po 7 | source_lang = en 8 | type = PO 9 | 10 | [xadmin-core.djangojs] 11 | file_filter = locale//LC_MESSAGES/djangojs.po 12 | source_file = locale/en/LC_MESSAGES/djangojs.po 13 | source_lang = en 14 | type = PO -------------------------------------------------------------------------------- /xadmin/adminx.py: -------------------------------------------------------------------------------- 1 | from __future__ import absolute_import 2 | import xadmin 3 | from .models import UserSettings, Log 4 | from xadmin.layout import * 5 | 6 | from django.utils.translation import ugettext_lazy as _, ugettext 7 | 8 | class UserSettingsAdmin(object): 9 | model_icon = 'fa fa-cog' 10 | hidden_menu = True 11 | 12 | xadmin.site.register(UserSettings, UserSettingsAdmin) 13 | 14 | class LogAdmin(object): 15 | 16 | def link(self, instance): 17 | if instance.content_type and instance.object_id and instance.action_flag != 'delete': 18 | admin_url = self.get_admin_url('%s_%s_change' % (instance.content_type.app_label, instance.content_type.model), 19 | instance.object_id) 20 | return "%s" % (admin_url, _('Admin Object')) 21 | else: 22 | return '' 23 | link.short_description = "" 24 | link.allow_tags = True 25 | link.is_column = False 26 | 27 | list_display = ('action_time', 'user', 'ip_addr', '__str__', 'link') 28 | list_filter = ['user', 'action_time'] 29 | search_fields = ['ip_addr', 'message'] 30 | model_icon = 'fa fa-cog' 31 | 32 | xadmin.site.register(Log, LogAdmin) 33 | -------------------------------------------------------------------------------- /xadmin/apps.py: -------------------------------------------------------------------------------- 1 | from django.apps import AppConfig 2 | from django.core import checks 3 | from django.utils.translation import ugettext_lazy as _ 4 | import xadmin 5 | 6 | 7 | class XAdminConfig(AppConfig): 8 | """Simple AppConfig which does not do automatic discovery.""" 9 | 10 | name = 'xadmin' 11 | verbose_name = _("Administration") 12 | 13 | def ready(self): 14 | self.module.autodiscover() 15 | setattr(xadmin,'site',xadmin.site) 16 | -------------------------------------------------------------------------------- /xadmin/locale/de_DE/LC_MESSAGES/django.mo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vip68/xadmin_bugfix/eef25fdeec8f1424eebbb8ed0df1b486733c18a6/xadmin/locale/de_DE/LC_MESSAGES/django.mo -------------------------------------------------------------------------------- /xadmin/locale/de_DE/LC_MESSAGES/djangojs.mo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vip68/xadmin_bugfix/eef25fdeec8f1424eebbb8ed0df1b486733c18a6/xadmin/locale/de_DE/LC_MESSAGES/djangojs.mo -------------------------------------------------------------------------------- /xadmin/locale/en/LC_MESSAGES/django.mo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vip68/xadmin_bugfix/eef25fdeec8f1424eebbb8ed0df1b486733c18a6/xadmin/locale/en/LC_MESSAGES/django.mo -------------------------------------------------------------------------------- /xadmin/locale/en/LC_MESSAGES/djangojs.mo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vip68/xadmin_bugfix/eef25fdeec8f1424eebbb8ed0df1b486733c18a6/xadmin/locale/en/LC_MESSAGES/djangojs.mo -------------------------------------------------------------------------------- /xadmin/locale/es_MX/LC_MESSAGES/django.mo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vip68/xadmin_bugfix/eef25fdeec8f1424eebbb8ed0df1b486733c18a6/xadmin/locale/es_MX/LC_MESSAGES/django.mo -------------------------------------------------------------------------------- /xadmin/locale/es_MX/LC_MESSAGES/djangojs.mo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vip68/xadmin_bugfix/eef25fdeec8f1424eebbb8ed0df1b486733c18a6/xadmin/locale/es_MX/LC_MESSAGES/djangojs.mo -------------------------------------------------------------------------------- /xadmin/locale/eu/LC_MESSAGES/django.mo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vip68/xadmin_bugfix/eef25fdeec8f1424eebbb8ed0df1b486733c18a6/xadmin/locale/eu/LC_MESSAGES/django.mo -------------------------------------------------------------------------------- /xadmin/locale/eu/LC_MESSAGES/djangojs.mo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vip68/xadmin_bugfix/eef25fdeec8f1424eebbb8ed0df1b486733c18a6/xadmin/locale/eu/LC_MESSAGES/djangojs.mo -------------------------------------------------------------------------------- /xadmin/locale/id_ID/LC_MESSAGES/django.mo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vip68/xadmin_bugfix/eef25fdeec8f1424eebbb8ed0df1b486733c18a6/xadmin/locale/id_ID/LC_MESSAGES/django.mo -------------------------------------------------------------------------------- /xadmin/locale/id_ID/LC_MESSAGES/djangojs.mo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vip68/xadmin_bugfix/eef25fdeec8f1424eebbb8ed0df1b486733c18a6/xadmin/locale/id_ID/LC_MESSAGES/djangojs.mo -------------------------------------------------------------------------------- /xadmin/locale/ja/LC_MESSAGES/django.mo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vip68/xadmin_bugfix/eef25fdeec8f1424eebbb8ed0df1b486733c18a6/xadmin/locale/ja/LC_MESSAGES/django.mo -------------------------------------------------------------------------------- /xadmin/locale/ja/LC_MESSAGES/djangojs.mo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vip68/xadmin_bugfix/eef25fdeec8f1424eebbb8ed0df1b486733c18a6/xadmin/locale/ja/LC_MESSAGES/djangojs.mo -------------------------------------------------------------------------------- /xadmin/locale/lt/LC_MESSAGES/django.mo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vip68/xadmin_bugfix/eef25fdeec8f1424eebbb8ed0df1b486733c18a6/xadmin/locale/lt/LC_MESSAGES/django.mo -------------------------------------------------------------------------------- /xadmin/locale/lt/LC_MESSAGES/djangojs.mo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vip68/xadmin_bugfix/eef25fdeec8f1424eebbb8ed0df1b486733c18a6/xadmin/locale/lt/LC_MESSAGES/djangojs.mo -------------------------------------------------------------------------------- /xadmin/locale/nl_NL/LC_MESSAGES/django.mo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vip68/xadmin_bugfix/eef25fdeec8f1424eebbb8ed0df1b486733c18a6/xadmin/locale/nl_NL/LC_MESSAGES/django.mo -------------------------------------------------------------------------------- /xadmin/locale/nl_NL/LC_MESSAGES/djangojs.mo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vip68/xadmin_bugfix/eef25fdeec8f1424eebbb8ed0df1b486733c18a6/xadmin/locale/nl_NL/LC_MESSAGES/djangojs.mo -------------------------------------------------------------------------------- /xadmin/locale/pl/LC_MESSAGES/django.mo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vip68/xadmin_bugfix/eef25fdeec8f1424eebbb8ed0df1b486733c18a6/xadmin/locale/pl/LC_MESSAGES/django.mo -------------------------------------------------------------------------------- /xadmin/locale/pl/LC_MESSAGES/djangojs.mo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vip68/xadmin_bugfix/eef25fdeec8f1424eebbb8ed0df1b486733c18a6/xadmin/locale/pl/LC_MESSAGES/djangojs.mo -------------------------------------------------------------------------------- /xadmin/locale/pt_BR/LC_MESSAGES/django.mo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vip68/xadmin_bugfix/eef25fdeec8f1424eebbb8ed0df1b486733c18a6/xadmin/locale/pt_BR/LC_MESSAGES/django.mo -------------------------------------------------------------------------------- /xadmin/locale/pt_BR/LC_MESSAGES/djangojs.mo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vip68/xadmin_bugfix/eef25fdeec8f1424eebbb8ed0df1b486733c18a6/xadmin/locale/pt_BR/LC_MESSAGES/djangojs.mo -------------------------------------------------------------------------------- /xadmin/locale/ru_RU/LC_MESSAGES/django.mo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vip68/xadmin_bugfix/eef25fdeec8f1424eebbb8ed0df1b486733c18a6/xadmin/locale/ru_RU/LC_MESSAGES/django.mo -------------------------------------------------------------------------------- /xadmin/locale/ru_RU/LC_MESSAGES/djangojs.mo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vip68/xadmin_bugfix/eef25fdeec8f1424eebbb8ed0df1b486733c18a6/xadmin/locale/ru_RU/LC_MESSAGES/djangojs.mo -------------------------------------------------------------------------------- /xadmin/locale/zh_Hans/LC_MESSAGES/django.mo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vip68/xadmin_bugfix/eef25fdeec8f1424eebbb8ed0df1b486733c18a6/xadmin/locale/zh_Hans/LC_MESSAGES/django.mo -------------------------------------------------------------------------------- /xadmin/locale/zh_Hans/LC_MESSAGES/djangojs.mo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vip68/xadmin_bugfix/eef25fdeec8f1424eebbb8ed0df1b486733c18a6/xadmin/locale/zh_Hans/LC_MESSAGES/djangojs.mo -------------------------------------------------------------------------------- /xadmin/migrations/0003_auto_20160715_0100.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | # Generated by Django 1.9.7 on 2016-07-15 06:00 3 | from __future__ import unicode_literals 4 | 5 | from django.db import migrations, models 6 | 7 | 8 | class Migration(migrations.Migration): 9 | 10 | dependencies = [ 11 | ('xadmin', '0002_log'), 12 | ] 13 | 14 | operations = [ 15 | migrations.AlterField( 16 | model_name='log', 17 | name='action_flag', 18 | field=models.CharField(max_length=32, verbose_name='action flag'), 19 | ), 20 | ] 21 | -------------------------------------------------------------------------------- /xadmin/migrations/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vip68/xadmin_bugfix/eef25fdeec8f1424eebbb8ed0df1b486733c18a6/xadmin/migrations/__init__.py -------------------------------------------------------------------------------- /xadmin/plugins/__init__.py: -------------------------------------------------------------------------------- 1 | 2 | PLUGINS = ( 3 | 'actions', 4 | 'filters', 5 | 'bookmark', 6 | 'export', 7 | 'layout', 8 | 'refresh', 9 | 'details', 10 | 'editable', 11 | 'relate', 12 | 'chart', 13 | 'ajax', 14 | 'relfield', 15 | 'inline', 16 | 'topnav', 17 | 'portal', 18 | 'quickform', 19 | 'wizard', 20 | 'images', 21 | 'auth', 22 | 'multiselect', 23 | 'themes', 24 | 'aggregation', 25 | # 'mobile', 26 | 'passwords', 27 | 'sitemenu', 28 | 'language', 29 | 'quickfilter', 30 | 'sortablelist', 31 | 'importexport' 32 | ) 33 | 34 | 35 | def register_builtin_plugins(site): 36 | from importlib import import_module 37 | from django.conf import settings 38 | 39 | exclude_plugins = getattr(settings, 'XADMIN_EXCLUDE_PLUGINS', []) 40 | 41 | [import_module('xadmin.plugins.%s' % plugin) for plugin in PLUGINS if plugin not in exclude_plugins] 42 | -------------------------------------------------------------------------------- /xadmin/plugins/language.py: -------------------------------------------------------------------------------- 1 | 2 | from django.conf import settings 3 | from django.template import loader 4 | from django.views.i18n import set_language 5 | from xadmin.plugins.utils import get_context_dict 6 | from xadmin.sites import site 7 | from xadmin.views import BaseAdminPlugin, CommAdminView, BaseAdminView 8 | 9 | 10 | class SetLangNavPlugin(BaseAdminPlugin): 11 | 12 | def block_top_navmenu(self, context, nodes): 13 | context = get_context_dict(context) 14 | context['redirect_to'] = self.request.get_full_path() 15 | nodes.append(loader.render_to_string('xadmin/blocks/comm.top.setlang.html', context=context)) 16 | 17 | 18 | class SetLangView(BaseAdminView): 19 | 20 | def post(self, request, *args, **kwargs): 21 | if 'nav_menu' in request.session: 22 | del request.session['nav_menu'] 23 | return set_language(request) 24 | 25 | if settings.LANGUAGES and 'django.middleware.locale.LocaleMiddleware' in settings.MIDDLEWARE: 26 | site.register_plugin(SetLangNavPlugin, CommAdminView) 27 | site.register_view(r'^i18n/setlang/$', SetLangView, 'set_language') 28 | -------------------------------------------------------------------------------- /xadmin/plugins/mobile.py: -------------------------------------------------------------------------------- 1 | #coding:utf-8 2 | from xadmin.sites import site 3 | from xadmin.views import BaseAdminPlugin, CommAdminView 4 | 5 | 6 | class MobilePlugin(BaseAdminPlugin): 7 | 8 | def _test_mobile(self): 9 | try: 10 | return self.request.META['HTTP_USER_AGENT'].find('Android') >= 0 or \ 11 | self.request.META['HTTP_USER_AGENT'].find('iPhone') >= 0 12 | except Exception: 13 | return False 14 | 15 | def init_request(self, *args, **kwargs): 16 | return self._test_mobile() 17 | 18 | def get_context(self, context): 19 | #context['base_template'] = 'xadmin/base_mobile.html' 20 | context['is_mob'] = True 21 | return context 22 | 23 | # Media 24 | # def get_media(self, media): 25 | # return media + self.vendor('xadmin.mobile.css', ) 26 | 27 | def block_extrahead(self, context, nodes): 28 | nodes.append('') 29 | 30 | site.register_plugin(MobilePlugin, CommAdminView) 31 | -------------------------------------------------------------------------------- /xadmin/plugins/sitemenu.py: -------------------------------------------------------------------------------- 1 | 2 | from xadmin.sites import site 3 | from xadmin.views import BaseAdminPlugin, CommAdminView 4 | 5 | BUILDIN_STYLES = { 6 | 'default': 'xadmin/includes/sitemenu_default.html', 7 | 'accordion': 'xadmin/includes/sitemenu_accordion.html', 8 | } 9 | 10 | 11 | class SiteMenuStylePlugin(BaseAdminPlugin): 12 | 13 | menu_style = None 14 | 15 | def init_request(self, *args, **kwargs): 16 | return bool(self.menu_style) and self.menu_style in BUILDIN_STYLES 17 | 18 | def get_context(self, context): 19 | context['menu_template'] = BUILDIN_STYLES[self.menu_style] 20 | return context 21 | 22 | site.register_plugin(SiteMenuStylePlugin, CommAdminView) 23 | -------------------------------------------------------------------------------- /xadmin/plugins/utils.py: -------------------------------------------------------------------------------- 1 | from django.template.context import RequestContext 2 | 3 | 4 | def get_context_dict(context): 5 | """ 6 | Contexts in django version 1.9+ must be dictionaries. As xadmin has a legacy with older versions of django, 7 | the function helps the transition by converting the [RequestContext] object to the dictionary when necessary. 8 | :param context: RequestContext 9 | :return: dict 10 | """ 11 | if isinstance(context, RequestContext): 12 | ctx = context.flatten() 13 | else: 14 | ctx = context 15 | return ctx 16 | -------------------------------------------------------------------------------- /xadmin/static/xadmin/component.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "xadmin", 3 | "version": "0.1.0", 4 | "dependencies": { 5 | "jquery": ">=1.8.3", 6 | "jquery-ui": ">=1.10.0", 7 | "bootstrap": "http://twitter.github.io/bootstrap/assets/bootstrap.zip", 8 | "bootstrap-timepicker": ">=0.2.3", 9 | "bootstrap-datepicker": ">=1.0.0", 10 | "bootstrap-modal": ">=2.1", 11 | "flot": ">=0.8", 12 | "font-awesome": ">=3.0.2", 13 | "load-image": "blueimp/JavaScript-Load-Image", 14 | "bootstrap-image-gallery": "blueimp/Bootstrap-Image-Gallery", 15 | "select2": ">=3.3.2", 16 | "selectize": ">=0.8.4", 17 | "datejs": "datejs/Datejs", 18 | "bootstrap-multiselect": "davidstutz/bootstrap-multiselect" 19 | } 20 | } -------------------------------------------------------------------------------- /xadmin/static/xadmin/css/xadmin.page.dashboard.css: -------------------------------------------------------------------------------- 1 | 2 | .dashboard.container-fluid { 3 | padding-left: 0px; 4 | } 5 | .dashboard .column{ 6 | min-height: 60px; 7 | } 8 | 9 | .widget { 10 | } 11 | .widget_options { 12 | } 13 | 14 | /* Quick Buttons 15 | =================================================================== */ 16 | .qbutton .panel-body { 17 | padding-top: 5px; 18 | } 19 | .btn-quick { 20 | margin-top: 10px; 21 | padding: 20px 0px 0px 0px; 22 | font-size: 15px; 23 | display:block; 24 | text-align: center; 25 | cursor: pointer; 26 | position: relative; 27 | } 28 | .btn-quick i { 29 | font-size: 32px; 30 | } 31 | 32 | /* Quick Buttons Small 33 | =================================================================== */ 34 | 35 | .btn-quick-small { 36 | border-radius: 3px; 37 | padding: 15px 0px 0px 0px; 38 | font-size: 10px; 39 | display:block; 40 | text-align: center; 41 | cursor: pointer; 42 | position: relative; 43 | } 44 | 45 | .btn-quick-small i { 46 | font-size: 20px; 47 | } -------------------------------------------------------------------------------- /xadmin/static/xadmin/css/xadmin.plugin.aggregation.css: -------------------------------------------------------------------------------- 1 | td.aggregate { 2 | font-weight: bold; 3 | } 4 | td.aggregate span.aggregate_title { 5 | float: right; 6 | } -------------------------------------------------------------------------------- /xadmin/static/xadmin/css/xadmin.plugin.formset.css: -------------------------------------------------------------------------------- 1 | 2 | .empty-form { 3 | display: none; 4 | } 5 | .formset:not(.one) > .panel-body { 6 | padding-top: 0px !important; 7 | } 8 | .formset .row-deleted{ 9 | background: #fff0f0 !important; 10 | } 11 | .formset .row-added { 12 | background: #d1ffdd !important; 13 | } 14 | .formset .formset-heading{ 15 | padding: 10px; 16 | border-bottom: 1px solid #EEE; 17 | } 18 | .formset .row-deleted .formset-form { 19 | display: none; 20 | } 21 | .formset .box-content.accordion { 22 | margin: 0px; 23 | padding: 5px 5px 3px; 24 | } 25 | .formset .formset-form { 26 | padding-left: 15px; 27 | padding-right: 15px; 28 | } 29 | .formset .accordion-heading .delete-row { 30 | float: right; 31 | margin: 8px; 32 | } 33 | .formset .nav{ 34 | margin-bottom: 5px; 35 | } 36 | .formset .nav.nav-tabs{ 37 | padding: 10px 10px 0px; 38 | } 39 | .formset .panel-body.tabs { 40 | padding-left: 0px; 41 | padding-right: 0px; 42 | } 43 | .formset .box-content.tabs{ 44 | padding: 5px 0px 0px; 45 | } 46 | .formset .tabs .tab-content{ 47 | overflow: hidden; 48 | } 49 | .formset .tabs .delete-row{ 50 | float: right; 51 | margin: 8px 8px; 52 | } 53 | .formset .table{ 54 | margin-bottom: 0px; 55 | } 56 | .formset .table td{ 57 | padding: 4px; 58 | } 59 | 60 | .formset .table td .delete-row{ 61 | margin-top: 4px; 62 | display: block; 63 | } 64 | -------------------------------------------------------------------------------- /xadmin/static/xadmin/css/xadmin.plugin.importexport.css: -------------------------------------------------------------------------------- 1 | /* FORM ROWS */ 2 | 3 | .form-row { 4 | overflow: hidden; 5 | padding: 10px; 6 | font-size: 13px; 7 | border-bottom: 1px solid #eee; 8 | } 9 | 10 | .form-row img, .form-row input { 11 | vertical-align: middle; 12 | } 13 | 14 | .form-row label input[type="checkbox"] { 15 | margin-top: 0; 16 | vertical-align: 0; 17 | } 18 | 19 | form .form-row p { 20 | padding-left: 0; 21 | } 22 | -------------------------------------------------------------------------------- /xadmin/static/xadmin/css/xadmin.plugin.quickfilter.css: -------------------------------------------------------------------------------- 1 | .nav-quickfilter .filter-item { 2 | white-space: nowrap; 3 | overflow: hidden; 4 | padding: 5px; 5 | } 6 | 7 | .nav-quickfilter .filter-col-1 { 8 | margin: 3px 2px 0 -2px; 9 | float: left; 10 | } 11 | 12 | .nav-quickfilter .filter-col-2 { 13 | } 14 | 15 | .nav-quickfilter .nav-expand { 16 | z-index:100; 17 | } -------------------------------------------------------------------------------- /xadmin/static/xadmin/css/xadmin.plugins.css: -------------------------------------------------------------------------------- 1 | /** Action **/ 2 | .action-checkbox-column { 3 | width: 14px; 4 | } 5 | 6 | /** quick-form **/ 7 | .quick-form .modal-body { 8 | padding-bottom: 0; 9 | } 10 | 11 | .quick-form .modal-footer { 12 | margin-top: 0; 13 | } 14 | 15 | label.checkbox { 16 | padding-left: 20px; 17 | } 18 | 19 | .modal-footer { 20 | padding: 19px 20px 20px; 21 | text-align: right; 22 | } 23 | 24 | .btn-toolbar .btn { 25 | float: none; 26 | } 27 | -------------------------------------------------------------------------------- /xadmin/static/xadmin/css/xadmin.widget.editable.css: -------------------------------------------------------------------------------- 1 | .editable-handler .popover{ 2 | width: auto; 3 | } 4 | .editable .popover-title{ 5 | white-space:nowrap; 6 | } 7 | .editable .popover-title .close { 8 | margin: -4px 0px 0px 10px; 9 | } 10 | .editable form .btn-ajax{ 11 | display: none; 12 | } 13 | .editable form .control-wrap{ 14 | padding-right: 0px; 15 | } 16 | .editable form{ 17 | margin-bottom: 0px; 18 | } 19 | .editable form .controls{ 20 | margin: 0px; 21 | padding: 0px !important; 22 | border: 0px; 23 | } 24 | .editable form .form-group { 25 | margin: 0px 0px 10px !important; 26 | } 27 | .editable form .control-label{ 28 | display: none; 29 | } 30 | .editable form .controls label { 31 | white-space:nowrap; 32 | } 33 | 34 | @media (min-width: 768px) { 35 | .editable form .text-field, 36 | .editable form .textinput { 37 | width: 200px; 38 | } 39 | .editable form .int-field { 40 | width: 150px; 41 | } 42 | .editable form .textarea-field{ 43 | width: 250px; 44 | height: 50px; 45 | } 46 | 47 | .editable form select, 48 | .editable form .select2-container { 49 | max-width: 200px; 50 | min-width: 100px; 51 | width: 100%; 52 | } 53 | } 54 | @media (max-width: 767px) { 55 | .popover.editpop{ 56 | position: fixed; 57 | top: 30px !important; 58 | left: 10px !important; 59 | right: 10px !important; 60 | z-index: 1040; 61 | max-width: none; 62 | } 63 | } 64 | -------------------------------------------------------------------------------- /xadmin/static/xadmin/js/xadmin.page.list.js: -------------------------------------------------------------------------------- 1 | jQuery(function($){ 2 | //full screen btn 3 | $('.layout-btns .layout-full').click(function(e){ 4 | var icon = $(this).find('i') 5 | if($(this).hasClass('active')){ 6 | // reset 7 | $('#left-side, ul.breadcrumb').show('fast'); 8 | $('#content-block').removeClass('col-md-12 col-sm-12 full-content').addClass('col-sm-11 col-md-10'); 9 | icon.removeClass('fa-compress').addClass('fa-expand'); 10 | $(window).trigger('resize'); 11 | } else { 12 | // full screen 13 | $('#left-side, ul.breadcrumb').hide('fast', function(){ 14 | $('#content-block').removeClass('col-sm-11 col-md-10').addClass('col-md-12 col-sm-12 full-content'); 15 | icon.removeClass('fa-expand').addClass('fa-compress'); 16 | $(window).trigger('resize'); 17 | }); 18 | } 19 | }); 20 | 21 | $('.layout-btns .layout-normal').click(function(e){ 22 | $('.results table').removeClass('table-condensed'); 23 | }); 24 | 25 | $('.layout-btns .layout-condensed').click(function(e){ 26 | $('.results table').addClass('table-condensed'); 27 | }); 28 | 29 | }); -------------------------------------------------------------------------------- /xadmin/static/xadmin/js/xadmin.plugin.batch.js: -------------------------------------------------------------------------------- 1 | 2 | ;(function($){ 3 | 4 | $('.batch-field-checkbox').bind('click', function(event){ 5 | if (!event) { var event = window.event; } 6 | var target = event.target ? event.target : event.srcElement; 7 | 8 | var wrap = $(this).parent().parent().find('.control-wrap'); 9 | if(target.checked){ 10 | wrap.show('fast'); 11 | } else { 12 | wrap.hide('fast'); 13 | } 14 | }); 15 | 16 | })(jQuery) 17 | -------------------------------------------------------------------------------- /xadmin/static/xadmin/js/xadmin.plugin.bookmark.js: -------------------------------------------------------------------------------- 1 | (function($) { 2 | 3 | $(function(){ 4 | $('#bookmark_form').each(function(){ 5 | var f = $(this); 6 | f.submit(function(e){ 7 | f.find('button[type=submit]').button('loading'); 8 | $.post(f.attr('action'), f.serialize(), function(data){ 9 | $('#bookmark-menu .add-bookmark').remove(); 10 | $('#bookmark-menu').append('
  • '+ data.title +'
  • '); 11 | }, 'json'); 12 | return false; 13 | }); 14 | }); 15 | }); 16 | 17 | })(jQuery); -------------------------------------------------------------------------------- /xadmin/static/xadmin/js/xadmin.plugin.importexport.js: -------------------------------------------------------------------------------- 1 | $("#export-menu").click(function () { 2 | $("input[name='_select_across']").val($("input[name='select_across']").val()); 3 | if (0 == $("input[name='select_across']").val()) { 4 | var selectedRecords = []; 5 | $.each($('.action-select'), function () { 6 | if (true == $(this).prop('checked')) { 7 | selectedRecords.push($(this).val()); 8 | } 9 | }); 10 | $("input[name='_selected_actions']").val(selectedRecords.join(',')); 11 | } 12 | }); 13 | -------------------------------------------------------------------------------- /xadmin/static/xadmin/js/xadmin.plugin.portal.js: -------------------------------------------------------------------------------- 1 | jQuery(function() { 2 | $( ".column" ).sortable({ 3 | connectWith: ".column", 4 | handle: '.panel-heading', 5 | forcePlaceholderSize: true, 6 | cursor: "move", 7 | cancel: ".unsort, .tab-content", 8 | stop: function( event, ui ) { 9 | var pos = []; 10 | $('.column').each(function(){ 11 | var col = []; 12 | $(this).find('.panel').each(function(){ 13 | col.push($(this).attr('id')); 14 | }); 15 | pos.push(col.join(',')); 16 | }); 17 | var pos_val = pos.join('|'); 18 | var key = $('#_portal_key').val(); 19 | $.save_user_settings(key, pos_val, function(){ 20 | //alert('success'); 21 | }); 22 | } 23 | }); 24 | 25 | $( ".panel-heading .icon.chevron" ).click(function() { 26 | $( this ).toggleClass( "fa fa-chevron-up" ).toggleClass( "fa fa-chevron-down" ); 27 | $( this ).parents( ".panel:first" ).find( ".panel-body" ).toggle('fast'); 28 | }); 29 | 30 | }); -------------------------------------------------------------------------------- /xadmin/static/xadmin/js/xadmin.plugin.refresh.js: -------------------------------------------------------------------------------- 1 | (function($) { 2 | 3 | $.dofresh = function(){ 4 | var refresh_el = $('#refresh_time'); 5 | var time = parseInt(refresh_el.text()); 6 | if(time == 1){ 7 | refresh_el.text(0); 8 | window.location.reload(); 9 | } else { 10 | refresh_el.text(time-1); 11 | setTimeout("$.dofresh()",1000) 12 | } 13 | }; 14 | 15 | $(function(){ 16 | var refresh_el = $('#refresh_time'); 17 | if(refresh_el){ 18 | setTimeout("$.dofresh()",1000) 19 | } 20 | }); 21 | 22 | })(jQuery); -------------------------------------------------------------------------------- /xadmin/static/xadmin/js/xadmin.plugin.revision.js: -------------------------------------------------------------------------------- 1 | jQuery(function($){ 2 | $('.diff_field').each(function(){ 3 | var el = $(this); 4 | var textarea = el.find('textarea.org-data'); 5 | var title = el.data('org-data') || el.attr('title'); 6 | if(textarea.length){ 7 | title = textarea.val(); 8 | } 9 | el.find('.controls').tooltip({ 10 | title: title, 11 | html: true 12 | }) 13 | }); 14 | 15 | $('.formset-content .formset-row').each(function(){ 16 | var row = $(this); 17 | var del = row.find('input[id $= "-DELETE"]'); 18 | if(del.val() == 'on' || del.val() == 'True'){ 19 | row.addClass('row-deleted'); 20 | del.val('on'); 21 | } 22 | var idinput = row.find('input[id $= "-id"]'); 23 | if(idinput.val() == '' || idinput.val() == undefined){ 24 | row.addClass('row-added'); 25 | row.find('.formset-num').html(gettext('New Item')); 26 | } 27 | }); 28 | }); -------------------------------------------------------------------------------- /xadmin/static/xadmin/js/xadmin.widget.multiselect.js: -------------------------------------------------------------------------------- 1 | 2 | ;(function($){ 3 | 4 | $.fn.exform.renders.push(function(f){ 5 | if($.fn.multiselect){ 6 | f.find('.selectmultiple.selectdropdown').multiselect({ 7 | 8 | }); 9 | } 10 | }); 11 | 12 | })(jQuery) -------------------------------------------------------------------------------- /xadmin/static/xadmin/vendor/bootstrap-datepicker/js/locales/bootstrap-datepicker.bg.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Bulgarian translation for bootstrap-datepicker 3 | * Apostol Apostolov 4 | */ 5 | ;(function($){ 6 | $.fn.datepicker.dates['bg'] = { 7 | days: ["Неделя", "Понеделник", "Вторник", "Сряда", "Четвъртък", "Петък", "Събота", "Неделя"], 8 | daysShort: ["Нед", "Пон", "Вто", "Сря", "Чет", "Пет", "Съб", "Нед"], 9 | daysMin: ["Н", "П", "В", "С", "Ч", "П", "С", "Н"], 10 | months: ["Януари", "Февруари", "Март", "Април", "Май", "Юни", "Юли", "Август", "Септември", "Октомври", "Ноември", "Декември"], 11 | monthsShort: ["Ян", "Фев", "Мар", "Апр", "Май", "Юни", "Юли", "Авг", "Сеп", "Окт", "Ное", "Дек"], 12 | today: "днес" 13 | }; 14 | }(jQuery)); 15 | -------------------------------------------------------------------------------- /xadmin/static/xadmin/vendor/bootstrap-datepicker/js/locales/bootstrap-datepicker.ca.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Catalan translation for bootstrap-datepicker 3 | * J. Garcia 4 | */ 5 | ;(function($){ 6 | $.fn.datepicker.dates['ca'] = { 7 | days: ["Diumenge", "Dilluns", "Dimarts", "Dimecres", "Dijous", "Divendres", "Dissabte", "Diumenge"], 8 | daysShort: ["Diu", "Dil", "Dmt", "Dmc", "Dij", "Div", "Dis", "Diu"], 9 | daysMin: ["dg", "dl", "dt", "dc", "dj", "dv", "ds", "dg"], 10 | months: ["Gener", "Febrer", "Març", "Abril", "Maig", "Juny", "Juliol", "Agost", "Setembre", "Octubre", "Novembre", "Desembre"], 11 | monthsShort: ["Gen", "Feb", "Mar", "Abr", "Mai", "Jun", "Jul", "Ago", "Set", "Oct", "Nov", "Des"], 12 | today: "Avui" 13 | }; 14 | }(jQuery)); 15 | -------------------------------------------------------------------------------- /xadmin/static/xadmin/vendor/bootstrap-datepicker/js/locales/bootstrap-datepicker.cs.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Czech translation for bootstrap-datepicker 3 | * Matěj Koubík 4 | * Fixes by Michal Remiš 5 | */ 6 | ;(function($){ 7 | $.fn.datepicker.dates['cs'] = { 8 | days: ["Neděle", "Pondělí", "Úterý", "Středa", "Čtvrtek", "Pátek", "Sobota", "Neděle"], 9 | daysShort: ["Ned", "Pon", "Úte", "Stř", "Čtv", "Pát", "Sob", "Ned"], 10 | daysMin: ["Ne", "Po", "Út", "St", "Čt", "Pá", "So", "Ne"], 11 | months: ["Leden", "Únor", "Březen", "Duben", "Květen", "Červen", "Červenec", "Srpen", "Září", "Říjen", "Listopad", "Prosinec"], 12 | monthsShort: ["Led", "Úno", "Bře", "Dub", "Kvě", "Čer", "Čnc", "Srp", "Zář", "Říj", "Lis", "Pro"], 13 | today: "Dnes" 14 | }; 15 | }(jQuery)); 16 | -------------------------------------------------------------------------------- /xadmin/static/xadmin/vendor/bootstrap-datepicker/js/locales/bootstrap-datepicker.da.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Danish translation for bootstrap-datepicker 3 | * Christian Pedersen 4 | */ 5 | ;(function($){ 6 | $.fn.datepicker.dates['da'] = { 7 | days: ["Søndag", "Mandag", "Tirsdag", "Onsdag", "Torsdag", "Fredag", "Lørdag", "Søndag"], 8 | daysShort: ["Søn", "Man", "Tir", "Ons", "Tor", "Fre", "Lør", "Søn"], 9 | daysMin: ["Sø", "Ma", "Ti", "On", "To", "Fr", "Lø", "Sø"], 10 | months: ["Januar", "Februar", "Marts", "April", "Maj", "Juni", "Juli", "August", "September", "Oktober", "November", "December"], 11 | monthsShort: ["Jan", "Feb", "Mar", "Apr", "Maj", "Jun", "Jul", "Aug", "Sep", "Okt", "Nov", "Dec"], 12 | today: "I Dag" 13 | }; 14 | }(jQuery)); -------------------------------------------------------------------------------- /xadmin/static/xadmin/vendor/bootstrap-datepicker/js/locales/bootstrap-datepicker.de.js: -------------------------------------------------------------------------------- 1 | /** 2 | * German translation for bootstrap-datepicker 3 | * Sam Zurcher 4 | */ 5 | ;(function($){ 6 | $.fn.datepicker.dates['de'] = { 7 | days: ["Sonntag", "Montag", "Dienstag", "Mittwoch", "Donnerstag", "Freitag", "Samstag", "Sonntag"], 8 | daysShort: ["Son", "Mon", "Die", "Mit", "Don", "Fre", "Sam", "Son"], 9 | daysMin: ["So", "Mo", "Di", "Mi", "Do", "Fr", "Sa", "So"], 10 | months: ["Januar", "Februar", "März", "April", "Mai", "Juni", "Juli", "August", "September", "Oktober", "November", "Dezember"], 11 | monthsShort: ["Jan", "Feb", "Mär", "Apr", "Mai", "Jun", "Jul", "Aug", "Sep", "Okt", "Nov", "Dez"], 12 | today: "Heute", 13 | weekStart: 1, 14 | format: "dd.mm.yyyy" 15 | }; 16 | }(jQuery)); 17 | -------------------------------------------------------------------------------- /xadmin/static/xadmin/vendor/bootstrap-datepicker/js/locales/bootstrap-datepicker.el.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Greek translation for bootstrap-datepicker 3 | */ 4 | ;(function($){ 5 | $.fn.datepicker.dates['el'] = { 6 | days: ["Κυριακή", "Δευτέρα", "Τρίτη", "Τετάρτη", "Πέμπτη", "Παρασκευή", "Σάββατο", "Κυριακή"], 7 | daysShort: ["Κυρ", "Δευ", "Τρι", "Τετ", "Πεμ", "Παρ", "Σαβ", "Κυρ"], 8 | daysMin: ["Κυ", "Δε", "Τρ", "Τε", "Πε", "Πα", "Σα", "Κυ"], 9 | months: ["Ιανουάριος", "Φεβρουάριος", "Μάρτιος", "Απρίλιος", "Μάιος", "Ιούνιος", "Ιούλιος", "Αύγουστος", "Σεπτέμβριος", "Οκτώβριος", "Νοέμβριος", "Δεκέμβριος"], 10 | monthsShort: ["Ιαν", "Φεβ", "Μαρ", "Απρ", "Μάι", "Ιουν", "Ιουλ", "Αυγ", "Σεπ", "Οκτ", "Νοε", "Δεκ"], 11 | today: "Σήμερα" 12 | }; 13 | }(jQuery)); -------------------------------------------------------------------------------- /xadmin/static/xadmin/vendor/bootstrap-datepicker/js/locales/bootstrap-datepicker.es.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Spanish translation for bootstrap-datepicker 3 | * Bruno Bonamin 4 | */ 5 | ;(function($){ 6 | $.fn.datepicker.dates['es'] = { 7 | days: ["Domingo", "Lunes", "Martes", "Miércoles", "Jueves", "Viernes", "Sábado", "Domingo"], 8 | daysShort: ["Dom", "Lun", "Mar", "Mié", "Jue", "Vie", "Sáb", "Dom"], 9 | daysMin: ["Do", "Lu", "Ma", "Mi", "Ju", "Vi", "Sa", "Do"], 10 | months: ["Enero", "Febrero", "Marzo", "Abril", "Mayo", "Junio", "Julio", "Agosto", "Septiembre", "Octubre", "Noviembre", "Diciembre"], 11 | monthsShort: ["Ene", "Feb", "Mar", "Abr", "May", "Jun", "Jul", "Ago", "Sep", "Oct", "Nov", "Dic"], 12 | today: "Hoy" 13 | }; 14 | }(jQuery)); 15 | -------------------------------------------------------------------------------- /xadmin/static/xadmin/vendor/bootstrap-datepicker/js/locales/bootstrap-datepicker.fi.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Finnish translation for bootstrap-datepicker 3 | * Jaakko Salonen 4 | */ 5 | ;(function($){ 6 | $.fn.datepicker.dates['fi'] = { 7 | days: ["sunnuntai", "maanantai", "tiistai", "keskiviikko", "torstai", "perjantai", "lauantai", "sunnuntai"], 8 | daysShort: ["sun", "maa", "tii", "kes", "tor", "per", "lau", "sun"], 9 | daysMin: ["su", "ma", "ti", "ke", "to", "pe", "la", "su"], 10 | months: ["tammikuu", "helmikuu", "maaliskuu", "huhtikuu", "toukokuu", "kesäkuu", "heinäkuu", "elokuu", "syyskuu", "lokakuu", "marraskuu", "joulukuu"], 11 | monthsShort: ["tam", "hel", "maa", "huh", "tou", "kes", "hei", "elo", "syy", "lok", "mar", "jou"], 12 | today: "tänään" 13 | }; 14 | }(jQuery)); 15 | -------------------------------------------------------------------------------- /xadmin/static/xadmin/vendor/bootstrap-datepicker/js/locales/bootstrap-datepicker.fr.js: -------------------------------------------------------------------------------- 1 | /** 2 | * French translation for bootstrap-datepicker 3 | * Nico Mollet 4 | */ 5 | ;(function($){ 6 | $.fn.datepicker.dates['fr'] = { 7 | days: ["Dimanche", "Lundi", "Mardi", "Mercredi", "Jeudi", "Vendredi", "Samedi", "Dimanche"], 8 | daysShort: ["Dim", "Lun", "Mar", "Mer", "Jeu", "Ven", "Sam", "Dim"], 9 | daysMin: ["D", "L", "Ma", "Me", "J", "V", "S", "D"], 10 | months: ["Janvier", "Février", "Mars", "Avril", "Mai", "Juin", "Juillet", "Août", "Septembre", "Octobre", "Novembre", "Décembre"], 11 | monthsShort: ["Jan", "Fev", "Mar", "Avr", "Mai", "Jui", "Jul", "Aou", "Sep", "Oct", "Nov", "Dec"], 12 | today: "Aujourd'hui", 13 | weekStart: 1, 14 | format: "dd/mm/yyyy" 15 | }; 16 | }(jQuery)); 17 | -------------------------------------------------------------------------------- /xadmin/static/xadmin/vendor/bootstrap-datepicker/js/locales/bootstrap-datepicker.he.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Hebrew translation for bootstrap-datepicker 3 | * Sagie Maoz 4 | */ 5 | ;(function($){ 6 | $.fn.datepicker.dates['he'] = { 7 | days: ["ראשון", "שני", "שלישי", "רביעי", "חמישי", "שישי", "שבת", "ראשון"], 8 | daysShort: ["א", "ב", "ג", "ד", "ה", "ו", "ש", "א"], 9 | daysMin: ["א", "ב", "ג", "ד", "ה", "ו", "ש", "א"], 10 | months: ["ינואר", "פברואר", "מרץ", "אפריל", "מאי", "יוני", "יולי", "אוגוסט", "ספטמבר", "אוקטובר", "נובמבר", "דצמבר"], 11 | monthsShort: ["ינו", "פבר", "מרץ", "אפר", "מאי", "יונ", "יול", "אוג", "ספט", "אוק", "נוב", "דצמ"], 12 | today: "היום", 13 | rtl: true 14 | }; 15 | }(jQuery)); 16 | -------------------------------------------------------------------------------- /xadmin/static/xadmin/vendor/bootstrap-datepicker/js/locales/bootstrap-datepicker.hr.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Croatian localisation 3 | */ 4 | ;(function($){ 5 | $.fn.datepicker.dates['hr'] = { 6 | days: ["Nedjelja", "Ponedjelja", "Utorak", "Srijeda", "Četrtak", "Petak", "Subota", "Nedjelja"], 7 | daysShort: ["Ned", "Pon", "Uto", "Srr", "Čet", "Pet", "Sub", "Ned"], 8 | daysMin: ["Ne", "Po", "Ut", "Sr", "Če", "Pe", "Su", "Ne"], 9 | months: ["Siječanj", "Veljača", "Ožujak", "Travanj", "Svibanj", "Lipanj", "Srpanj", "Kolovoz", "Rujan", "Listopad", "Studeni", "Prosinac"], 10 | monthsShort: ["Sije", "Velj", "Ožu", "Tra", "Svi", "Lip", "Jul", "Kol", "Ruj", "Lis", "Stu", "Pro"], 11 | today: "Danas" 12 | }; 13 | }(jQuery)); 14 | -------------------------------------------------------------------------------- /xadmin/static/xadmin/vendor/bootstrap-datepicker/js/locales/bootstrap-datepicker.hu.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Hungarian translation for bootstrap-datepicker 3 | * Sotus László 4 | */ 5 | ;(function($){ 6 | $.fn.datepicker.dates['hu'] = { 7 | days: ["Vasárnap", "Hétfő", "Kedd", "Szerda", "Csütörtök", "Péntek", "Szombat", "Vasárnap"], 8 | daysShort: ["Vas", "Hét", "Ked", "Sze", "Csü", "Pén", "Szo", "Vas"], 9 | daysMin: ["Va", "Hé", "Ke", "Sz", "Cs", "Pé", "Sz", "Va"], 10 | months: ["Január", "Február", "Március", "Április", "Május", "Június", "Július", "Augusztus", "Szeptember", "Október", "November", "December"], 11 | monthsShort: ["Jan", "Feb", "Már", "Ápr", "Máj", "Jún", "Júl", "Aug", "Sze", "Okt", "Nov", "Dec"], 12 | today: "Ma", 13 | weekStart: 1, 14 | format: "yyyy.mm.dd" 15 | }; 16 | }(jQuery)); 17 | -------------------------------------------------------------------------------- /xadmin/static/xadmin/vendor/bootstrap-datepicker/js/locales/bootstrap-datepicker.id.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Bahasa translation for bootstrap-datepicker 3 | * Azwar Akbar 4 | */ 5 | ;(function($){ 6 | $.fn.datepicker.dates['id'] = { 7 | days: ["Minggu", "Senin", "Selasa", "Rabu", "Kamis", "Jumat", "Sabtu", "Minggu"], 8 | daysShort: ["Mgu", "Sen", "Sel", "Rab", "Kam", "Jum", "Sab", "Mgu"], 9 | daysMin: ["Mg", "Sn", "Sl", "Ra", "Ka", "Ju", "Sa", "Mg"], 10 | months: ["Januari", "Februari", "Maret", "April", "Mei", "Juni", "Juli", "Agustus", "September", "Oktober", "November", "Desember"], 11 | monthsShort: ["Jan", "Feb", "Mar", "Apr", "Mei", "Jun", "Jul", "Ags", "Sep", "Okt", "Nov", "Des"] 12 | }; 13 | }(jQuery)); 14 | -------------------------------------------------------------------------------- /xadmin/static/xadmin/vendor/bootstrap-datepicker/js/locales/bootstrap-datepicker.is.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Icelandic translation for bootstrap-datepicker 3 | * Hinrik Örn Sigurðsson 4 | */ 5 | ;(function($){ 6 | $.fn.datepicker.dates['is'] = { 7 | days: ["Sunnudagur", "Mánudagur", "Þriðjudagur", "Miðvikudagur", "Fimmtudagur", "Föstudagur", "Laugardagur", "Sunnudagur"], 8 | daysShort: ["Sun", "Mán", "Þri", "Mið", "Fim", "Fös", "Lau", "Sun"], 9 | daysMin: ["Su", "Má", "Þr", "Mi", "Fi", "Fö", "La", "Su"], 10 | months: ["Janúar", "Febrúar", "Mars", "Apríl", "Maí", "Júní", "Júlí", "Ágúst", "September", "Október", "Nóvember", "Desember"], 11 | monthsShort: ["Jan", "Feb", "Mar", "Apr", "Maí", "Jún", "Júl", "Ágú", "Sep", "Okt", "Nóv", "Des"], 12 | today: "Í Dag" 13 | }; 14 | }(jQuery)); 15 | -------------------------------------------------------------------------------- /xadmin/static/xadmin/vendor/bootstrap-datepicker/js/locales/bootstrap-datepicker.it.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Italian translation for bootstrap-datepicker 3 | * Enrico Rubboli 4 | */ 5 | ;(function($){ 6 | $.fn.datepicker.dates['it'] = { 7 | days: ["Domenica", "Lunedì", "Martedì", "Mercoledì", "Giovedì", "Venerdì", "Sabato", "Domenica"], 8 | daysShort: ["Dom", "Lun", "Mar", "Mer", "Gio", "Ven", "Sab", "Dom"], 9 | daysMin: ["Do", "Lu", "Ma", "Me", "Gi", "Ve", "Sa", "Do"], 10 | months: ["Gennaio", "Febbraio", "Marzo", "Aprile", "Maggio", "Giugno", "Luglio", "Agosto", "Settembre", "Ottobre", "Novembre", "Dicembre"], 11 | monthsShort: ["Gen", "Feb", "Mar", "Apr", "Mag", "Giu", "Lug", "Ago", "Set", "Ott", "Nov", "Dic"], 12 | today: "Oggi", 13 | weekStart: 1, 14 | format: "dd/mm/yyyy" 15 | }; 16 | }(jQuery)); 17 | -------------------------------------------------------------------------------- /xadmin/static/xadmin/vendor/bootstrap-datepicker/js/locales/bootstrap-datepicker.ja.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Japanese translation for bootstrap-datepicker 3 | * Norio Suzuki 4 | */ 5 | ;(function($){ 6 | $.fn.datepicker.dates['ja'] = { 7 | days: ["日曜", "月曜", "火曜", "水曜", "木曜", "金曜", "土曜", "日曜"], 8 | daysShort: ["日", "月", "火", "水", "木", "金", "土", "日"], 9 | daysMin: ["日", "月", "火", "水", "木", "金", "土", "日"], 10 | months: ["1月", "2月", "3月", "4月", "5月", "6月", "7月", "8月", "9月", "10月", "11月", "12月"], 11 | monthsShort: ["1月", "2月", "3月", "4月", "5月", "6月", "7月", "8月", "9月", "10月", "11月", "12月"], 12 | today: "今日", 13 | format: "yyyy/mm/dd" 14 | }; 15 | }(jQuery)); 16 | -------------------------------------------------------------------------------- /xadmin/static/xadmin/vendor/bootstrap-datepicker/js/locales/bootstrap-datepicker.kr.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Korean translation for bootstrap-datepicker 3 | * Gu Youn 4 | */ 5 | ;(function($){ 6 | $.fn.datepicker.dates['kr'] = { 7 | days: ["일요일", "월요일", "화요일", "수요일", "목요일", "금요일", "토요일", "일요일"], 8 | daysShort: ["일", "월", "화", "수", "목", "금", "토", "일"], 9 | daysMin: ["일", "월", "화", "수", "목", "금", "토", "일"], 10 | months: ["1월", "2월", "3월", "4월", "5월", "6월", "7월", "8월", "9월", "10월", "11월", "12월"], 11 | monthsShort: ["1월", "2월", "3월", "4월", "5월", "6월", "7월", "8월", "9월", "10월", "11월", "12월"] 12 | }; 13 | }(jQuery)); 14 | -------------------------------------------------------------------------------- /xadmin/static/xadmin/vendor/bootstrap-datepicker/js/locales/bootstrap-datepicker.lt.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Lithuanian translation for bootstrap-datepicker 3 | * Šarūnas Gliebus 4 | */ 5 | 6 | ;(function($){ 7 | $.fn.datepicker.dates['lt'] = { 8 | days: ["Sekmadienis", "Pirmadienis", "Antradienis", "Trečiadienis", "Ketvirtadienis", "Penktadienis", "Šeštadienis", "Sekmadienis"], 9 | daysShort: ["S", "Pr", "A", "T", "K", "Pn", "Š", "S"], 10 | daysMin: ["Sk", "Pr", "An", "Tr", "Ke", "Pn", "Št", "Sk"], 11 | months: ["Sausis", "Vasaris", "Kovas", "Balandis", "Gegužė", "Birželis", "Liepa", "Rugpjūtis", "Rugsėjis", "Spalis", "Lapkritis", "Gruodis"], 12 | monthsShort: ["Sau", "Vas", "Kov", "Bal", "Geg", "Bir", "Lie", "Rugp", "Rugs", "Spa", "Lap", "Gru"], 13 | today: "Šiandien", 14 | weekStart: 1 15 | }; 16 | }(jQuery)); 17 | -------------------------------------------------------------------------------- /xadmin/static/xadmin/vendor/bootstrap-datepicker/js/locales/bootstrap-datepicker.lv.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Latvian translation for bootstrap-datepicker 3 | * Artis Avotins 4 | */ 5 | 6 | ;(function($){ 7 | $.fn.datepicker.dates['lv'] = { 8 | days: ["Svētdiena", "Pirmdiena", "Otrdiena", "Trešdiena", "Ceturtdiena", "Piektdiena", "Sestdiena", "Svētdiena"], 9 | daysShort: ["Sv", "P", "O", "T", "C", "Pk", "S", "Sv"], 10 | daysMin: ["Sv", "Pr", "Ot", "Tr", "Ce", "Pk", "St", "Sv"], 11 | months: ["Janvāris", "Februāris", "Marts", "Aprīlis", "Maijs", "Jūnijs", "Jūlijs", "Augusts", "Septembris", "Oktobris", "Novembris", "Decembris"], 12 | monthsShort: ["Jan", "Feb", "Mar", "Apr", "Mai", "Jūn", "Jūl", "Aug", "Sep", "Okt", "Nov", "Dec."], 13 | today: "Šodien", 14 | weekStart: 1 15 | }; 16 | }(jQuery)); -------------------------------------------------------------------------------- /xadmin/static/xadmin/vendor/bootstrap-datepicker/js/locales/bootstrap-datepicker.ms.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Malay translation for bootstrap-datepicker 3 | * Ateman Faiz 4 | */ 5 | ;(function($){ 6 | $.fn.datepicker.dates['ms'] = { 7 | days: ["Ahad", "Isnin", "Selasa", "Rabu", "Khamis", "Jumaat", "Sabtu", "Ahad"], 8 | daysShort: ["Aha", "Isn", "Sel", "Rab", "Kha", "Jum", "Sab", "Aha"], 9 | daysMin: ["Ah", "Is", "Se", "Ra", "Kh", "Ju", "Sa", "Ah"], 10 | months: ["Januari", "Februari", "Mac", "April", "Mei", "Jun", "Julai", "Ogos", "September", "Oktober", "November", "Disember"], 11 | monthsShort: ["Jan", "Feb", "Mar", "Apr", "Mei", "Jun", "Jul", "Ogo", "Sep", "Okt", "Nov", "Dis"], 12 | today: "Hari Ini" 13 | }; 14 | }(jQuery)); 15 | -------------------------------------------------------------------------------- /xadmin/static/xadmin/vendor/bootstrap-datepicker/js/locales/bootstrap-datepicker.nb.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Norwegian (bokmål) translation for bootstrap-datepicker 3 | * Fredrik Sundmyhr 4 | */ 5 | ;(function($){ 6 | $.fn.datepicker.dates['nb'] = { 7 | days: ["Søndag", "Mandag", "Tirsdag", "Onsdag", "Torsdag", "Fredag", "Lørdag", "Søndag"], 8 | daysShort: ["Søn", "Man", "Tir", "Ons", "Tor", "Fre", "Lør", "Søn"], 9 | daysMin: ["Sø", "Ma", "Ti", "On", "To", "Fr", "Lø", "Sø"], 10 | months: ["Januar", "Februar", "Mars", "April", "Mai", "Juni", "Juli", "August", "September", "Oktober", "November", "Desember"], 11 | monthsShort: ["Jan", "Feb", "Mar", "Apr", "Mai", "Jun", "Jul", "Aug", "Sep", "Okt", "Nov", "Des"], 12 | today: "I Dag" 13 | }; 14 | }(jQuery)); -------------------------------------------------------------------------------- /xadmin/static/xadmin/vendor/bootstrap-datepicker/js/locales/bootstrap-datepicker.nl.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Dutch translation for bootstrap-datepicker 3 | * Reinier Goltstein 4 | */ 5 | ;(function($){ 6 | $.fn.datepicker.dates['nl'] = { 7 | days: ["Zondag", "Maandag", "Dinsdag", "Woensdag", "Donderdag", "Vrijdag", "Zaterdag", "Zondag"], 8 | daysShort: ["Zo", "Ma", "Di", "Wo", "Do", "Vr", "Za", "Zo"], 9 | daysMin: ["Zo", "Ma", "Di", "Wo", "Do", "Vr", "Za", "Zo"], 10 | months: ["Januari", "Februari", "Maart", "April", "Mei", "Juni", "Juli", "Augustus", "September", "Oktober", "November", "December"], 11 | monthsShort: ["Jan", "Feb", "Mrt", "Apr", "Mei", "Jun", "Jul", "Aug", "Sep", "Okt", "Nov", "Dec"], 12 | today: "Vandaag" 13 | }; 14 | }(jQuery)); 15 | -------------------------------------------------------------------------------- /xadmin/static/xadmin/vendor/bootstrap-datepicker/js/locales/bootstrap-datepicker.pl.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Polish translation for bootstrap-datepicker 3 | * Robert 4 | */ 5 | ;(function($){ 6 | $.fn.datepicker.dates['pl'] = { 7 | days: ["Niedziela", "Poniedziałek", "Wtorek", "Środa", "Czwartek", "Piątek", "Sobota", "Niedziela"], 8 | daysShort: ["Nie", "Pn", "Wt", "Śr", "Czw", "Pt", "So", "Nie"], 9 | daysMin: ["N", "Pn", "Wt", "Śr", "Cz", "Pt", "So", "N"], 10 | months: ["Styczeń", "Luty", "Marzec", "Kwiecień", "Maj", "Czerwiec", "Lipiec", "Sierpień", "Wrzesień", "Październik", "Listopad", "Grudzień"], 11 | monthsShort: ["Sty", "Lu", "Mar", "Kw", "Maj", "Cze", "Lip", "Sie", "Wrz", "Pa", "Lis", "Gru"], 12 | today: "Dzisiaj", 13 | weekStart: 1 14 | }; 15 | }(jQuery)); 16 | -------------------------------------------------------------------------------- /xadmin/static/xadmin/vendor/bootstrap-datepicker/js/locales/bootstrap-datepicker.pt-BR.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Brazilian translation for bootstrap-datepicker 3 | * Cauan Cabral 4 | */ 5 | ;(function($){ 6 | $.fn.datepicker.dates['pt-BR'] = { 7 | days: ["Domingo", "Segunda", "Terça", "Quarta", "Quinta", "Sexta", "Sábado", "Domingo"], 8 | daysShort: ["Dom", "Seg", "Ter", "Qua", "Qui", "Sex", "Sáb", "Dom"], 9 | daysMin: ["Do", "Se", "Te", "Qu", "Qu", "Se", "Sa", "Do"], 10 | months: ["Janeiro", "Fevereiro", "Março", "Abril", "Maio", "Junho", "Julho", "Agosto", "Setembro", "Outubro", "Novembro", "Dezembro"], 11 | monthsShort: ["Jan", "Fev", "Mar", "Abr", "Mai", "Jun", "Jul", "Ago", "Set", "Out", "Nov", "Dez"], 12 | today: "Hoje" 13 | }; 14 | }(jQuery)); 15 | -------------------------------------------------------------------------------- /xadmin/static/xadmin/vendor/bootstrap-datepicker/js/locales/bootstrap-datepicker.pt.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Portuguese translation for bootstrap-datepicker 3 | * Original code: Cauan Cabral 4 | * Tiago Melo 5 | */ 6 | ;(function($){ 7 | $.fn.datepicker.dates['pt'] = { 8 | days: ["Domingo", "Segunda", "Terça", "Quarta", "Quinta", "Sexta", "Sábado", "Domingo"], 9 | daysShort: ["Dom", "Seg", "Ter", "Qua", "Qui", "Sex", "Sáb", "Dom"], 10 | daysMin: ["Do", "Se", "Te", "Qu", "Qu", "Se", "Sa", "Do"], 11 | months: ["Janeiro", "Fevereiro", "Março", "Abril", "Maio", "Junho", "Julho", "Agosto", "Setembro", "Outubro", "Novembro", "Dezembro"], 12 | monthsShort: ["Jan", "Fev", "Mar", "Abr", "Mai", "Jun", "Jul", "Ago", "Set", "Out", "Nov", "Dez"] 13 | }; 14 | }(jQuery)); 15 | -------------------------------------------------------------------------------- /xadmin/static/xadmin/vendor/bootstrap-datepicker/js/locales/bootstrap-datepicker.ro.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Romanian translation for bootstrap-datepicker 3 | * Cristian Vasile 4 | */ 5 | ;(function($){ 6 | $.fn.datepicker.dates['ro'] = { 7 | days: ["Duminică", "Luni", "Marţi", "Miercuri", "Joi", "Vineri", "Sâmbătă", "Duminică"], 8 | daysShort: ["Dum", "Lun", "Mar", "Mie", "Joi", "Vin", "Sâm", "Dum"], 9 | daysMin: ["Du", "Lu", "Ma", "Mi", "Jo", "Vi", "Sâ", "Du"], 10 | months: ["Ianuarie", "Februarie", "Martie", "Aprilie", "Mai", "Iunie", "Iulie", "August", "Septembrie", "Octombrie", "Noiembrie", "Decembrie"], 11 | monthsShort: ["Ian", "Feb", "Mar", "Apr", "Mai", "Iun", "Iul", "Aug", "Sep", "Oct", "Nov", "Dec"], 12 | today: "Astăzi", 13 | weekStart: 1 14 | }; 15 | }(jQuery)); 16 | -------------------------------------------------------------------------------- /xadmin/static/xadmin/vendor/bootstrap-datepicker/js/locales/bootstrap-datepicker.rs-latin.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Serbian latin translation for bootstrap-datepicker 3 | * Bojan Milosavlević 4 | */ 5 | ;(function($){ 6 | $.fn.datepicker.dates['rs'] = { 7 | days: ["Nedelja","Ponedeljak", "Utorak", "Sreda", "Četvrtak", "Petak", "Subota", "Nedelja"], 8 | daysShort: ["Ned", "Pon", "Uto", "Sre", "Čet", "Pet", "Sub", "Ned"], 9 | daysMin: ["N", "Po", "U", "Sr", "Č", "Pe", "Su", "N"], 10 | months: ["Januar", "Februar", "Mart", "April", "Maj", "Jun", "Jul", "Avgust", "Septembar", "Oktobar", "Novembar", "Decembar"], 11 | monthsShort: ["Jan", "Feb", "Mar", "Apr", "Maj", "Jun", "Jul", "Avg", "Sep", "Okt", "Nov", "Dec"], 12 | today: "Danas" 13 | }; 14 | }(jQuery)); 15 | -------------------------------------------------------------------------------- /xadmin/static/xadmin/vendor/bootstrap-datepicker/js/locales/bootstrap-datepicker.rs.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Serbian cyrillic translation for bootstrap-datepicker 3 | * Bojan Milosavlević 4 | */ 5 | ;(function($){ 6 | $.fn.datepicker.dates['rs'] = { 7 | days: ["Недеља","Понедељак", "Уторак", "Среда", "Четвртак", "Петак", "Субота", "Недеља"], 8 | daysShort: ["Нед", "Пон", "Уто", "Сре", "Чет", "Пет", "Суб", "Нед"], 9 | daysMin: ["Н", "По", "У", "Ср", "Ч", "Пе", "Су", "Н"], 10 | months: ["Јануар", "Фебруар", "Март", "Април", "Мај", "Јун", "Јул", "Август", "Септембар", "Октобар", "Новембар", "Децембар"], 11 | monthsShort: ["Јан", "Феб", "Мар", "Апр", "Мај", "Јун", "Јул", "Авг", "Сеп", "Окт", "Нов", "Дец"], 12 | today: "Данас" 13 | }; 14 | }(jQuery)); 15 | -------------------------------------------------------------------------------- /xadmin/static/xadmin/vendor/bootstrap-datepicker/js/locales/bootstrap-datepicker.ru.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Russian translation for bootstrap-datepicker 3 | * Victor Taranenko 4 | */ 5 | ;(function($){ 6 | $.fn.datepicker.dates['ru'] = { 7 | days: ["Воскресенье", "Понедельник", "Вторник", "Среда", "Четверг", "Пятница", "Суббота", "Воскресенье"], 8 | daysShort: ["Вск", "Пнд", "Втр", "Срд", "Чтв", "Птн", "Суб", "Вск"], 9 | daysMin: ["Вс", "Пн", "Вт", "Ср", "Чт", "Пт", "Сб", "Вс"], 10 | months: ["Январь", "Февраль", "Март", "Апрель", "Май", "Июнь", "Июль", "Август", "Сентябрь", "Октябрь", "Ноябрь", "Декабрь"], 11 | monthsShort: ["Янв", "Фев", "Мар", "Апр", "Май", "Июн", "Июл", "Авг", "Сен", "Окт", "Ноя", "Дек"], 12 | today: "Сегодня" 13 | }; 14 | }(jQuery)); -------------------------------------------------------------------------------- /xadmin/static/xadmin/vendor/bootstrap-datepicker/js/locales/bootstrap-datepicker.sk.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Slovak translation for bootstrap-datepicker 3 | * Marek Lichtner 4 | * Fixes by Michal Remiš 5 | */ 6 | ;(function($){ 7 | $.fn.datepicker.dates["sk"] = { 8 | days: ["Nedeľa", "Pondelok", "Utorok", "Streda", "Štvrtok", "Piatok", "Sobota", "Nedeľa"], 9 | daysShort: ["Ned", "Pon", "Uto", "Str", "Štv", "Pia", "Sob", "Ned"], 10 | daysMin: ["Ne", "Po", "Ut", "St", "Št", "Pia", "So", "Ne"], 11 | months: ["Január", "Február", "Marec", "Apríl", "Máj", "Jún", "Júl", "August", "September", "Október", "November", "December"], 12 | monthsShort: ["Jan", "Feb", "Mar", "Apr", "Máj", "Jún", "Júl", "Aug", "Sep", "Okt", "Nov", "Dec"], 13 | today: "Dnes" 14 | }; 15 | }(jQuery)); 16 | -------------------------------------------------------------------------------- /xadmin/static/xadmin/vendor/bootstrap-datepicker/js/locales/bootstrap-datepicker.sl.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Slovene translation for bootstrap-datepicker 3 | * Gregor Rudolf 4 | */ 5 | ;(function($){ 6 | $.fn.datepicker.dates['sl'] = { 7 | days: ["Nedelja", "Ponedeljek", "Torek", "Sreda", "Četrtek", "Petek", "Sobota", "Nedelja"], 8 | daysShort: ["Ned", "Pon", "Tor", "Sre", "Čet", "Pet", "Sob", "Ned"], 9 | daysMin: ["Ne", "Po", "To", "Sr", "Če", "Pe", "So", "Ne"], 10 | months: ["Januar", "Februar", "Marec", "April", "Maj", "Junij", "Julij", "Avgust", "September", "Oktober", "November", "December"], 11 | monthsShort: ["Jan", "Feb", "Mar", "Apr", "Maj", "Jun", "Jul", "Avg", "Sep", "Okt", "Nov", "Dec"], 12 | today: "Danes" 13 | }; 14 | }(jQuery)); 15 | -------------------------------------------------------------------------------- /xadmin/static/xadmin/vendor/bootstrap-datepicker/js/locales/bootstrap-datepicker.sv.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Swedish translation for bootstrap-datepicker 3 | * Patrik Ragnarsson 4 | */ 5 | ;(function($){ 6 | $.fn.datepicker.dates['sv'] = { 7 | days: ["Söndag", "Måndag", "Tisdag", "Onsdag", "Torsdag", "Fredag", "Lördag", "Söndag"], 8 | daysShort: ["Sön", "Mån", "Tis", "Ons", "Tor", "Fre", "Lör", "Sön"], 9 | daysMin: ["Sö", "Må", "Ti", "On", "To", "Fr", "Lö", "Sö"], 10 | months: ["Januari", "Februari", "Mars", "April", "Maj", "Juni", "Juli", "Augusti", "September", "Oktober", "November", "December"], 11 | monthsShort: ["Jan", "Feb", "Mar", "Apr", "Maj", "Jun", "Jul", "Aug", "Sep", "Okt", "Nov", "Dec"], 12 | today: "I Dag" 13 | }; 14 | }(jQuery)); 15 | -------------------------------------------------------------------------------- /xadmin/static/xadmin/vendor/bootstrap-datepicker/js/locales/bootstrap-datepicker.sw.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Swahili translation for bootstrap-datepicker 3 | * Edwin Mugendi 4 | * Source: http://scriptsource.org/cms/scripts/page.php?item_id=entry_detail&uid=xnfaqyzcku 5 | */ 6 | ;(function($){ 7 | $.fn.datepicker.dates['sw'] = { 8 | days: ["Jumapili", "Jumatatu", "Jumanne", "Jumatano", "Alhamisi", "Ijumaa", "Jumamosi", "Jumapili"], 9 | daysShort: ["J2", "J3", "J4", "J5", "Alh", "Ij", "J1", "J2"], 10 | daysMin: ["2", "3", "4", "5", "A", "I", "1", "2"], 11 | months: ["Januari", "Februari", "Machi", "Aprili", "Mei", "Juni", "Julai", "Agosti", "Septemba", "Oktoba", "Novemba", "Desemba"], 12 | monthsShort: ["Jan", "Feb", "Mac", "Apr", "Mei", "Jun", "Jul", "Ago", "Sep", "Okt", "Nov", "Des"], 13 | today: "Leo" 14 | }; 15 | }(jQuery)); 16 | -------------------------------------------------------------------------------- /xadmin/static/xadmin/vendor/bootstrap-datepicker/js/locales/bootstrap-datepicker.th.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Thai translation for bootstrap-datepicker 3 | * Suchau Jiraprapot 4 | */ 5 | ;(function($){ 6 | $.fn.datepicker.dates['th'] = { 7 | days: ["อาทิตย์", "จันทร์", "อังคาร", "พุธ", "พฤหัส", "ศุกร์", "เสาร์", "อาทิตย์"], 8 | daysShort: ["อา", "จ", "อ", "พ", "พฤ", "ศ", "ส", "อา"], 9 | daysMin: ["อา", "จ", "อ", "พ", "พฤ", "ศ", "ส", "อา"], 10 | months: ["มกราคม", "กุมภาพันธ์", "มีนาคม", "เมษายน", "พฤษภาคม", "มิถุนายน", "กรกฎาคม", "สิงหาคม", "กันยายน", "ตุลาคม", "พฤศจิกายน", "ธันวาคม"], 11 | monthsShort: ["ม.ค.", "ก.พ.", "มี.ค.", "เม.ย.", "พ.ค.", "มิ.ย.", "ก.ค.", "ส.ค.", "ก.ย.", "ต.ค.", "พ.ย.", "ธ.ค."], 12 | today: "วันนี้" 13 | }; 14 | }(jQuery)); 15 | -------------------------------------------------------------------------------- /xadmin/static/xadmin/vendor/bootstrap-datepicker/js/locales/bootstrap-datepicker.tr.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Turkish translation for bootstrap-datepicker 3 | * Serkan Algur 4 | */ 5 | ;(function($){ 6 | $.fn.datepicker.dates['tr'] = { 7 | days: ["Pazar", "Pazartesi", "Salı", "Çarşamba", "Perşembe", "Cuma", "Cumartesi", "Pazar"], 8 | daysShort: ["Pz", "Pzt", "Sal", "Çrş", "Prş", "Cu", "Cts", "Pz"], 9 | daysMin: ["Pz", "Pzt", "Sa", "Çr", "Pr", "Cu", "Ct", "Pz"], 10 | months: ["Ocak", "Şubat", "Mart", "Nisan", "Mayıs", "Haziran", "Temmuz", "Ağustos", "Eylül", "Ekim", "Kasım", "Aralık"], 11 | monthsShort: ["Oca", "Şub", "Mar", "Nis", "May", "Haz", "Tem", "Ağu", "Eyl", "Eki", "Kas", "Ara"], 12 | today: "Bugün" 13 | }; 14 | }(jQuery)); 15 | 16 | -------------------------------------------------------------------------------- /xadmin/static/xadmin/vendor/bootstrap-datepicker/js/locales/bootstrap-datepicker.uk.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Ukrainian translation for bootstrap-datepicker 3 | * Andrey Vityuk 4 | */ 5 | ;(function($){ 6 | $.fn.datepicker.dates['uk'] = { 7 | days: ["Неділя", "Понеділок", "Вівторок", "Середа", "Четвер", "П'ятниця", "Субота", "Неділя"], 8 | daysShort: ["Нед", "Пнд", "Втр", "Срд", "Чтв", "Птн", "Суб", "Нед"], 9 | daysMin: ["Нд", "Пн", "Вт", "Ср", "Чт", "Пт", "Сб", "Нд"], 10 | months: ["Січень", "Лютий", "Березень", "Квітень", "Травень", "Червень", "Липень", "Серпень", "Вересень", "Жовтень", "Листопад", "Грудень"], 11 | monthsShort: ["Січ", "Лют", "Бер", "Кві", "Тра", "Чер", "Лип", "Сер", "Вер", "Жов", "Лис", "Гру"], 12 | today: "Сьогодні" 13 | }; 14 | }(jQuery)); -------------------------------------------------------------------------------- /xadmin/static/xadmin/vendor/bootstrap-datepicker/js/locales/bootstrap-datepicker.zh-CN.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Simplified Chinese translation for bootstrap-datepicker 3 | * Yuan Cheung 4 | */ 5 | ;(function($){ 6 | $.fn.datepicker.dates['zh-CN'] = { 7 | days: ["星期日", "星期一", "星期二", "星期三", "星期四", "星期五", "星期六", "星期日"], 8 | daysShort: ["周日", "周一", "周二", "周三", "周四", "周五", "周六", "周日"], 9 | daysMin: ["日", "一", "二", "三", "四", "五", "六", "日"], 10 | months: ["一月", "二月", "三月", "四月", "五月", "六月", "七月", "八月", "九月", "十月", "十一月", "十二月"], 11 | monthsShort: ["一月", "二月", "三月", "四月", "五月", "六月", "七月", "八月", "九月", "十月", "十一月", "十二月"], 12 | today: "今日" 13 | }; 14 | }(jQuery)); 15 | -------------------------------------------------------------------------------- /xadmin/static/xadmin/vendor/bootstrap-datepicker/js/locales/bootstrap-datepicker.zh-TW.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Traditional Chinese translation for bootstrap-datepicker 3 | * Rung-Sheng Jang 4 | */ 5 | ;(function($){ 6 | $.fn.datepicker.dates['zh-TW'] = { 7 | days: ["星期日", "星期一", "星期二", "星期三", "星期四", "星期五", "星期六", "星期日"], 8 | daysShort: ["周日", "周一", "周二", "周三", "周四", "周五", "周六", "周日"], 9 | daysMin: ["日", "一", "二", "三", "四", "五", "六", "日"], 10 | months: ["一月", "二月", "三月", "四月", "五月", "六月", "七月", "八月", "九月", "十月", "十一月", "十二月"], 11 | monthsShort: ["一月", "二月", "三月", "四月", "五月", "六月", "七月", "八月", "九月", "十月", "十一月", "十二月"] 12 | }; 13 | }(jQuery)); 14 | -------------------------------------------------------------------------------- /xadmin/static/xadmin/vendor/bootstrap-image-gallery/img/loading.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vip68/xadmin_bugfix/eef25fdeec8f1424eebbb8ed0df1b486733c18a6/xadmin/static/xadmin/vendor/bootstrap-image-gallery/img/loading.gif -------------------------------------------------------------------------------- /xadmin/static/xadmin/vendor/bootstrap-modal/css/bootstrap-modal-bs3patch.css: -------------------------------------------------------------------------------- 1 | /*! 2 | * Bootstrap Modal 3 | * 4 | * Copyright Jordan Schroter 5 | * Licensed under the Apache License v2.0 6 | * http://www.apache.org/licenses/LICENSE-2.0 7 | * 8 | * Boostrap 3 patch for for bootstrap-modal. Include BEFORE bootstrap-modal.css! 9 | */ 10 | 11 | body.modal-open, 12 | .modal-open .navbar-fixed-top, 13 | .modal-open .navbar-fixed-bottom { 14 | margin-right: 0; 15 | } 16 | 17 | .modal { 18 | left: 50%; 19 | bottom: auto; 20 | right: auto; 21 | z-index: 1050; 22 | padding: 0; 23 | width: 500px; 24 | margin-left: -250px; 25 | background-color: #ffffff; 26 | border: 1px solid #999999; 27 | border: 1px solid rgba(0, 0, 0, 0.2); 28 | border-radius: 6px; 29 | -webkit-box-shadow: 0 3px 9px rgba(0, 0, 0, 0.5); 30 | box-shadow: 0 3px 9px rgba(0, 0, 0, 0.5); 31 | background-clip: padding-box; 32 | } 33 | 34 | .modal.container { 35 | max-width: none; 36 | } 37 | 38 | .modal-backdrop { 39 | position: fixed; 40 | top: 0; 41 | right: 0; 42 | bottom: 0; 43 | left: 0; 44 | z-index: 1040; 45 | } -------------------------------------------------------------------------------- /xadmin/static/xadmin/vendor/bootstrap-modal/img/ajax-loader.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vip68/xadmin_bugfix/eef25fdeec8f1424eebbb8ed0df1b486733c18a6/xadmin/static/xadmin/vendor/bootstrap-modal/img/ajax-loader.gif -------------------------------------------------------------------------------- /xadmin/static/xadmin/vendor/bootstrap-multiselect/css/bootstrap-multiselect.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vip68/xadmin_bugfix/eef25fdeec8f1424eebbb8ed0df1b486733c18a6/xadmin/static/xadmin/vendor/bootstrap-multiselect/css/bootstrap-multiselect.css -------------------------------------------------------------------------------- /xadmin/static/xadmin/vendor/bootstrap/fonts/glyphicons-halflings-regular.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vip68/xadmin_bugfix/eef25fdeec8f1424eebbb8ed0df1b486733c18a6/xadmin/static/xadmin/vendor/bootstrap/fonts/glyphicons-halflings-regular.eot -------------------------------------------------------------------------------- /xadmin/static/xadmin/vendor/bootstrap/fonts/glyphicons-halflings-regular.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vip68/xadmin_bugfix/eef25fdeec8f1424eebbb8ed0df1b486733c18a6/xadmin/static/xadmin/vendor/bootstrap/fonts/glyphicons-halflings-regular.ttf -------------------------------------------------------------------------------- /xadmin/static/xadmin/vendor/bootstrap/fonts/glyphicons-halflings-regular.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vip68/xadmin_bugfix/eef25fdeec8f1424eebbb8ed0df1b486733c18a6/xadmin/static/xadmin/vendor/bootstrap/fonts/glyphicons-halflings-regular.woff -------------------------------------------------------------------------------- /xadmin/static/xadmin/vendor/bootstrap/fonts/glyphicons-halflings-regular.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vip68/xadmin_bugfix/eef25fdeec8f1424eebbb8ed0df1b486733c18a6/xadmin/static/xadmin/vendor/bootstrap/fonts/glyphicons-halflings-regular.woff2 -------------------------------------------------------------------------------- /xadmin/static/xadmin/vendor/font-awesome/fonts/FontAwesome.otf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vip68/xadmin_bugfix/eef25fdeec8f1424eebbb8ed0df1b486733c18a6/xadmin/static/xadmin/vendor/font-awesome/fonts/FontAwesome.otf -------------------------------------------------------------------------------- /xadmin/static/xadmin/vendor/font-awesome/fonts/fontawesome-webfont.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vip68/xadmin_bugfix/eef25fdeec8f1424eebbb8ed0df1b486733c18a6/xadmin/static/xadmin/vendor/font-awesome/fonts/fontawesome-webfont.eot -------------------------------------------------------------------------------- /xadmin/static/xadmin/vendor/font-awesome/fonts/fontawesome-webfont.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vip68/xadmin_bugfix/eef25fdeec8f1424eebbb8ed0df1b486733c18a6/xadmin/static/xadmin/vendor/font-awesome/fonts/fontawesome-webfont.ttf -------------------------------------------------------------------------------- /xadmin/static/xadmin/vendor/font-awesome/fonts/fontawesome-webfont.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vip68/xadmin_bugfix/eef25fdeec8f1424eebbb8ed0df1b486733c18a6/xadmin/static/xadmin/vendor/font-awesome/fonts/fontawesome-webfont.woff -------------------------------------------------------------------------------- /xadmin/static/xadmin/vendor/font-awesome/fonts/fontawesome-webfont.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vip68/xadmin_bugfix/eef25fdeec8f1424eebbb8ed0df1b486733c18a6/xadmin/static/xadmin/vendor/font-awesome/fonts/fontawesome-webfont.woff2 -------------------------------------------------------------------------------- /xadmin/static/xadmin/vendor/font-awesome/less/animated.less: -------------------------------------------------------------------------------- 1 | // Animated Icons 2 | // -------------------------- 3 | 4 | .@{fa-css-prefix}-spin { 5 | -webkit-animation: fa-spin 2s infinite linear; 6 | animation: fa-spin 2s infinite linear; 7 | } 8 | 9 | .@{fa-css-prefix}-pulse { 10 | -webkit-animation: fa-spin 1s infinite steps(8); 11 | animation: fa-spin 1s infinite steps(8); 12 | } 13 | 14 | @-webkit-keyframes fa-spin { 15 | 0% { 16 | -webkit-transform: rotate(0deg); 17 | transform: rotate(0deg); 18 | } 19 | 100% { 20 | -webkit-transform: rotate(359deg); 21 | transform: rotate(359deg); 22 | } 23 | } 24 | 25 | @keyframes fa-spin { 26 | 0% { 27 | -webkit-transform: rotate(0deg); 28 | transform: rotate(0deg); 29 | } 30 | 100% { 31 | -webkit-transform: rotate(359deg); 32 | transform: rotate(359deg); 33 | } 34 | } 35 | -------------------------------------------------------------------------------- /xadmin/static/xadmin/vendor/font-awesome/less/bordered-pulled.less: -------------------------------------------------------------------------------- 1 | // Bordered & Pulled 2 | // ------------------------- 3 | 4 | .@{fa-css-prefix}-border { 5 | padding: .2em .25em .15em; 6 | border: solid .08em @fa-border-color; 7 | border-radius: .1em; 8 | } 9 | 10 | .@{fa-css-prefix}-pull-left { float: left; } 11 | .@{fa-css-prefix}-pull-right { float: right; } 12 | 13 | .@{fa-css-prefix} { 14 | &.@{fa-css-prefix}-pull-left { margin-right: .3em; } 15 | &.@{fa-css-prefix}-pull-right { margin-left: .3em; } 16 | } 17 | 18 | /* Deprecated as of 4.4.0 */ 19 | .pull-right { float: right; } 20 | .pull-left { float: left; } 21 | 22 | .@{fa-css-prefix} { 23 | &.pull-left { margin-right: .3em; } 24 | &.pull-right { margin-left: .3em; } 25 | } 26 | -------------------------------------------------------------------------------- /xadmin/static/xadmin/vendor/font-awesome/less/core.less: -------------------------------------------------------------------------------- 1 | // Base Class Definition 2 | // ------------------------- 3 | 4 | .@{fa-css-prefix} { 5 | display: inline-block; 6 | font: normal normal normal @fa-font-size-base/@fa-line-height-base FontAwesome; // shortening font declaration 7 | font-size: inherit; // can't have font-size inherit on line above, so need to override 8 | text-rendering: auto; // optimizelegibility throws things off #1094 9 | -webkit-font-smoothing: antialiased; 10 | -moz-osx-font-smoothing: grayscale; 11 | 12 | } 13 | -------------------------------------------------------------------------------- /xadmin/static/xadmin/vendor/font-awesome/less/fixed-width.less: -------------------------------------------------------------------------------- 1 | // Fixed Width Icons 2 | // ------------------------- 3 | .@{fa-css-prefix}-fw { 4 | width: (18em / 14); 5 | text-align: center; 6 | } 7 | -------------------------------------------------------------------------------- /xadmin/static/xadmin/vendor/font-awesome/less/font-awesome.less: -------------------------------------------------------------------------------- 1 | /*! 2 | * Font Awesome 4.7.0 by @davegandy - http://fontawesome.io - @fontawesome 3 | * License - http://fontawesome.io/license (Font: SIL OFL 1.1, CSS: MIT License) 4 | */ 5 | 6 | @import "variables.less"; 7 | @import "mixins.less"; 8 | @import "path.less"; 9 | @import "core.less"; 10 | @import "larger.less"; 11 | @import "fixed-width.less"; 12 | @import "list.less"; 13 | @import "bordered-pulled.less"; 14 | @import "animated.less"; 15 | @import "rotated-flipped.less"; 16 | @import "stacked.less"; 17 | @import "icons.less"; 18 | @import "screen-reader.less"; 19 | -------------------------------------------------------------------------------- /xadmin/static/xadmin/vendor/font-awesome/less/larger.less: -------------------------------------------------------------------------------- 1 | // Icon Sizes 2 | // ------------------------- 3 | 4 | /* makes the font 33% larger relative to the icon container */ 5 | .@{fa-css-prefix}-lg { 6 | font-size: (4em / 3); 7 | line-height: (3em / 4); 8 | vertical-align: -15%; 9 | } 10 | .@{fa-css-prefix}-2x { font-size: 2em; } 11 | .@{fa-css-prefix}-3x { font-size: 3em; } 12 | .@{fa-css-prefix}-4x { font-size: 4em; } 13 | .@{fa-css-prefix}-5x { font-size: 5em; } 14 | -------------------------------------------------------------------------------- /xadmin/static/xadmin/vendor/font-awesome/less/list.less: -------------------------------------------------------------------------------- 1 | // List Icons 2 | // ------------------------- 3 | 4 | .@{fa-css-prefix}-ul { 5 | padding-left: 0; 6 | margin-left: @fa-li-width; 7 | list-style-type: none; 8 | > li { position: relative; } 9 | } 10 | .@{fa-css-prefix}-li { 11 | position: absolute; 12 | left: -@fa-li-width; 13 | width: @fa-li-width; 14 | top: (2em / 14); 15 | text-align: center; 16 | &.@{fa-css-prefix}-lg { 17 | left: (-@fa-li-width + (4em / 14)); 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /xadmin/static/xadmin/vendor/font-awesome/less/path.less: -------------------------------------------------------------------------------- 1 | /* FONT PATH 2 | * -------------------------- */ 3 | 4 | @font-face { 5 | font-family: 'FontAwesome'; 6 | src: url('@{fa-font-path}/fontawesome-webfont.eot?v=@{fa-version}'); 7 | src: url('@{fa-font-path}/fontawesome-webfont.eot?#iefix&v=@{fa-version}') format('embedded-opentype'), 8 | url('@{fa-font-path}/fontawesome-webfont.woff2?v=@{fa-version}') format('woff2'), 9 | url('@{fa-font-path}/fontawesome-webfont.woff?v=@{fa-version}') format('woff'), 10 | url('@{fa-font-path}/fontawesome-webfont.ttf?v=@{fa-version}') format('truetype'), 11 | url('@{fa-font-path}/fontawesome-webfont.svg?v=@{fa-version}#fontawesomeregular') format('svg'); 12 | // src: url('@{fa-font-path}/FontAwesome.otf') format('opentype'); // used when developing fonts 13 | font-weight: normal; 14 | font-style: normal; 15 | } 16 | -------------------------------------------------------------------------------- /xadmin/static/xadmin/vendor/font-awesome/less/rotated-flipped.less: -------------------------------------------------------------------------------- 1 | // Rotated & Flipped Icons 2 | // ------------------------- 3 | 4 | .@{fa-css-prefix}-rotate-90 { .fa-icon-rotate(90deg, 1); } 5 | .@{fa-css-prefix}-rotate-180 { .fa-icon-rotate(180deg, 2); } 6 | .@{fa-css-prefix}-rotate-270 { .fa-icon-rotate(270deg, 3); } 7 | 8 | .@{fa-css-prefix}-flip-horizontal { .fa-icon-flip(-1, 1, 0); } 9 | .@{fa-css-prefix}-flip-vertical { .fa-icon-flip(1, -1, 2); } 10 | 11 | // Hook for IE8-9 12 | // ------------------------- 13 | 14 | :root .@{fa-css-prefix}-rotate-90, 15 | :root .@{fa-css-prefix}-rotate-180, 16 | :root .@{fa-css-prefix}-rotate-270, 17 | :root .@{fa-css-prefix}-flip-horizontal, 18 | :root .@{fa-css-prefix}-flip-vertical { 19 | filter: none; 20 | } 21 | -------------------------------------------------------------------------------- /xadmin/static/xadmin/vendor/font-awesome/less/screen-reader.less: -------------------------------------------------------------------------------- 1 | // Screen Readers 2 | // ------------------------- 3 | 4 | .sr-only { .sr-only(); } 5 | .sr-only-focusable { .sr-only-focusable(); } 6 | -------------------------------------------------------------------------------- /xadmin/static/xadmin/vendor/font-awesome/less/stacked.less: -------------------------------------------------------------------------------- 1 | // Stacked Icons 2 | // ------------------------- 3 | 4 | .@{fa-css-prefix}-stack { 5 | position: relative; 6 | display: inline-block; 7 | width: 2em; 8 | height: 2em; 9 | line-height: 2em; 10 | vertical-align: middle; 11 | } 12 | .@{fa-css-prefix}-stack-1x, .@{fa-css-prefix}-stack-2x { 13 | position: absolute; 14 | left: 0; 15 | width: 100%; 16 | text-align: center; 17 | } 18 | .@{fa-css-prefix}-stack-1x { line-height: inherit; } 19 | .@{fa-css-prefix}-stack-2x { font-size: 2em; } 20 | .@{fa-css-prefix}-inverse { color: @fa-inverse; } 21 | -------------------------------------------------------------------------------- /xadmin/static/xadmin/vendor/font-awesome/scss/_animated.scss: -------------------------------------------------------------------------------- 1 | // Spinning Icons 2 | // -------------------------- 3 | 4 | .#{$fa-css-prefix}-spin { 5 | -webkit-animation: fa-spin 2s infinite linear; 6 | animation: fa-spin 2s infinite linear; 7 | } 8 | 9 | .#{$fa-css-prefix}-pulse { 10 | -webkit-animation: fa-spin 1s infinite steps(8); 11 | animation: fa-spin 1s infinite steps(8); 12 | } 13 | 14 | @-webkit-keyframes fa-spin { 15 | 0% { 16 | -webkit-transform: rotate(0deg); 17 | transform: rotate(0deg); 18 | } 19 | 100% { 20 | -webkit-transform: rotate(359deg); 21 | transform: rotate(359deg); 22 | } 23 | } 24 | 25 | @keyframes fa-spin { 26 | 0% { 27 | -webkit-transform: rotate(0deg); 28 | transform: rotate(0deg); 29 | } 30 | 100% { 31 | -webkit-transform: rotate(359deg); 32 | transform: rotate(359deg); 33 | } 34 | } 35 | -------------------------------------------------------------------------------- /xadmin/static/xadmin/vendor/font-awesome/scss/_bordered-pulled.scss: -------------------------------------------------------------------------------- 1 | // Bordered & Pulled 2 | // ------------------------- 3 | 4 | .#{$fa-css-prefix}-border { 5 | padding: .2em .25em .15em; 6 | border: solid .08em $fa-border-color; 7 | border-radius: .1em; 8 | } 9 | 10 | .#{$fa-css-prefix}-pull-left { float: left; } 11 | .#{$fa-css-prefix}-pull-right { float: right; } 12 | 13 | .#{$fa-css-prefix} { 14 | &.#{$fa-css-prefix}-pull-left { margin-right: .3em; } 15 | &.#{$fa-css-prefix}-pull-right { margin-left: .3em; } 16 | } 17 | 18 | /* Deprecated as of 4.4.0 */ 19 | .pull-right { float: right; } 20 | .pull-left { float: left; } 21 | 22 | .#{$fa-css-prefix} { 23 | &.pull-left { margin-right: .3em; } 24 | &.pull-right { margin-left: .3em; } 25 | } 26 | -------------------------------------------------------------------------------- /xadmin/static/xadmin/vendor/font-awesome/scss/_core.scss: -------------------------------------------------------------------------------- 1 | // Base Class Definition 2 | // ------------------------- 3 | 4 | .#{$fa-css-prefix} { 5 | display: inline-block; 6 | font: normal normal normal #{$fa-font-size-base}/#{$fa-line-height-base} FontAwesome; // shortening font declaration 7 | font-size: inherit; // can't have font-size inherit on line above, so need to override 8 | text-rendering: auto; // optimizelegibility throws things off #1094 9 | -webkit-font-smoothing: antialiased; 10 | -moz-osx-font-smoothing: grayscale; 11 | 12 | } 13 | -------------------------------------------------------------------------------- /xadmin/static/xadmin/vendor/font-awesome/scss/_fixed-width.scss: -------------------------------------------------------------------------------- 1 | // Fixed Width Icons 2 | // ------------------------- 3 | .#{$fa-css-prefix}-fw { 4 | width: (18em / 14); 5 | text-align: center; 6 | } 7 | -------------------------------------------------------------------------------- /xadmin/static/xadmin/vendor/font-awesome/scss/_larger.scss: -------------------------------------------------------------------------------- 1 | // Icon Sizes 2 | // ------------------------- 3 | 4 | /* makes the font 33% larger relative to the icon container */ 5 | .#{$fa-css-prefix}-lg { 6 | font-size: (4em / 3); 7 | line-height: (3em / 4); 8 | vertical-align: -15%; 9 | } 10 | .#{$fa-css-prefix}-2x { font-size: 2em; } 11 | .#{$fa-css-prefix}-3x { font-size: 3em; } 12 | .#{$fa-css-prefix}-4x { font-size: 4em; } 13 | .#{$fa-css-prefix}-5x { font-size: 5em; } 14 | -------------------------------------------------------------------------------- /xadmin/static/xadmin/vendor/font-awesome/scss/_list.scss: -------------------------------------------------------------------------------- 1 | // List Icons 2 | // ------------------------- 3 | 4 | .#{$fa-css-prefix}-ul { 5 | padding-left: 0; 6 | margin-left: $fa-li-width; 7 | list-style-type: none; 8 | > li { position: relative; } 9 | } 10 | .#{$fa-css-prefix}-li { 11 | position: absolute; 12 | left: -$fa-li-width; 13 | width: $fa-li-width; 14 | top: (2em / 14); 15 | text-align: center; 16 | &.#{$fa-css-prefix}-lg { 17 | left: -$fa-li-width + (4em / 14); 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /xadmin/static/xadmin/vendor/font-awesome/scss/_path.scss: -------------------------------------------------------------------------------- 1 | /* FONT PATH 2 | * -------------------------- */ 3 | 4 | @font-face { 5 | font-family: 'FontAwesome'; 6 | src: url('#{$fa-font-path}/fontawesome-webfont.eot?v=#{$fa-version}'); 7 | src: url('#{$fa-font-path}/fontawesome-webfont.eot?#iefix&v=#{$fa-version}') format('embedded-opentype'), 8 | url('#{$fa-font-path}/fontawesome-webfont.woff2?v=#{$fa-version}') format('woff2'), 9 | url('#{$fa-font-path}/fontawesome-webfont.woff?v=#{$fa-version}') format('woff'), 10 | url('#{$fa-font-path}/fontawesome-webfont.ttf?v=#{$fa-version}') format('truetype'), 11 | url('#{$fa-font-path}/fontawesome-webfont.svg?v=#{$fa-version}#fontawesomeregular') format('svg'); 12 | // src: url('#{$fa-font-path}/FontAwesome.otf') format('opentype'); // used when developing fonts 13 | font-weight: normal; 14 | font-style: normal; 15 | } 16 | -------------------------------------------------------------------------------- /xadmin/static/xadmin/vendor/font-awesome/scss/_rotated-flipped.scss: -------------------------------------------------------------------------------- 1 | // Rotated & Flipped Icons 2 | // ------------------------- 3 | 4 | .#{$fa-css-prefix}-rotate-90 { @include fa-icon-rotate(90deg, 1); } 5 | .#{$fa-css-prefix}-rotate-180 { @include fa-icon-rotate(180deg, 2); } 6 | .#{$fa-css-prefix}-rotate-270 { @include fa-icon-rotate(270deg, 3); } 7 | 8 | .#{$fa-css-prefix}-flip-horizontal { @include fa-icon-flip(-1, 1, 0); } 9 | .#{$fa-css-prefix}-flip-vertical { @include fa-icon-flip(1, -1, 2); } 10 | 11 | // Hook for IE8-9 12 | // ------------------------- 13 | 14 | :root .#{$fa-css-prefix}-rotate-90, 15 | :root .#{$fa-css-prefix}-rotate-180, 16 | :root .#{$fa-css-prefix}-rotate-270, 17 | :root .#{$fa-css-prefix}-flip-horizontal, 18 | :root .#{$fa-css-prefix}-flip-vertical { 19 | filter: none; 20 | } 21 | -------------------------------------------------------------------------------- /xadmin/static/xadmin/vendor/font-awesome/scss/_screen-reader.scss: -------------------------------------------------------------------------------- 1 | // Screen Readers 2 | // ------------------------- 3 | 4 | .sr-only { @include sr-only(); } 5 | .sr-only-focusable { @include sr-only-focusable(); } 6 | -------------------------------------------------------------------------------- /xadmin/static/xadmin/vendor/font-awesome/scss/_stacked.scss: -------------------------------------------------------------------------------- 1 | // Stacked Icons 2 | // ------------------------- 3 | 4 | .#{$fa-css-prefix}-stack { 5 | position: relative; 6 | display: inline-block; 7 | width: 2em; 8 | height: 2em; 9 | line-height: 2em; 10 | vertical-align: middle; 11 | } 12 | .#{$fa-css-prefix}-stack-1x, .#{$fa-css-prefix}-stack-2x { 13 | position: absolute; 14 | left: 0; 15 | width: 100%; 16 | text-align: center; 17 | } 18 | .#{$fa-css-prefix}-stack-1x { line-height: inherit; } 19 | .#{$fa-css-prefix}-stack-2x { font-size: 2em; } 20 | .#{$fa-css-prefix}-inverse { color: $fa-inverse; } 21 | -------------------------------------------------------------------------------- /xadmin/static/xadmin/vendor/font-awesome/scss/font-awesome.scss: -------------------------------------------------------------------------------- 1 | /*! 2 | * Font Awesome 4.7.0 by @davegandy - http://fontawesome.io - @fontawesome 3 | * License - http://fontawesome.io/license (Font: SIL OFL 1.1, CSS: MIT License) 4 | */ 5 | 6 | @import "variables"; 7 | @import "mixins"; 8 | @import "path"; 9 | @import "core"; 10 | @import "larger"; 11 | @import "fixed-width"; 12 | @import "list"; 13 | @import "bordered-pulled"; 14 | @import "animated"; 15 | @import "rotated-flipped"; 16 | @import "stacked"; 17 | @import "icons"; 18 | @import "screen-reader"; 19 | -------------------------------------------------------------------------------- /xadmin/static/xadmin/vendor/select2/js/i18n/af.js: -------------------------------------------------------------------------------- 1 | /*! Select2 4.0.12 | https://github.com/select2/select2/blob/master/LICENSE.md */ 2 | 3 | !function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;e.define("select2/i18n/af",[],function(){return{errorLoading:function(){return"Die resultate kon nie gelaai word nie."},inputTooLong:function(e){var n=e.input.length-e.maximum,r="Verwyders asseblief "+n+" character";return 1!=n&&(r+="s"),r},inputTooShort:function(e){return"Voer asseblief "+(e.minimum-e.input.length)+" of meer karakters"},loadingMore:function(){return"Meer resultate word gelaai…"},maximumSelected:function(e){var n="Kies asseblief net "+e.maximum+" item";return 1!=e.maximum&&(n+="s"),n},noResults:function(){return"Geen resultate gevind"},searching:function(){return"Besig…"},removeAllItems:function(){return"Verwyder alle items"}}}),e.define,e.require}(); -------------------------------------------------------------------------------- /xadmin/static/xadmin/vendor/select2/js/i18n/ar.js: -------------------------------------------------------------------------------- 1 | /*! Select2 4.0.12 | https://github.com/select2/select2/blob/master/LICENSE.md */ 2 | 3 | !function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var n=jQuery.fn.select2.amd;n.define("select2/i18n/ar",[],function(){return{errorLoading:function(){return"لا يمكن تحميل النتائج"},inputTooLong:function(n){return"الرجاء حذف "+(n.input.length-n.maximum)+" عناصر"},inputTooShort:function(n){return"الرجاء إضافة "+(n.minimum-n.input.length)+" عناصر"},loadingMore:function(){return"جاري تحميل نتائج إضافية..."},maximumSelected:function(n){return"تستطيع إختيار "+n.maximum+" بنود فقط"},noResults:function(){return"لم يتم العثور على أي نتائج"},searching:function(){return"جاري البحث…"},removeAllItems:function(){return"قم بإزالة كل العناصر"}}}),n.define,n.require}(); -------------------------------------------------------------------------------- /xadmin/static/xadmin/vendor/select2/js/i18n/az.js: -------------------------------------------------------------------------------- 1 | /*! Select2 4.0.12 | https://github.com/select2/select2/blob/master/LICENSE.md */ 2 | 3 | !function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var n=jQuery.fn.select2.amd;n.define("select2/i18n/az",[],function(){return{inputTooLong:function(n){return n.input.length-n.maximum+" simvol silin"},inputTooShort:function(n){return n.minimum-n.input.length+" simvol daxil edin"},loadingMore:function(){return"Daha çox nəticə yüklənir…"},maximumSelected:function(n){return"Sadəcə "+n.maximum+" element seçə bilərsiniz"},noResults:function(){return"Nəticə tapılmadı"},searching:function(){return"Axtarılır…"},removeAllItems:function(){return"Bütün elementləri sil"}}}),n.define,n.require}(); -------------------------------------------------------------------------------- /xadmin/static/xadmin/vendor/select2/js/i18n/bg.js: -------------------------------------------------------------------------------- 1 | /*! Select2 4.0.12 | https://github.com/select2/select2/blob/master/LICENSE.md */ 2 | 3 | !function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var n=jQuery.fn.select2.amd;n.define("select2/i18n/bg",[],function(){return{inputTooLong:function(n){var e=n.input.length-n.maximum,u="Моля въведете с "+e+" по-малко символ";return e>1&&(u+="a"),u},inputTooShort:function(n){var e=n.minimum-n.input.length,u="Моля въведете още "+e+" символ";return e>1&&(u+="a"),u},loadingMore:function(){return"Зареждат се още…"},maximumSelected:function(n){var e="Можете да направите до "+n.maximum+" ";return n.maximum>1?e+="избора":e+="избор",e},noResults:function(){return"Няма намерени съвпадения"},searching:function(){return"Търсене…"},removeAllItems:function(){return"Премахнете всички елементи"}}}),n.define,n.require}(); -------------------------------------------------------------------------------- /xadmin/static/xadmin/vendor/select2/js/i18n/bn.js: -------------------------------------------------------------------------------- 1 | /*! Select2 4.0.12 | https://github.com/select2/select2/blob/master/LICENSE.md */ 2 | 3 | !function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var n=jQuery.fn.select2.amd;n.define("select2/i18n/bn",[],function(){return{errorLoading:function(){return"ফলাফলগুলি লোড করা যায়নি।"},inputTooLong:function(n){var e=n.input.length-n.maximum,u="অনুগ্রহ করে "+e+" টি অক্ষর মুছে দিন।";return 1!=e&&(u="অনুগ্রহ করে "+e+" টি অক্ষর মুছে দিন।"),u},inputTooShort:function(n){return n.minimum-n.input.length+" টি অক্ষর অথবা অধিক অক্ষর লিখুন।"},loadingMore:function(){return"আরো ফলাফল লোড হচ্ছে ..."},maximumSelected:function(n){var e=n.maximum+" টি আইটেম নির্বাচন করতে পারবেন।";return 1!=n.maximum&&(e=n.maximum+" টি আইটেম নির্বাচন করতে পারবেন।"),e},noResults:function(){return"কোন ফলাফল পাওয়া যায়নি।"},searching:function(){return"অনুসন্ধান করা হচ্ছে ..."}}}),n.define,n.require}(); -------------------------------------------------------------------------------- /xadmin/static/xadmin/vendor/select2/js/i18n/bs.js: -------------------------------------------------------------------------------- 1 | /*! Select2 4.0.12 | https://github.com/select2/select2/blob/master/LICENSE.md */ 2 | 3 | !function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;e.define("select2/i18n/bs",[],function(){function e(e,n,r,t){return e%10==1&&e%100!=11?n:e%10>=2&&e%10<=4&&(e%100<12||e%100>14)?r:t}return{errorLoading:function(){return"Preuzimanje nije uspijelo."},inputTooLong:function(n){var r=n.input.length-n.maximum,t="Obrišite "+r+" simbol";return t+=e(r,"","a","a")},inputTooShort:function(n){var r=n.minimum-n.input.length,t="Ukucajte bar još "+r+" simbol";return t+=e(r,"","a","a")},loadingMore:function(){return"Preuzimanje još rezultata…"},maximumSelected:function(n){var r="Možete izabrati samo "+n.maximum+" stavk";return r+=e(n.maximum,"u","e","i")},noResults:function(){return"Ništa nije pronađeno"},searching:function(){return"Pretraga…"},removeAllItems:function(){return"Uklonite sve stavke"}}}),e.define,e.require}(); -------------------------------------------------------------------------------- /xadmin/static/xadmin/vendor/select2/js/i18n/ca.js: -------------------------------------------------------------------------------- 1 | /*! Select2 4.0.12 | https://github.com/select2/select2/blob/master/LICENSE.md */ 2 | 3 | !function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;e.define("select2/i18n/ca",[],function(){return{errorLoading:function(){return"La càrrega ha fallat"},inputTooLong:function(e){var n=e.input.length-e.maximum,r="Si us plau, elimina "+n+" car";return r+=1==n?"àcter":"àcters"},inputTooShort:function(e){var n=e.minimum-e.input.length,r="Si us plau, introdueix "+n+" car";return r+=1==n?"àcter":"àcters"},loadingMore:function(){return"Carregant més resultats…"},maximumSelected:function(e){var n="Només es pot seleccionar "+e.maximum+" element";return 1!=e.maximum&&(n+="s"),n},noResults:function(){return"No s'han trobat resultats"},searching:function(){return"Cercant…"},removeAllItems:function(){return"Treu tots els elements"}}}),e.define,e.require}(); -------------------------------------------------------------------------------- /xadmin/static/xadmin/vendor/select2/js/i18n/cs.js: -------------------------------------------------------------------------------- 1 | /*! Select2 4.0.12 | https://github.com/select2/select2/blob/master/LICENSE.md */ 2 | 3 | !function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;e.define("select2/i18n/cs",[],function(){function e(e,n){switch(e){case 2:return n?"dva":"dvě";case 3:return"tři";case 4:return"čtyři"}return""}return{errorLoading:function(){return"Výsledky nemohly být načteny."},inputTooLong:function(n){var t=n.input.length-n.maximum;return 1==t?"Prosím, zadejte o jeden znak méně.":t<=4?"Prosím, zadejte o "+e(t,!0)+" znaky méně.":"Prosím, zadejte o "+t+" znaků méně."},inputTooShort:function(n){var t=n.minimum-n.input.length;return 1==t?"Prosím, zadejte ještě jeden znak.":t<=4?"Prosím, zadejte ještě další "+e(t,!0)+" znaky.":"Prosím, zadejte ještě dalších "+t+" znaků."},loadingMore:function(){return"Načítají se další výsledky…"},maximumSelected:function(n){var t=n.maximum;return 1==t?"Můžete zvolit jen jednu položku.":t<=4?"Můžete zvolit maximálně "+e(t,!1)+" položky.":"Můžete zvolit maximálně "+t+" položek."},noResults:function(){return"Nenalezeny žádné položky."},searching:function(){return"Vyhledávání…"},removeAllItems:function(){return"Odstraňte všechny položky"}}}),e.define,e.require}(); -------------------------------------------------------------------------------- /xadmin/static/xadmin/vendor/select2/js/i18n/da.js: -------------------------------------------------------------------------------- 1 | /*! Select2 4.0.12 | https://github.com/select2/select2/blob/master/LICENSE.md */ 2 | 3 | !function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;e.define("select2/i18n/da",[],function(){return{errorLoading:function(){return"Resultaterne kunne ikke indlæses."},inputTooLong:function(e){return"Angiv venligst "+(e.input.length-e.maximum)+" tegn mindre"},inputTooShort:function(e){return"Angiv venligst "+(e.minimum-e.input.length)+" tegn mere"},loadingMore:function(){return"Indlæser flere resultater…"},maximumSelected:function(e){var n="Du kan kun vælge "+e.maximum+" emne";return 1!=e.maximum&&(n+="r"),n},noResults:function(){return"Ingen resultater fundet"},searching:function(){return"Søger…"},removeAllItems:function(){return"Fjern alle elementer"}}}),e.define,e.require}(); -------------------------------------------------------------------------------- /xadmin/static/xadmin/vendor/select2/js/i18n/de.js: -------------------------------------------------------------------------------- 1 | /*! Select2 4.0.12 | https://github.com/select2/select2/blob/master/LICENSE.md */ 2 | 3 | !function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;e.define("select2/i18n/de",[],function(){return{errorLoading:function(){return"Die Ergebnisse konnten nicht geladen werden."},inputTooLong:function(e){return"Bitte "+(e.input.length-e.maximum)+" Zeichen weniger eingeben"},inputTooShort:function(e){return"Bitte "+(e.minimum-e.input.length)+" Zeichen mehr eingeben"},loadingMore:function(){return"Lade mehr Ergebnisse…"},maximumSelected:function(e){var n="Sie können nur "+e.maximum+" Element";return 1!=e.maximum&&(n+="e"),n+=" auswählen"},noResults:function(){return"Keine Übereinstimmungen gefunden"},searching:function(){return"Suche…"},removeAllItems:function(){return"Entferne alle Elemente"}}}),e.define,e.require}(); -------------------------------------------------------------------------------- /xadmin/static/xadmin/vendor/select2/js/i18n/dsb.js: -------------------------------------------------------------------------------- 1 | /*! Select2 4.0.12 | https://github.com/select2/select2/blob/master/LICENSE.md */ 2 | 3 | !function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var n=jQuery.fn.select2.amd;n.define("select2/i18n/dsb",[],function(){var n=["znamuško","znamušce","znamuška","znamuškow"],e=["zapisk","zapiska","zapiski","zapiskow"],u=function(n,e){return 1===n?e[0]:2===n?e[1]:n>2&&n<=4?e[2]:n>=5?e[3]:void 0};return{errorLoading:function(){return"Wuslědki njejsu se dali zacytaś."},inputTooLong:function(e){var a=e.input.length-e.maximum;return"Pšosym lašuj "+a+" "+u(a,n)},inputTooShort:function(e){var a=e.minimum-e.input.length;return"Pšosym zapódaj nanejmjenjej "+a+" "+u(a,n)},loadingMore:function(){return"Dalšne wuslědki se zacytaju…"},maximumSelected:function(n){return"Móžoš jano "+n.maximum+" "+u(n.maximum,e)+"wubraś."},noResults:function(){return"Žedne wuslědki namakane"},searching:function(){return"Pyta se…"},removeAllItems:function(){return"Remove all items"}}}),n.define,n.require}(); -------------------------------------------------------------------------------- /xadmin/static/xadmin/vendor/select2/js/i18n/el.js: -------------------------------------------------------------------------------- 1 | /*! Select2 4.0.12 | https://github.com/select2/select2/blob/master/LICENSE.md */ 2 | 3 | !function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var n=jQuery.fn.select2.amd;n.define("select2/i18n/el",[],function(){return{errorLoading:function(){return"Τα αποτελέσματα δεν μπόρεσαν να φορτώσουν."},inputTooLong:function(n){var e=n.input.length-n.maximum,u="Παρακαλώ διαγράψτε "+e+" χαρακτήρ";return 1==e&&(u+="α"),1!=e&&(u+="ες"),u},inputTooShort:function(n){return"Παρακαλώ συμπληρώστε "+(n.minimum-n.input.length)+" ή περισσότερους χαρακτήρες"},loadingMore:function(){return"Φόρτωση περισσότερων αποτελεσμάτων…"},maximumSelected:function(n){var e="Μπορείτε να επιλέξετε μόνο "+n.maximum+" επιλογ";return 1==n.maximum&&(e+="ή"),1!=n.maximum&&(e+="ές"),e},noResults:function(){return"Δεν βρέθηκαν αποτελέσματα"},searching:function(){return"Αναζήτηση…"},removeAllItems:function(){return"Καταργήστε όλα τα στοιχεία"}}}),n.define,n.require}(); -------------------------------------------------------------------------------- /xadmin/static/xadmin/vendor/select2/js/i18n/en.js: -------------------------------------------------------------------------------- 1 | /*! Select2 4.0.12 | https://github.com/select2/select2/blob/master/LICENSE.md */ 2 | 3 | !function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;e.define("select2/i18n/en",[],function(){return{errorLoading:function(){return"The results could not be loaded."},inputTooLong:function(e){var n=e.input.length-e.maximum,r="Please delete "+n+" character";return 1!=n&&(r+="s"),r},inputTooShort:function(e){return"Please enter "+(e.minimum-e.input.length)+" or more characters"},loadingMore:function(){return"Loading more results…"},maximumSelected:function(e){var n="You can only select "+e.maximum+" item";return 1!=e.maximum&&(n+="s"),n},noResults:function(){return"No results found"},searching:function(){return"Searching…"},removeAllItems:function(){return"Remove all items"}}}),e.define,e.require}(); -------------------------------------------------------------------------------- /xadmin/static/xadmin/vendor/select2/js/i18n/es.js: -------------------------------------------------------------------------------- 1 | /*! Select2 4.0.12 | https://github.com/select2/select2/blob/master/LICENSE.md */ 2 | 3 | !function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;e.define("select2/i18n/es",[],function(){return{errorLoading:function(){return"No se pudieron cargar los resultados"},inputTooLong:function(e){var n=e.input.length-e.maximum,r="Por favor, elimine "+n+" car";return r+=1==n?"ácter":"acteres"},inputTooShort:function(e){var n=e.minimum-e.input.length,r="Por favor, introduzca "+n+" car";return r+=1==n?"ácter":"acteres"},loadingMore:function(){return"Cargando más resultados…"},maximumSelected:function(e){var n="Sólo puede seleccionar "+e.maximum+" elemento";return 1!=e.maximum&&(n+="s"),n},noResults:function(){return"No se encontraron resultados"},searching:function(){return"Buscando…"},removeAllItems:function(){return"Eliminar todos los elementos"}}}),e.define,e.require}(); -------------------------------------------------------------------------------- /xadmin/static/xadmin/vendor/select2/js/i18n/et.js: -------------------------------------------------------------------------------- 1 | /*! Select2 4.0.12 | https://github.com/select2/select2/blob/master/LICENSE.md */ 2 | 3 | !function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;e.define("select2/i18n/et",[],function(){return{inputTooLong:function(e){var n=e.input.length-e.maximum,t="Sisesta "+n+" täht";return 1!=n&&(t+="e"),t+=" vähem"},inputTooShort:function(e){var n=e.minimum-e.input.length,t="Sisesta "+n+" täht";return 1!=n&&(t+="e"),t+=" rohkem"},loadingMore:function(){return"Laen tulemusi…"},maximumSelected:function(e){var n="Saad vaid "+e.maximum+" tulemus";return 1==e.maximum?n+="e":n+="t",n+=" valida"},noResults:function(){return"Tulemused puuduvad"},searching:function(){return"Otsin…"},removeAllItems:function(){return"Eemalda kõik esemed"}}}),e.define,e.require}(); -------------------------------------------------------------------------------- /xadmin/static/xadmin/vendor/select2/js/i18n/eu.js: -------------------------------------------------------------------------------- 1 | /*! Select2 4.0.12 | https://github.com/select2/select2/blob/master/LICENSE.md */ 2 | 3 | !function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;e.define("select2/i18n/eu",[],function(){return{inputTooLong:function(e){var t=e.input.length-e.maximum,n="Idatzi ";return n+=1==t?"karaktere bat":t+" karaktere",n+=" gutxiago"},inputTooShort:function(e){var t=e.minimum-e.input.length,n="Idatzi ";return n+=1==t?"karaktere bat":t+" karaktere",n+=" gehiago"},loadingMore:function(){return"Emaitza gehiago kargatzen…"},maximumSelected:function(e){return 1===e.maximum?"Elementu bakarra hauta dezakezu":e.maximum+" elementu hauta ditzakezu soilik"},noResults:function(){return"Ez da bat datorrenik aurkitu"},searching:function(){return"Bilatzen…"},removeAllItems:function(){return"Kendu elementu guztiak"}}}),e.define,e.require}(); -------------------------------------------------------------------------------- /xadmin/static/xadmin/vendor/select2/js/i18n/fa.js: -------------------------------------------------------------------------------- 1 | /*! Select2 4.0.12 | https://github.com/select2/select2/blob/master/LICENSE.md */ 2 | 3 | !function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var n=jQuery.fn.select2.amd;n.define("select2/i18n/fa",[],function(){return{errorLoading:function(){return"امکان بارگذاری نتایج وجود ندارد."},inputTooLong:function(n){return"لطفاً "+(n.input.length-n.maximum)+" کاراکتر را حذف نمایید"},inputTooShort:function(n){return"لطفاً تعداد "+(n.minimum-n.input.length)+" کاراکتر یا بیشتر وارد نمایید"},loadingMore:function(){return"در حال بارگذاری نتایج بیشتر..."},maximumSelected:function(n){return"شما تنها می‌توانید "+n.maximum+" آیتم را انتخاب نمایید"},noResults:function(){return"هیچ نتیجه‌ای یافت نشد"},searching:function(){return"در حال جستجو..."},removeAllItems:function(){return"همه موارد را حذف کنید"}}}),n.define,n.require}(); -------------------------------------------------------------------------------- /xadmin/static/xadmin/vendor/select2/js/i18n/fi.js: -------------------------------------------------------------------------------- 1 | /*! Select2 4.0.12 | https://github.com/select2/select2/blob/master/LICENSE.md */ 2 | 3 | !function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var n=jQuery.fn.select2.amd;n.define("select2/i18n/fi",[],function(){return{errorLoading:function(){return"Tuloksia ei saatu ladattua."},inputTooLong:function(n){return"Ole hyvä ja anna "+(n.input.length-n.maximum)+" merkkiä vähemmän"},inputTooShort:function(n){return"Ole hyvä ja anna "+(n.minimum-n.input.length)+" merkkiä lisää"},loadingMore:function(){return"Ladataan lisää tuloksia…"},maximumSelected:function(n){return"Voit valita ainoastaan "+n.maximum+" kpl"},noResults:function(){return"Ei tuloksia"},searching:function(){return"Haetaan…"},removeAllItems:function(){return"Poista kaikki kohteet"}}}),n.define,n.require}(); -------------------------------------------------------------------------------- /xadmin/static/xadmin/vendor/select2/js/i18n/fr.js: -------------------------------------------------------------------------------- 1 | /*! Select2 4.0.12 | https://github.com/select2/select2/blob/master/LICENSE.md */ 2 | 3 | !function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;e.define("select2/i18n/fr",[],function(){return{errorLoading:function(){return"Les résultats ne peuvent pas être chargés."},inputTooLong:function(e){var n=e.input.length-e.maximum;return"Supprimez "+n+" caractère"+(n>1?"s":"")},inputTooShort:function(e){var n=e.minimum-e.input.length;return"Saisissez au moins "+n+" caractère"+(n>1?"s":"")},loadingMore:function(){return"Chargement de résultats supplémentaires…"},maximumSelected:function(e){return"Vous pouvez seulement sélectionner "+e.maximum+" élément"+(e.maximum>1?"s":"")},noResults:function(){return"Aucun résultat trouvé"},searching:function(){return"Recherche en cours…"},removeAllItems:function(){return"Supprimer tous les éléments"}}}),e.define,e.require}(); -------------------------------------------------------------------------------- /xadmin/static/xadmin/vendor/select2/js/i18n/gl.js: -------------------------------------------------------------------------------- 1 | /*! Select2 4.0.12 | https://github.com/select2/select2/blob/master/LICENSE.md */ 2 | 3 | !function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;e.define("select2/i18n/gl",[],function(){return{errorLoading:function(){return"Non foi posíbel cargar os resultados."},inputTooLong:function(e){var n=e.input.length-e.maximum;return 1===n?"Elimine un carácter":"Elimine "+n+" caracteres"},inputTooShort:function(e){var n=e.minimum-e.input.length;return 1===n?"Engada un carácter":"Engada "+n+" caracteres"},loadingMore:function(){return"Cargando máis resultados…"},maximumSelected:function(e){return 1===e.maximum?"Só pode seleccionar un elemento":"Só pode seleccionar "+e.maximum+" elementos"},noResults:function(){return"Non se atoparon resultados"},searching:function(){return"Buscando…"},removeAllItems:function(){return"Elimina todos os elementos"}}}),e.define,e.require}(); -------------------------------------------------------------------------------- /xadmin/static/xadmin/vendor/select2/js/i18n/he.js: -------------------------------------------------------------------------------- 1 | /*! Select2 4.0.12 | https://github.com/select2/select2/blob/master/LICENSE.md */ 2 | 3 | !function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var n=jQuery.fn.select2.amd;n.define("select2/i18n/he",[],function(){return{errorLoading:function(){return"שגיאה בטעינת התוצאות"},inputTooLong:function(n){var e=n.input.length-n.maximum,r="נא למחוק ";return r+=1===e?"תו אחד":e+" תווים"},inputTooShort:function(n){var e=n.minimum-n.input.length,r="נא להכניס ";return r+=1===e?"תו אחד":e+" תווים",r+=" או יותר"},loadingMore:function(){return"טוען תוצאות נוספות…"},maximumSelected:function(n){var e="באפשרותך לבחור עד ";return 1===n.maximum?e+="פריט אחד":e+=n.maximum+" פריטים",e},noResults:function(){return"לא נמצאו תוצאות"},searching:function(){return"מחפש…"},removeAllItems:function(){return"הסר את כל הפריטים"}}}),n.define,n.require}(); -------------------------------------------------------------------------------- /xadmin/static/xadmin/vendor/select2/js/i18n/hi.js: -------------------------------------------------------------------------------- 1 | /*! Select2 4.0.12 | https://github.com/select2/select2/blob/master/LICENSE.md */ 2 | 3 | !function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var n=jQuery.fn.select2.amd;n.define("select2/i18n/hi",[],function(){return{errorLoading:function(){return"परिणामों को लोड नहीं किया जा सका।"},inputTooLong:function(n){var e=n.input.length-n.maximum,r=e+" अक्षर को हटा दें";return e>1&&(r=e+" अक्षरों को हटा दें "),r},inputTooShort:function(n){return"कृपया "+(n.minimum-n.input.length)+" या अधिक अक्षर दर्ज करें"},loadingMore:function(){return"अधिक परिणाम लोड हो रहे है..."},maximumSelected:function(n){return"आप केवल "+n.maximum+" आइटम का चयन कर सकते हैं"},noResults:function(){return"कोई परिणाम नहीं मिला"},searching:function(){return"खोज रहा है..."},removeAllItems:function(){return"सभी वस्तुओं को हटा दें"}}}),n.define,n.require}(); -------------------------------------------------------------------------------- /xadmin/static/xadmin/vendor/select2/js/i18n/hr.js: -------------------------------------------------------------------------------- 1 | /*! Select2 4.0.12 | https://github.com/select2/select2/blob/master/LICENSE.md */ 2 | 3 | !function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var n=jQuery.fn.select2.amd;n.define("select2/i18n/hr",[],function(){function n(n){var e=" "+n+" znak";return n%10<5&&n%10>0&&(n%100<5||n%100>19)?n%10>1&&(e+="a"):e+="ova",e}return{errorLoading:function(){return"Preuzimanje nije uspjelo."},inputTooLong:function(e){return"Unesite "+n(e.input.length-e.maximum)},inputTooShort:function(e){return"Unesite još "+n(e.minimum-e.input.length)},loadingMore:function(){return"Učitavanje rezultata…"},maximumSelected:function(n){return"Maksimalan broj odabranih stavki je "+n.maximum},noResults:function(){return"Nema rezultata"},searching:function(){return"Pretraga…"},removeAllItems:function(){return"Ukloni sve stavke"}}}),n.define,n.require}(); -------------------------------------------------------------------------------- /xadmin/static/xadmin/vendor/select2/js/i18n/hsb.js: -------------------------------------------------------------------------------- 1 | /*! Select2 4.0.12 | https://github.com/select2/select2/blob/master/LICENSE.md */ 2 | 3 | !function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var n=jQuery.fn.select2.amd;n.define("select2/i18n/hsb",[],function(){var n=["znamješko","znamješce","znamješka","znamješkow"],e=["zapisk","zapiskaj","zapiski","zapiskow"],u=function(n,e){return 1===n?e[0]:2===n?e[1]:n>2&&n<=4?e[2]:n>=5?e[3]:void 0};return{errorLoading:function(){return"Wuslědki njedachu so začitać."},inputTooLong:function(e){var a=e.input.length-e.maximum;return"Prošu zhašej "+a+" "+u(a,n)},inputTooShort:function(e){var a=e.minimum-e.input.length;return"Prošu zapodaj znajmjeńša "+a+" "+u(a,n)},loadingMore:function(){return"Dalše wuslědki so začitaja…"},maximumSelected:function(n){return"Móžeš jenož "+n.maximum+" "+u(n.maximum,e)+"wubrać"},noResults:function(){return"Žane wuslědki namakane"},searching:function(){return"Pyta so…"},removeAllItems:function(){return"Remove all items"}}}),n.define,n.require}(); -------------------------------------------------------------------------------- /xadmin/static/xadmin/vendor/select2/js/i18n/hu.js: -------------------------------------------------------------------------------- 1 | /*! Select2 4.0.12 | https://github.com/select2/select2/blob/master/LICENSE.md */ 2 | 3 | !function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;e.define("select2/i18n/hu",[],function(){return{errorLoading:function(){return"Az eredmények betöltése nem sikerült."},inputTooLong:function(e){return"Túl hosszú. "+(e.input.length-e.maximum)+" karakterrel több, mint kellene."},inputTooShort:function(e){return"Túl rövid. Még "+(e.minimum-e.input.length)+" karakter hiányzik."},loadingMore:function(){return"Töltés…"},maximumSelected:function(e){return"Csak "+e.maximum+" elemet lehet kiválasztani."},noResults:function(){return"Nincs találat."},searching:function(){return"Keresés…"},removeAllItems:function(){return"Távolítson el minden elemet"}}}),e.define,e.require}(); -------------------------------------------------------------------------------- /xadmin/static/xadmin/vendor/select2/js/i18n/hy.js: -------------------------------------------------------------------------------- 1 | /*! Select2 4.0.12 | https://github.com/select2/select2/blob/master/LICENSE.md */ 2 | 3 | !function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var n=jQuery.fn.select2.amd;n.define("select2/i18n/hy",[],function(){return{errorLoading:function(){return"Արդյունքները հնարավոր չէ բեռնել։"},inputTooLong:function(n){return"Խնդրում ենք հեռացնել "+(n.input.length-n.maximum)+" նշան"},inputTooShort:function(n){return"Խնդրում ենք մուտքագրել "+(n.minimum-n.input.length)+" կամ ավել նշաններ"},loadingMore:function(){return"Բեռնվում են նոր արդյունքներ․․․"},maximumSelected:function(n){return"Դուք կարող եք ընտրել առավելագույնը "+n.maximum+" կետ"},noResults:function(){return"Արդյունքներ չեն գտնվել"},searching:function(){return"Որոնում․․․"},removeAllItems:function(){return"Հեռացնել բոլոր տարրերը"}}}),n.define,n.require}(); -------------------------------------------------------------------------------- /xadmin/static/xadmin/vendor/select2/js/i18n/id.js: -------------------------------------------------------------------------------- 1 | /*! Select2 4.0.12 | https://github.com/select2/select2/blob/master/LICENSE.md */ 2 | 3 | !function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var n=jQuery.fn.select2.amd;n.define("select2/i18n/id",[],function(){return{errorLoading:function(){return"Data tidak boleh diambil."},inputTooLong:function(n){return"Hapuskan "+(n.input.length-n.maximum)+" huruf"},inputTooShort:function(n){return"Masukkan "+(n.minimum-n.input.length)+" huruf lagi"},loadingMore:function(){return"Mengambil data…"},maximumSelected:function(n){return"Anda hanya dapat memilih "+n.maximum+" pilihan"},noResults:function(){return"Tidak ada data yang sesuai"},searching:function(){return"Mencari…"},removeAllItems:function(){return"Hapus semua item"}}}),n.define,n.require}(); -------------------------------------------------------------------------------- /xadmin/static/xadmin/vendor/select2/js/i18n/is.js: -------------------------------------------------------------------------------- 1 | /*! Select2 4.0.12 | https://github.com/select2/select2/blob/master/LICENSE.md */ 2 | 3 | !function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var n=jQuery.fn.select2.amd;n.define("select2/i18n/is",[],function(){return{inputTooLong:function(n){var t=n.input.length-n.maximum,e="Vinsamlegast styttið texta um "+t+" staf";return t<=1?e:e+"i"},inputTooShort:function(n){var t=n.minimum-n.input.length,e="Vinsamlegast skrifið "+t+" staf";return t>1&&(e+="i"),e+=" í viðbót"},loadingMore:function(){return"Sæki fleiri niðurstöður…"},maximumSelected:function(n){return"Þú getur aðeins valið "+n.maximum+" atriði"},noResults:function(){return"Ekkert fannst"},searching:function(){return"Leita…"},removeAllItems:function(){return"Fjarlægðu öll atriði"}}}),n.define,n.require}(); -------------------------------------------------------------------------------- /xadmin/static/xadmin/vendor/select2/js/i18n/it.js: -------------------------------------------------------------------------------- 1 | /*! Select2 4.0.12 | https://github.com/select2/select2/blob/master/LICENSE.md */ 2 | 3 | !function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;e.define("select2/i18n/it",[],function(){return{errorLoading:function(){return"I risultati non possono essere caricati."},inputTooLong:function(e){var n=e.input.length-e.maximum,t="Per favore cancella "+n+" caratter";return t+=1!==n?"i":"e"},inputTooShort:function(e){return"Per favore inserisci "+(e.minimum-e.input.length)+" o più caratteri"},loadingMore:function(){return"Caricando più risultati…"},maximumSelected:function(e){var n="Puoi selezionare solo "+e.maximum+" element";return 1!==e.maximum?n+="i":n+="o",n},noResults:function(){return"Nessun risultato trovato"},searching:function(){return"Sto cercando…"},removeAllItems:function(){return"Rimuovi tutti gli oggetti"}}}),e.define,e.require}(); -------------------------------------------------------------------------------- /xadmin/static/xadmin/vendor/select2/js/i18n/ja.js: -------------------------------------------------------------------------------- 1 | /*! Select2 4.0.12 | https://github.com/select2/select2/blob/master/LICENSE.md */ 2 | 3 | !function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var n=jQuery.fn.select2.amd;n.define("select2/i18n/ja",[],function(){return{errorLoading:function(){return"結果が読み込まれませんでした"},inputTooLong:function(n){return n.input.length-n.maximum+" 文字を削除してください"},inputTooShort:function(n){return"少なくとも "+(n.minimum-n.input.length)+" 文字を入力してください"},loadingMore:function(){return"読み込み中…"},maximumSelected:function(n){return n.maximum+" 件しか選択できません"},noResults:function(){return"対象が見つかりません"},searching:function(){return"検索しています…"},removeAllItems:function(){return"すべてのアイテムを削除"}}}),n.define,n.require}(); -------------------------------------------------------------------------------- /xadmin/static/xadmin/vendor/select2/js/i18n/ka.js: -------------------------------------------------------------------------------- 1 | /*! Select2 4.0.12 | https://github.com/select2/select2/blob/master/LICENSE.md */ 2 | 3 | !function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var n=jQuery.fn.select2.amd;n.define("select2/i18n/ka",[],function(){return{errorLoading:function(){return"მონაცემების ჩატვირთვა შეუძლებელია."},inputTooLong:function(n){return"გთხოვთ აკრიფეთ "+(n.input.length-n.maximum)+" სიმბოლოთი ნაკლები"},inputTooShort:function(n){return"გთხოვთ აკრიფეთ "+(n.minimum-n.input.length)+" სიმბოლო ან მეტი"},loadingMore:function(){return"მონაცემების ჩატვირთვა…"},maximumSelected:function(n){return"თქვენ შეგიძლიათ აირჩიოთ არაუმეტეს "+n.maximum+" ელემენტი"},noResults:function(){return"რეზულტატი არ მოიძებნა"},searching:function(){return"ძიება…"},removeAllItems:function(){return"ამოიღე ყველა ელემენტი"}}}),n.define,n.require}(); -------------------------------------------------------------------------------- /xadmin/static/xadmin/vendor/select2/js/i18n/km.js: -------------------------------------------------------------------------------- 1 | /*! Select2 4.0.12 | https://github.com/select2/select2/blob/master/LICENSE.md */ 2 | 3 | !function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var n=jQuery.fn.select2.amd;n.define("select2/i18n/km",[],function(){return{errorLoading:function(){return"មិនអាចទាញយកទិន្នន័យ"},inputTooLong:function(n){return"សូមលុបចេញ "+(n.input.length-n.maximum)+" អក្សរ"},inputTooShort:function(n){return"សូមបញ្ចូល"+(n.minimum-n.input.length)+" អក្សរ រឺ ច្រើនជាងនេះ"},loadingMore:function(){return"កំពុងទាញយកទិន្នន័យបន្ថែម..."},maximumSelected:function(n){return"អ្នកអាចជ្រើសរើសបានតែ "+n.maximum+" ជម្រើសប៉ុណ្ណោះ"},noResults:function(){return"មិនមានលទ្ធផល"},searching:function(){return"កំពុងស្វែងរក..."},removeAllItems:function(){return"លុបធាតុទាំងអស់"}}}),n.define,n.require}(); -------------------------------------------------------------------------------- /xadmin/static/xadmin/vendor/select2/js/i18n/ko.js: -------------------------------------------------------------------------------- 1 | /*! Select2 4.0.12 | https://github.com/select2/select2/blob/master/LICENSE.md */ 2 | 3 | !function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var n=jQuery.fn.select2.amd;n.define("select2/i18n/ko",[],function(){return{errorLoading:function(){return"결과를 불러올 수 없습니다."},inputTooLong:function(n){return"너무 깁니다. "+(n.input.length-n.maximum)+" 글자 지워주세요."},inputTooShort:function(n){return"너무 짧습니다. "+(n.minimum-n.input.length)+" 글자 더 입력해주세요."},loadingMore:function(){return"불러오는 중…"},maximumSelected:function(n){return"최대 "+n.maximum+"개까지만 선택 가능합니다."},noResults:function(){return"결과가 없습니다."},searching:function(){return"검색 중…"},removeAllItems:function(){return"모든 항목 삭제"}}}),n.define,n.require}(); -------------------------------------------------------------------------------- /xadmin/static/xadmin/vendor/select2/js/i18n/lt.js: -------------------------------------------------------------------------------- 1 | /*! Select2 4.0.12 | https://github.com/select2/select2/blob/master/LICENSE.md */ 2 | 3 | !function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var n=jQuery.fn.select2.amd;n.define("select2/i18n/lt",[],function(){function n(n,e,i,t){return n%10==1&&(n%100<11||n%100>19)?e:n%10>=2&&n%10<=9&&(n%100<11||n%100>19)?i:t}return{inputTooLong:function(e){var i=e.input.length-e.maximum,t="Pašalinkite "+i+" simbol";return t+=n(i,"į","ius","ių")},inputTooShort:function(e){var i=e.minimum-e.input.length,t="Įrašykite dar "+i+" simbol";return t+=n(i,"į","ius","ių")},loadingMore:function(){return"Kraunama daugiau rezultatų…"},maximumSelected:function(e){var i="Jūs galite pasirinkti tik "+e.maximum+" element";return i+=n(e.maximum,"ą","us","ų")},noResults:function(){return"Atitikmenų nerasta"},searching:function(){return"Ieškoma…"},removeAllItems:function(){return"Pašalinti visus elementus"}}}),n.define,n.require}(); -------------------------------------------------------------------------------- /xadmin/static/xadmin/vendor/select2/js/i18n/lv.js: -------------------------------------------------------------------------------- 1 | /*! Select2 4.0.12 | https://github.com/select2/select2/blob/master/LICENSE.md */ 2 | 3 | !function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;e.define("select2/i18n/lv",[],function(){function e(e,n,u,i){return 11===e?n:e%10==1?u:i}return{inputTooLong:function(n){var u=n.input.length-n.maximum,i="Lūdzu ievadiet par "+u;return(i+=" simbol"+e(u,"iem","u","iem"))+" mazāk"},inputTooShort:function(n){var u=n.minimum-n.input.length,i="Lūdzu ievadiet vēl "+u;return i+=" simbol"+e(u,"us","u","us")},loadingMore:function(){return"Datu ielāde…"},maximumSelected:function(n){var u="Jūs varat izvēlēties ne vairāk kā "+n.maximum;return u+=" element"+e(n.maximum,"us","u","us")},noResults:function(){return"Sakritību nav"},searching:function(){return"Meklēšana…"},removeAllItems:function(){return"Noņemt visus vienumus"}}}),e.define,e.require}(); -------------------------------------------------------------------------------- /xadmin/static/xadmin/vendor/select2/js/i18n/mk.js: -------------------------------------------------------------------------------- 1 | /*! Select2 4.0.12 | https://github.com/select2/select2/blob/master/LICENSE.md */ 2 | 3 | !function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var n=jQuery.fn.select2.amd;n.define("select2/i18n/mk",[],function(){return{inputTooLong:function(n){var e=(n.input.length,n.maximum,"Ве молиме внесете "+n.maximum+" помалку карактер");return 1!==n.maximum&&(e+="и"),e},inputTooShort:function(n){var e=(n.minimum,n.input.length,"Ве молиме внесете уште "+n.maximum+" карактер");return 1!==n.maximum&&(e+="и"),e},loadingMore:function(){return"Вчитување резултати…"},maximumSelected:function(n){var e="Можете да изберете само "+n.maximum+" ставк";return 1===n.maximum?e+="а":e+="и",e},noResults:function(){return"Нема пронајдено совпаѓања"},searching:function(){return"Пребарување…"},removeAllItems:function(){return"Отстрани ги сите предмети"}}}),n.define,n.require}(); -------------------------------------------------------------------------------- /xadmin/static/xadmin/vendor/select2/js/i18n/ms.js: -------------------------------------------------------------------------------- 1 | /*! Select2 4.0.12 | https://github.com/select2/select2/blob/master/LICENSE.md */ 2 | 3 | !function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var n=jQuery.fn.select2.amd;n.define("select2/i18n/ms",[],function(){return{errorLoading:function(){return"Keputusan tidak berjaya dimuatkan."},inputTooLong:function(n){return"Sila hapuskan "+(n.input.length-n.maximum)+" aksara"},inputTooShort:function(n){return"Sila masukkan "+(n.minimum-n.input.length)+" atau lebih aksara"},loadingMore:function(){return"Sedang memuatkan keputusan…"},maximumSelected:function(n){return"Anda hanya boleh memilih "+n.maximum+" pilihan"},noResults:function(){return"Tiada padanan yang ditemui"},searching:function(){return"Mencari…"},removeAllItems:function(){return"Keluarkan semua item"}}}),n.define,n.require}(); -------------------------------------------------------------------------------- /xadmin/static/xadmin/vendor/select2/js/i18n/nb.js: -------------------------------------------------------------------------------- 1 | /*! Select2 4.0.12 | https://github.com/select2/select2/blob/master/LICENSE.md */ 2 | 3 | !function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;e.define("select2/i18n/nb",[],function(){return{errorLoading:function(){return"Kunne ikke hente resultater."},inputTooLong:function(e){return"Vennligst fjern "+(e.input.length-e.maximum)+" tegn"},inputTooShort:function(e){return"Vennligst skriv inn "+(e.minimum-e.input.length)+" tegn til"},loadingMore:function(){return"Laster flere resultater…"},maximumSelected:function(e){return"Du kan velge maks "+e.maximum+" elementer"},noResults:function(){return"Ingen treff"},searching:function(){return"Søker…"},removeAllItems:function(){return"Fjern alle elementer"}}}),e.define,e.require}(); -------------------------------------------------------------------------------- /xadmin/static/xadmin/vendor/select2/js/i18n/ne.js: -------------------------------------------------------------------------------- 1 | /*! Select2 4.0.12 | https://github.com/select2/select2/blob/master/LICENSE.md */ 2 | 3 | !function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var n=jQuery.fn.select2.amd;n.define("select2/i18n/ne",[],function(){return{errorLoading:function(){return"नतिजाहरु देखाउन सकिएन।"},inputTooLong:function(n){var e=n.input.length-n.maximum,u="कृपया "+e+" अक्षर मेटाउनुहोस्।";return 1!=e&&(u+="कृपया "+e+" अक्षरहरु मेटाउनुहोस्।"),u},inputTooShort:function(n){return"कृपया बाँकी रहेका "+(n.minimum-n.input.length)+" वा अरु धेरै अक्षरहरु भर्नुहोस्।"},loadingMore:function(){return"अरु नतिजाहरु भरिँदैछन् …"},maximumSelected:function(n){var e="तँपाई "+n.maximum+" वस्तु मात्र छान्न पाउँनुहुन्छ।";return 1!=n.maximum&&(e="तँपाई "+n.maximum+" वस्तुहरु मात्र छान्न पाउँनुहुन्छ।"),e},noResults:function(){return"कुनै पनि नतिजा भेटिएन।"},searching:function(){return"खोजि हुँदैछ…"}}}),n.define,n.require}(); -------------------------------------------------------------------------------- /xadmin/static/xadmin/vendor/select2/js/i18n/nl.js: -------------------------------------------------------------------------------- 1 | /*! Select2 4.0.12 | https://github.com/select2/select2/blob/master/LICENSE.md */ 2 | 3 | !function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;e.define("select2/i18n/nl",[],function(){return{errorLoading:function(){return"De resultaten konden niet worden geladen."},inputTooLong:function(e){return"Gelieve "+(e.input.length-e.maximum)+" karakters te verwijderen"},inputTooShort:function(e){return"Gelieve "+(e.minimum-e.input.length)+" of meer karakters in te voeren"},loadingMore:function(){return"Meer resultaten laden…"},maximumSelected:function(e){var n=1==e.maximum?"kan":"kunnen",r="Er "+n+" maar "+e.maximum+" item";return 1!=e.maximum&&(r+="s"),r+=" worden geselecteerd"},noResults:function(){return"Geen resultaten gevonden…"},searching:function(){return"Zoeken…"},removeAllItems:function(){return"Verwijder alle items"}}}),e.define,e.require}(); -------------------------------------------------------------------------------- /xadmin/static/xadmin/vendor/select2/js/i18n/pl.js: -------------------------------------------------------------------------------- 1 | /*! Select2 4.0.12 | https://github.com/select2/select2/blob/master/LICENSE.md */ 2 | 3 | !function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var n=jQuery.fn.select2.amd;n.define("select2/i18n/pl",[],function(){var n=["znak","znaki","znaków"],e=["element","elementy","elementów"],r=function(n,e){return 1===n?e[0]:n>1&&n<=4?e[1]:n>=5?e[2]:void 0};return{errorLoading:function(){return"Nie można załadować wyników."},inputTooLong:function(e){var t=e.input.length-e.maximum;return"Usuń "+t+" "+r(t,n)},inputTooShort:function(e){var t=e.minimum-e.input.length;return"Podaj przynajmniej "+t+" "+r(t,n)},loadingMore:function(){return"Trwa ładowanie…"},maximumSelected:function(n){return"Możesz zaznaczyć tylko "+n.maximum+" "+r(n.maximum,e)},noResults:function(){return"Brak wyników"},searching:function(){return"Trwa wyszukiwanie…"},removeAllItems:function(){return"Usuń wszystkie przedmioty"}}}),n.define,n.require}(); -------------------------------------------------------------------------------- /xadmin/static/xadmin/vendor/select2/js/i18n/ps.js: -------------------------------------------------------------------------------- 1 | /*! Select2 4.0.12 | https://github.com/select2/select2/blob/master/LICENSE.md */ 2 | 3 | !function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var n=jQuery.fn.select2.amd;n.define("select2/i18n/ps",[],function(){return{errorLoading:function(){return"پايلي نه سي ترلاسه کېدای"},inputTooLong:function(n){var e=n.input.length-n.maximum,r="د مهربانۍ لمخي "+e+" توری ړنګ کړئ";return 1!=e&&(r=r.replace("توری","توري")),r},inputTooShort:function(n){return"لږ تر لږه "+(n.minimum-n.input.length)+" يا ډېر توري وليکئ"},loadingMore:function(){return"نوري پايلي ترلاسه کيږي..."},maximumSelected:function(n){var e="تاسو يوازي "+n.maximum+" قلم په نښه کولای سی";return 1!=n.maximum&&(e=e.replace("قلم","قلمونه")),e},noResults:function(){return"پايلي و نه موندل سوې"},searching:function(){return"لټول کيږي..."},removeAllItems:function(){return"ټول توکي لرې کړئ"}}}),n.define,n.require}(); -------------------------------------------------------------------------------- /xadmin/static/xadmin/vendor/select2/js/i18n/pt-BR.js: -------------------------------------------------------------------------------- 1 | /*! Select2 4.0.12 | https://github.com/select2/select2/blob/master/LICENSE.md */ 2 | 3 | !function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;e.define("select2/i18n/pt-BR",[],function(){return{errorLoading:function(){return"Os resultados não puderam ser carregados."},inputTooLong:function(e){var n=e.input.length-e.maximum,r="Apague "+n+" caracter";return 1!=n&&(r+="es"),r},inputTooShort:function(e){return"Digite "+(e.minimum-e.input.length)+" ou mais caracteres"},loadingMore:function(){return"Carregando mais resultados…"},maximumSelected:function(e){var n="Você só pode selecionar "+e.maximum+" ite";return 1==e.maximum?n+="m":n+="ns",n},noResults:function(){return"Nenhum resultado encontrado"},searching:function(){return"Buscando…"},removeAllItems:function(){return"Remover todos os itens"}}}),e.define,e.require}(); -------------------------------------------------------------------------------- /xadmin/static/xadmin/vendor/select2/js/i18n/pt.js: -------------------------------------------------------------------------------- 1 | /*! Select2 4.0.12 | https://github.com/select2/select2/blob/master/LICENSE.md */ 2 | 3 | !function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;e.define("select2/i18n/pt",[],function(){return{errorLoading:function(){return"Os resultados não puderam ser carregados."},inputTooLong:function(e){var r=e.input.length-e.maximum,n="Por favor apague "+r+" ";return n+=1!=r?"caracteres":"caractere"},inputTooShort:function(e){return"Introduza "+(e.minimum-e.input.length)+" ou mais caracteres"},loadingMore:function(){return"A carregar mais resultados…"},maximumSelected:function(e){var r="Apenas pode seleccionar "+e.maximum+" ";return r+=1!=e.maximum?"itens":"item"},noResults:function(){return"Sem resultados"},searching:function(){return"A procurar…"},removeAllItems:function(){return"Remover todos os itens"}}}),e.define,e.require}(); -------------------------------------------------------------------------------- /xadmin/static/xadmin/vendor/select2/js/i18n/ro.js: -------------------------------------------------------------------------------- 1 | /*! Select2 4.0.12 | https://github.com/select2/select2/blob/master/LICENSE.md */ 2 | 3 | !function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;e.define("select2/i18n/ro",[],function(){return{errorLoading:function(){return"Rezultatele nu au putut fi incărcate."},inputTooLong:function(e){var t=e.input.length-e.maximum,n="Vă rugăm să ștergeți"+t+" caracter";return 1!==t&&(n+="e"),n},inputTooShort:function(e){return"Vă rugăm să introduceți "+(e.minimum-e.input.length)+" sau mai multe caractere"},loadingMore:function(){return"Se încarcă mai multe rezultate…"},maximumSelected:function(e){var t="Aveți voie să selectați cel mult "+e.maximum;return t+=" element",1!==e.maximum&&(t+="e"),t},noResults:function(){return"Nu au fost găsite rezultate"},searching:function(){return"Căutare…"},removeAllItems:function(){return"Eliminați toate elementele"}}}),e.define,e.require}(); -------------------------------------------------------------------------------- /xadmin/static/xadmin/vendor/select2/js/i18n/ru.js: -------------------------------------------------------------------------------- 1 | /*! Select2 4.0.12 | https://github.com/select2/select2/blob/master/LICENSE.md */ 2 | 3 | !function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var n=jQuery.fn.select2.amd;n.define("select2/i18n/ru",[],function(){function n(n,e,r,u){return n%10<5&&n%10>0&&n%100<5||n%100>20?n%10>1?r:e:u}return{errorLoading:function(){return"Невозможно загрузить результаты"},inputTooLong:function(e){var r=e.input.length-e.maximum,u="Пожалуйста, введите на "+r+" символ";return u+=n(r,"","a","ов"),u+=" меньше"},inputTooShort:function(e){var r=e.minimum-e.input.length,u="Пожалуйста, введите ещё хотя бы "+r+" символ";return u+=n(r,"","a","ов")},loadingMore:function(){return"Загрузка данных…"},maximumSelected:function(e){var r="Вы можете выбрать не более "+e.maximum+" элемент";return r+=n(e.maximum,"","a","ов")},noResults:function(){return"Совпадений не найдено"},searching:function(){return"Поиск…"},removeAllItems:function(){return"Удалить все элементы"}}}),n.define,n.require}(); -------------------------------------------------------------------------------- /xadmin/static/xadmin/vendor/select2/js/i18n/sk.js: -------------------------------------------------------------------------------- 1 | /*! Select2 4.0.12 | https://github.com/select2/select2/blob/master/LICENSE.md */ 2 | 3 | !function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;e.define("select2/i18n/sk",[],function(){var e={2:function(e){return e?"dva":"dve"},3:function(){return"tri"},4:function(){return"štyri"}};return{errorLoading:function(){return"Výsledky sa nepodarilo načítať."},inputTooLong:function(n){var t=n.input.length-n.maximum;return 1==t?"Prosím, zadajte o jeden znak menej":t>=2&&t<=4?"Prosím, zadajte o "+e[t](!0)+" znaky menej":"Prosím, zadajte o "+t+" znakov menej"},inputTooShort:function(n){var t=n.minimum-n.input.length;return 1==t?"Prosím, zadajte ešte jeden znak":t<=4?"Prosím, zadajte ešte ďalšie "+e[t](!0)+" znaky":"Prosím, zadajte ešte ďalších "+t+" znakov"},loadingMore:function(){return"Načítanie ďalších výsledkov…"},maximumSelected:function(n){return 1==n.maximum?"Môžete zvoliť len jednu položku":n.maximum>=2&&n.maximum<=4?"Môžete zvoliť najviac "+e[n.maximum](!1)+" položky":"Môžete zvoliť najviac "+n.maximum+" položiek"},noResults:function(){return"Nenašli sa žiadne položky"},searching:function(){return"Vyhľadávanie…"},removeAllItems:function(){return"Odstráňte všetky položky"}}}),e.define,e.require}(); -------------------------------------------------------------------------------- /xadmin/static/xadmin/vendor/select2/js/i18n/sl.js: -------------------------------------------------------------------------------- 1 | /*! Select2 4.0.12 | https://github.com/select2/select2/blob/master/LICENSE.md */ 2 | 3 | !function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;e.define("select2/i18n/sl",[],function(){return{errorLoading:function(){return"Zadetkov iskanja ni bilo mogoče naložiti."},inputTooLong:function(e){var n=e.input.length-e.maximum,t="Prosim zbrišite "+n+" znak";return 2==n?t+="a":1!=n&&(t+="e"),t},inputTooShort:function(e){var n=e.minimum-e.input.length,t="Prosim vpišite še "+n+" znak";return 2==n?t+="a":1!=n&&(t+="e"),t},loadingMore:function(){return"Nalagam več zadetkov…"},maximumSelected:function(e){var n="Označite lahko največ "+e.maximum+" predmet";return 2==e.maximum?n+="a":1!=e.maximum&&(n+="e"),n},noResults:function(){return"Ni zadetkov."},searching:function(){return"Iščem…"},removeAllItems:function(){return"Odstranite vse elemente"}}}),e.define,e.require}(); -------------------------------------------------------------------------------- /xadmin/static/xadmin/vendor/select2/js/i18n/sq.js: -------------------------------------------------------------------------------- 1 | /*! Select2 4.0.12 | https://github.com/select2/select2/blob/master/LICENSE.md */ 2 | 3 | !function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;e.define("select2/i18n/sq",[],function(){return{errorLoading:function(){return"Rezultatet nuk mund të ngarkoheshin."},inputTooLong:function(e){var n=e.input.length-e.maximum,t="Të lutem fshi "+n+" karakter";return 1!=n&&(t+="e"),t},inputTooShort:function(e){return"Të lutem shkruaj "+(e.minimum-e.input.length)+" ose më shumë karaktere"},loadingMore:function(){return"Duke ngarkuar më shumë rezultate…"},maximumSelected:function(e){var n="Mund të zgjedhësh vetëm "+e.maximum+" element";return 1!=e.maximum&&(n+="e"),n},noResults:function(){return"Nuk u gjet asnjë rezultat"},searching:function(){return"Duke kërkuar…"},removeAllItems:function(){return"Hiq të gjitha sendet"}}}),e.define,e.require}(); -------------------------------------------------------------------------------- /xadmin/static/xadmin/vendor/select2/js/i18n/sr-Cyrl.js: -------------------------------------------------------------------------------- 1 | /*! Select2 4.0.12 | https://github.com/select2/select2/blob/master/LICENSE.md */ 2 | 3 | !function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var n=jQuery.fn.select2.amd;n.define("select2/i18n/sr-Cyrl",[],function(){function n(n,e,r,u){return n%10==1&&n%100!=11?e:n%10>=2&&n%10<=4&&(n%100<12||n%100>14)?r:u}return{errorLoading:function(){return"Преузимање није успело."},inputTooLong:function(e){var r=e.input.length-e.maximum,u="Обришите "+r+" симбол";return u+=n(r,"","а","а")},inputTooShort:function(e){var r=e.minimum-e.input.length,u="Укуцајте бар још "+r+" симбол";return u+=n(r,"","а","а")},loadingMore:function(){return"Преузимање још резултата…"},maximumSelected:function(e){var r="Можете изабрати само "+e.maximum+" ставк";return r+=n(e.maximum,"у","е","и")},noResults:function(){return"Ништа није пронађено"},searching:function(){return"Претрага…"},removeAllItems:function(){return"Уклоните све ставке"}}}),n.define,n.require}(); -------------------------------------------------------------------------------- /xadmin/static/xadmin/vendor/select2/js/i18n/sr.js: -------------------------------------------------------------------------------- 1 | /*! Select2 4.0.12 | https://github.com/select2/select2/blob/master/LICENSE.md */ 2 | 3 | !function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var n=jQuery.fn.select2.amd;n.define("select2/i18n/sr",[],function(){function n(n,e,r,t){return n%10==1&&n%100!=11?e:n%10>=2&&n%10<=4&&(n%100<12||n%100>14)?r:t}return{errorLoading:function(){return"Preuzimanje nije uspelo."},inputTooLong:function(e){var r=e.input.length-e.maximum,t="Obrišite "+r+" simbol";return t+=n(r,"","a","a")},inputTooShort:function(e){var r=e.minimum-e.input.length,t="Ukucajte bar još "+r+" simbol";return t+=n(r,"","a","a")},loadingMore:function(){return"Preuzimanje još rezultata…"},maximumSelected:function(e){var r="Možete izabrati samo "+e.maximum+" stavk";return r+=n(e.maximum,"u","e","i")},noResults:function(){return"Ništa nije pronađeno"},searching:function(){return"Pretraga…"},removeAllItems:function(){return"Уклоните све ставке"}}}),n.define,n.require}(); -------------------------------------------------------------------------------- /xadmin/static/xadmin/vendor/select2/js/i18n/sv.js: -------------------------------------------------------------------------------- 1 | /*! Select2 4.0.12 | https://github.com/select2/select2/blob/master/LICENSE.md */ 2 | 3 | !function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var n=jQuery.fn.select2.amd;n.define("select2/i18n/sv",[],function(){return{errorLoading:function(){return"Resultat kunde inte laddas."},inputTooLong:function(n){return"Vänligen sudda ut "+(n.input.length-n.maximum)+" tecken"},inputTooShort:function(n){return"Vänligen skriv in "+(n.minimum-n.input.length)+" eller fler tecken"},loadingMore:function(){return"Laddar fler resultat…"},maximumSelected:function(n){return"Du kan max välja "+n.maximum+" element"},noResults:function(){return"Inga träffar"},searching:function(){return"Söker…"},removeAllItems:function(){return"Ta bort alla objekt"}}}),n.define,n.require}(); -------------------------------------------------------------------------------- /xadmin/static/xadmin/vendor/select2/js/i18n/th.js: -------------------------------------------------------------------------------- 1 | /*! Select2 4.0.12 | https://github.com/select2/select2/blob/master/LICENSE.md */ 2 | 3 | !function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var n=jQuery.fn.select2.amd;n.define("select2/i18n/th",[],function(){return{errorLoading:function(){return"ไม่สามารถค้นข้อมูลได้"},inputTooLong:function(n){return"โปรดลบออก "+(n.input.length-n.maximum)+" ตัวอักษร"},inputTooShort:function(n){return"โปรดพิมพ์เพิ่มอีก "+(n.minimum-n.input.length)+" ตัวอักษร"},loadingMore:function(){return"กำลังค้นข้อมูลเพิ่ม…"},maximumSelected:function(n){return"คุณสามารถเลือกได้ไม่เกิน "+n.maximum+" รายการ"},noResults:function(){return"ไม่พบข้อมูล"},searching:function(){return"กำลังค้นข้อมูล…"},removeAllItems:function(){return"ลบรายการทั้งหมด"}}}),n.define,n.require}(); -------------------------------------------------------------------------------- /xadmin/static/xadmin/vendor/select2/js/i18n/tk.js: -------------------------------------------------------------------------------- 1 | /*! Select2 4.0.12 | https://github.com/select2/select2/blob/master/LICENSE.md */ 2 | 3 | !function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;e.define("select2/i18n/tk",[],function(){return{errorLoading:function(){return"Netije ýüklenmedi."},inputTooLong:function(e){return e.input.length-e.maximum+" harp bozuň."},inputTooShort:function(e){return"Ýene-de iň az "+(e.minimum-e.input.length)+" harp ýazyň."},loadingMore:function(){return"Köpräk netije görkezilýär…"},maximumSelected:function(e){return"Diňe "+e.maximum+" sanysyny saýlaň."},noResults:function(){return"Netije tapylmady."},searching:function(){return"Gözlenýär…"},removeAllItems:function(){return"Remove all items"}}}),e.define,e.require}(); -------------------------------------------------------------------------------- /xadmin/static/xadmin/vendor/select2/js/i18n/tr.js: -------------------------------------------------------------------------------- 1 | /*! Select2 4.0.12 | https://github.com/select2/select2/blob/master/LICENSE.md */ 2 | 3 | !function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var n=jQuery.fn.select2.amd;n.define("select2/i18n/tr",[],function(){return{errorLoading:function(){return"Sonuç yüklenemedi"},inputTooLong:function(n){return n.input.length-n.maximum+" karakter daha girmelisiniz"},inputTooShort:function(n){return"En az "+(n.minimum-n.input.length)+" karakter daha girmelisiniz"},loadingMore:function(){return"Daha fazla…"},maximumSelected:function(n){return"Sadece "+n.maximum+" seçim yapabilirsiniz"},noResults:function(){return"Sonuç bulunamadı"},searching:function(){return"Aranıyor…"},removeAllItems:function(){return"Tüm öğeleri kaldır"}}}),n.define,n.require}(); -------------------------------------------------------------------------------- /xadmin/static/xadmin/vendor/select2/js/i18n/uk.js: -------------------------------------------------------------------------------- 1 | /*! Select2 4.0.12 | https://github.com/select2/select2/blob/master/LICENSE.md */ 2 | 3 | !function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var n=jQuery.fn.select2.amd;n.define("select2/i18n/uk",[],function(){function n(n,e,u,r){return n%100>10&&n%100<15?r:n%10==1?e:n%10>1&&n%10<5?u:r}return{errorLoading:function(){return"Неможливо завантажити результати"},inputTooLong:function(e){return"Будь ласка, видаліть "+(e.input.length-e.maximum)+" "+n(e.maximum,"літеру","літери","літер")},inputTooShort:function(n){return"Будь ласка, введіть "+(n.minimum-n.input.length)+" або більше літер"},loadingMore:function(){return"Завантаження інших результатів…"},maximumSelected:function(e){return"Ви можете вибрати лише "+e.maximum+" "+n(e.maximum,"пункт","пункти","пунктів")},noResults:function(){return"Нічого не знайдено"},searching:function(){return"Пошук…"},removeAllItems:function(){return"Видалити всі елементи"}}}),n.define,n.require}(); -------------------------------------------------------------------------------- /xadmin/static/xadmin/vendor/select2/js/i18n/vi.js: -------------------------------------------------------------------------------- 1 | /*! Select2 4.0.12 | https://github.com/select2/select2/blob/master/LICENSE.md */ 2 | 3 | !function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var n=jQuery.fn.select2.amd;n.define("select2/i18n/vi",[],function(){return{inputTooLong:function(n){return"Vui lòng xóa bớt "+(n.input.length-n.maximum)+" ký tự"},inputTooShort:function(n){return"Vui lòng nhập thêm từ "+(n.minimum-n.input.length)+" ký tự trở lên"},loadingMore:function(){return"Đang lấy thêm kết quả…"},maximumSelected:function(n){return"Chỉ có thể chọn được "+n.maximum+" lựa chọn"},noResults:function(){return"Không tìm thấy kết quả"},searching:function(){return"Đang tìm…"},removeAllItems:function(){return"Xóa tất cả các mục"}}}),n.define,n.require}(); -------------------------------------------------------------------------------- /xadmin/static/xadmin/vendor/select2/js/i18n/zh-CN.js: -------------------------------------------------------------------------------- 1 | /*! Select2 4.0.12 | https://github.com/select2/select2/blob/master/LICENSE.md */ 2 | 3 | !function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var n=jQuery.fn.select2.amd;n.define("select2/i18n/zh-CN",[],function(){return{errorLoading:function(){return"无法载入结果。"},inputTooLong:function(n){return"请删除"+(n.input.length-n.maximum)+"个字符"},inputTooShort:function(n){return"请再输入至少"+(n.minimum-n.input.length)+"个字符"},loadingMore:function(){return"载入更多结果…"},maximumSelected:function(n){return"最多只能选择"+n.maximum+"个项目"},noResults:function(){return"未找到结果"},searching:function(){return"搜索中…"},removeAllItems:function(){return"删除所有项目"}}}),n.define,n.require}(); -------------------------------------------------------------------------------- /xadmin/static/xadmin/vendor/select2/js/i18n/zh-TW.js: -------------------------------------------------------------------------------- 1 | /*! Select2 4.0.12 | https://github.com/select2/select2/blob/master/LICENSE.md */ 2 | 3 | !function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var n=jQuery.fn.select2.amd;n.define("select2/i18n/zh-TW",[],function(){return{inputTooLong:function(n){return"請刪掉"+(n.input.length-n.maximum)+"個字元"},inputTooShort:function(n){return"請再輸入"+(n.minimum-n.input.length)+"個字元"},loadingMore:function(){return"載入中…"},maximumSelected:function(n){return"你只能選擇最多"+n.maximum+"項"},noResults:function(){return"沒有找到相符的項目"},searching:function(){return"搜尋中…"},removeAllItems:function(){return"刪除所有項目"}}}),n.define,n.require}(); -------------------------------------------------------------------------------- /xadmin/static/xadmin/vendor/select2/js/i18n/zh-hans.js: -------------------------------------------------------------------------------- 1 | /*! Select2 4.0.12 | https://github.com/select2/select2/blob/master/LICENSE.md */ 2 | 3 | !function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var n=jQuery.fn.select2.amd;n.define("select2/i18n/zh-CN",[],function(){return{errorLoading:function(){return"无法载入结果。"},inputTooLong:function(n){return"请删除"+(n.input.length-n.maximum)+"个字符"},inputTooShort:function(n){return"请再输入至少"+(n.minimum-n.input.length)+"个字符"},loadingMore:function(){return"载入更多结果…"},maximumSelected:function(n){return"最多只能选择"+n.maximum+"个项目"},noResults:function(){return"未找到结果"},searching:function(){return"搜索中…"},removeAllItems:function(){return"删除所有项目"}}}),n.define,n.require}(); -------------------------------------------------------------------------------- /xadmin/templates/xadmin/404.html: -------------------------------------------------------------------------------- 1 | {% extends base_template %} 2 | {% load i18n %} 3 | 4 | {% block title %}{% trans 'Page not found' %}{% endblock %} 5 | 6 | {% block content %} 7 | 8 |

    {% trans 'Page not found' %}

    9 | 10 |

    {% trans "We're sorry, but the requested page could not be found." %}

    11 | 12 | {% endblock %} 13 | -------------------------------------------------------------------------------- /xadmin/templates/xadmin/500.html: -------------------------------------------------------------------------------- 1 | {% extends base_template %} 2 | {% load i18n %} 3 | 4 | 5 | {% block breadcrumbs %} 6 | 10 | {% endblock %} 11 | 12 | {% block title %}{% trans 'Server error (500)' %}{% endblock %} 13 | 14 | {% block content %} 15 |

    {% trans 'Server Error (500)' %}

    16 |

    {% trans "There's been an error. It's been reported to the site administrators via e-mail and should be fixed shortly. Thanks for your patience." %}

    17 | 18 | {% endblock %} 19 | -------------------------------------------------------------------------------- /xadmin/templates/xadmin/auth/password_reset/complete.html: -------------------------------------------------------------------------------- 1 | {% extends base_template %} 2 | {% load i18n xadmin_tags %} 3 | 4 | {% load crispy_forms_tags %} 5 | 6 | {% block body %} 7 |
    8 | 9 |
    10 |
    11 | 12 |
    13 |
    14 |

    {% trans "Your password has been set. You may go ahead and log in now." %}

    15 |

    {% trans 'Log in' %}

    16 |
    17 |
    18 | 19 |
    20 | {% endblock %} -------------------------------------------------------------------------------- /xadmin/templates/xadmin/auth/password_reset/confirm.html: -------------------------------------------------------------------------------- 1 | {% extends base_template %} 2 | {% load i18n xadmin_tags %} 3 | 4 | {% load crispy_forms_tags %} 5 | 6 | {% block body %} 7 |
    8 | 9 |
    10 | {% if validlink %} 11 |
    12 | 13 |
    14 |
    15 |
    16 | {% csrf_token %} 17 |

    {% trans "Please enter your new password twice so we can verify you typed it in correctly." %}

    18 | {% crispy form %} 19 | 20 |
    21 |
    22 | {% else %} 23 |
    24 | 25 |
    26 |
    27 |

    {% trans "The password reset link was invalid, possibly because it has already been used. Please request a new password reset." %}

    28 |
    29 | {% endif %} 30 |
    31 | 32 |
    33 | {% endblock %} -------------------------------------------------------------------------------- /xadmin/templates/xadmin/auth/password_reset/done.html: -------------------------------------------------------------------------------- 1 | {% extends base_template %} 2 | {% load i18n xadmin_tags %} 3 | 4 | {% load crispy_forms_tags %} 5 | 6 | {% block body %} 7 |
    8 | 9 |
    10 |
    11 | 12 |
    13 |
    14 |

    {% trans "We've e-mailed you instructions for setting your password to the e-mail address you submitted. You should be receiving it shortly." %}

    15 |
    16 |
    17 | 18 |
    19 | {% endblock %} -------------------------------------------------------------------------------- /xadmin/templates/xadmin/auth/password_reset/email.html: -------------------------------------------------------------------------------- 1 | {% load i18n %}{% autoescape off %} 2 | {% blocktrans %}You're receiving this e-mail because you requested a password reset for your user account at {{ site_name }}.{% endblocktrans %} 3 | 4 | {% trans "Please go to the following page and choose a new password:" %} 5 | {% block reset_link %} 6 | {{ protocol }}://{{ domain }}{% url 'xadmin:xadmin_password_reset_confirm' uidb36=uid token=token %} 7 | {% endblock %} 8 | {% trans "Your username, in case you've forgotten:" %} {{ user.username }} 9 | 10 | {% trans "Thanks for using our site!" %} 11 | 12 | {% blocktrans %}The {{ site_name }} team{% endblocktrans %} 13 | 14 | {% endautoescape %} 15 | -------------------------------------------------------------------------------- /xadmin/templates/xadmin/auth/user/add_form.html: -------------------------------------------------------------------------------- 1 | {% extends "xadmin/views/model_form.html" %} 2 | {% load i18n %} 3 | 4 | {% block form_top %} 5 | {% if not is_popup %} 6 |

    {% trans "First, enter a username and password. Then, you'll be able to edit more user options." %}

    7 | {% else %} 8 |

    {% trans "Enter a username and password." %}

    9 | {% endif %} 10 | {% endblock %} 11 | 12 | {% block after_field_sets %} 13 | 14 | {% endblock %} 15 | -------------------------------------------------------------------------------- /xadmin/templates/xadmin/blocks/comm.top.setlang.html: -------------------------------------------------------------------------------- 1 | {% load i18n xadmin_tags %} 2 | 3 | 20 | 32 | -------------------------------------------------------------------------------- /xadmin/templates/xadmin/blocks/comm.top.theme.html: -------------------------------------------------------------------------------- 1 | {% load i18n xadmin_tags %} 2 | -------------------------------------------------------------------------------- /xadmin/templates/xadmin/blocks/comm.top.topnav.html: -------------------------------------------------------------------------------- 1 | {% load i18n xadmin_tags %} 2 | {% autoescape off %} 3 | {% if search_models %} 4 | 19 | {% endif %} 20 | {% if add_models %} 21 | 30 | {% endif %} 31 | {% endautoescape %} 32 | -------------------------------------------------------------------------------- /xadmin/templates/xadmin/blocks/modal_list.left_navbar.quickfilter.html: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /xadmin/templates/xadmin/blocks/model_form.before_fieldsets.wizard.html: -------------------------------------------------------------------------------- 1 | {% load i18n %} 2 | {{ wizard.management_form }} 3 | -------------------------------------------------------------------------------- /xadmin/templates/xadmin/blocks/model_form.submit_line.wizard.html: -------------------------------------------------------------------------------- 1 | {% load i18n %} 2 |
    3 | 10 | 11 |
    12 | {% if wizard.steps.last != wizard.steps.current %} 13 | 14 | {% else %} 15 | 16 | {% endif %} 17 |
    18 |
    19 |
    20 | 27 | 28 | {% if wizard.steps.last != wizard.steps.current %} 29 | 30 | {% else %} 31 | 32 | {% endif %} 33 |
    -------------------------------------------------------------------------------- /xadmin/templates/xadmin/blocks/model_list.nav_form.search_form.html: -------------------------------------------------------------------------------- 1 | {% load i18n %} 2 | {% if cl.search_fields %} 3 | 13 | {% endif %} -------------------------------------------------------------------------------- /xadmin/templates/xadmin/blocks/model_list.nav_menu.filters.html: -------------------------------------------------------------------------------- 1 | {% load i18n %} 2 | -------------------------------------------------------------------------------- /xadmin/templates/xadmin/blocks/model_list.results_top.charts.html: -------------------------------------------------------------------------------- 1 | {% extends "xadmin/includes/box.html" %} 2 | {% load i18n xadmin_tags %} 3 | {% block box_title %} 4 | {% trans "Charts" %} 5 | {% endblock box_title %} 6 | 7 | {% block box_content_class %}nopadding{% endblock box_content_class %} 8 | {% block box_content %} 9 | 14 |
    15 | {% for c in charts %} 16 |
    18 | {% endfor %} 19 |
    20 | {% endblock box_content %} 21 | -------------------------------------------------------------------------------- /xadmin/templates/xadmin/blocks/model_list.results_top.date_hierarchy.html: -------------------------------------------------------------------------------- 1 | {% if show %} 2 |
    3 |
    9 |
    10 | {% endif %} 11 | -------------------------------------------------------------------------------- /xadmin/templates/xadmin/blocks/model_list.top_toolbar.importexport.import.html: -------------------------------------------------------------------------------- 1 | {% load i18n %} 2 | -------------------------------------------------------------------------------- /xadmin/templates/xadmin/blocks/model_list.top_toolbar.layouts.html: -------------------------------------------------------------------------------- 1 | {% load i18n %} 2 |
    3 | 4 | {% trans "Layout" %} 5 | 6 | 12 |
    -------------------------------------------------------------------------------- /xadmin/templates/xadmin/blocks/model_list.top_toolbar.refresh.html: -------------------------------------------------------------------------------- 1 | {% load i18n %} 2 |
    3 | 4 | {% if has_refresh %} {{current_refresh}}{% endif %} 5 | 6 | 17 |
    -------------------------------------------------------------------------------- /xadmin/templates/xadmin/blocks/model_list.top_toolbar.saveorder.html: -------------------------------------------------------------------------------- 1 | {% load i18n %} 2 | 7 | -------------------------------------------------------------------------------- /xadmin/templates/xadmin/edit_inline/blank.html: -------------------------------------------------------------------------------- 1 | {% extends "xadmin/edit_inline/base.html" %} 2 | {% load i18n xadmin_tags crispy_forms_tags %} 3 | 4 | {% block box_content_class %}formset-content{% endblock box_content_class %} 5 | {% block box_content %}

    {% trans "Null" %}

    {% endblock box_content %} -------------------------------------------------------------------------------- /xadmin/templates/xadmin/edit_inline/one.html: -------------------------------------------------------------------------------- 1 | {% extends "xadmin/edit_inline/base.html" %} 2 | {% load i18n xadmin_tags crispy_forms_tags %} 3 | 4 | {% block box_title %}{{ formset.opts.verbose_name_plural|title }}{% endblock box_title %} 5 | {% block box_content %} 6 | {{ formset.formset.management_form }} 7 | {{ formset.formset.non_form_errors }} 8 | {% crispy formset.formset.0 formset.formset.helper %} 9 | {% endblock box_content %} -------------------------------------------------------------------------------- /xadmin/templates/xadmin/edit_inline/stacked.html: -------------------------------------------------------------------------------- 1 | {% extends "xadmin/edit_inline/base.html" %} 2 | {% load i18n xadmin_tags crispy_forms_tags %} 3 | 4 | {% block box_content_class %}{{ block.super }} panel-group{% endblock box_content_class %} 5 | 6 | {% block formset_form %} 7 |
    8 |
    9 | {% if formset.formset.can_delete %} 10 | 11 | {% endif %} 12 | {{ formset.opts.verbose_name|title }}: {% if fs.instance.pk %}{{ fs.instance }}{% else %}#{{ forloop.counter }}{% endif %} 13 |
    14 |
    15 | {% crispy fs formset.formset.helper %} 16 |
    17 |
    18 | {% endblock formset_form %} 19 | 20 | {% block formset_empty %} 21 |
    22 |
    23 | {% if formset.formset.can_delete %} 24 | 25 | {% endif %} 26 | {{ formset.opts.verbose_name|title }}: # 27 |
    28 |
    29 | {% crispy formset.formset.empty_form formset.formset.helper %} 30 |
    31 |
    32 | {% endblock formset_empty %} -------------------------------------------------------------------------------- /xadmin/templates/xadmin/filters/char.html: -------------------------------------------------------------------------------- 1 | {% load i18n %} 2 | -------------------------------------------------------------------------------- /xadmin/templates/xadmin/filters/checklist.html: -------------------------------------------------------------------------------- 1 | {% load i18n %} 2 | -------------------------------------------------------------------------------- /xadmin/templates/xadmin/filters/fk_search.html: -------------------------------------------------------------------------------- 1 | {% load i18n %} 2 | 32 | -------------------------------------------------------------------------------- /xadmin/templates/xadmin/filters/list.html: -------------------------------------------------------------------------------- 1 | {% load i18n %} 2 | -------------------------------------------------------------------------------- /xadmin/templates/xadmin/filters/quickfilter.html: -------------------------------------------------------------------------------- 1 | {% load i18n %} 2 | 3 | {% for choice in choices %} 4 |
  • 5 | 6 | 7 | {{ choice.display }} 8 | 9 |
  • 10 | {% endfor %} 11 | -------------------------------------------------------------------------------- /xadmin/templates/xadmin/filters/rel.html: -------------------------------------------------------------------------------- 1 | {% load i18n %} 2 | -------------------------------------------------------------------------------- /xadmin/templates/xadmin/import_export/export_action.html: -------------------------------------------------------------------------------- 1 | {% extends 'xadmin/base_site.html' %} 2 | {% load i18n %} 3 | {% load admin_urls %} 4 | {% load import_export_tags %} 5 | 6 | {% block breadcrumbs_last %} 7 | {% trans "Export" %} 8 | {% endblock %} 9 | {% load xadmin_tags %} 10 | 11 | {% block breadcrumbs %} 12 | 17 | {% endblock %} 18 | {% block nav_title %} 19 | {{title}} 20 | {% endblock %} 21 | 22 | {% block content %} 23 |
    24 | {% csrf_token %} 25 | 26 |
    27 | {% for field in form %} 28 |
    29 | {{ field.errors }} 30 | 31 | {{ field.label_tag }} 32 | 33 | {{ field }} 34 | 35 | {% if field.field.help_text %} 36 |

    {{ field.field.help_text|safe }}

    37 | {% endif %} 38 |
    39 | {% endfor %} 40 |
    41 | 42 |
    43 | 44 |
    45 |
    46 | {% endblock %} 47 | -------------------------------------------------------------------------------- /xadmin/templates/xadmin/includes/box.html: -------------------------------------------------------------------------------- 1 |
    2 |

    {% block box_title %}{% endblock box_title %}

    3 |
    4 | {% block box_content %}{% endblock box_content %} 5 |
    6 | {% block box_extra %}{% endblock box_extra %} 7 |
    8 | -------------------------------------------------------------------------------- /xadmin/templates/xadmin/includes/pagination.html: -------------------------------------------------------------------------------- 1 | {% load i18n %} 2 |
  • {{ cl.result_count }} {% ifequal cl.result_count 1 %}{{ cl.opts.verbose_name }}{% else %}{{ cl.opts.verbose_name_plural }}{% endifequal %}
  • 3 | {% if pagination_required %} 4 | {% for num in page_range %} 5 |
  • {{ num }}
  • 6 | {% endfor %} 7 | {% endif %} 8 | {% if show_all_url %} 9 |
  • {% trans 'Show all' %}
  • 10 | {% endif %} 11 | -------------------------------------------------------------------------------- /xadmin/templates/xadmin/includes/toggle_back.html: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /xadmin/templates/xadmin/includes/toggle_menu.html: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /xadmin/templates/xadmin/layout/field_value.html: -------------------------------------------------------------------------------- 1 |
    2 |
    {{ result.label|safe }}
    3 |
    4 |

    {{ result.val }}

    5 |
    6 |
    7 | -------------------------------------------------------------------------------- /xadmin/templates/xadmin/layout/field_value_td.html: -------------------------------------------------------------------------------- 1 | 2 | {{ result.val }} 3 | 4 | -------------------------------------------------------------------------------- /xadmin/templates/xadmin/layout/fieldset.html: -------------------------------------------------------------------------------- 1 | {% extends "xadmin/includes/box.html" %} 2 | {% block box_class %}fieldset{% if fieldset.css_class %} {{ fieldset.css_class }}{% endif %}{% endblock box_class %} 3 | {% block box_attrs %}{% if fieldset.css_id %}id="{{ fieldset.css_id }}"{% endif %} {{ fieldset.flat_attrs|safe }}{% endblock box_attrs %} 4 | {% block box_title %}{{ legend|safe }}{% if fieldset.description %} {{fieldset.description}}{% endif %}{% endblock box_title %} 5 | {% block box_content %} 6 | {{ fields|safe }} 7 | {% endblock box_content %} 8 | -------------------------------------------------------------------------------- /xadmin/templates/xadmin/layout/input_group.html: -------------------------------------------------------------------------------- 1 | {% load crispy_forms_field %} 2 | 3 | {% if field.is_hidden %} 4 | {{ field }} 5 | {% else %} 6 |
    7 | 8 | {% if field.label and form_show_labels %} 9 | 12 | {% endif %} 13 | 14 |
    15 |
    16 | {% for input in inputs %} 17 | {% if input == '@@' %} 18 | {% crispy_field field %} 19 | {% else %} 20 | {{input|safe}} 21 | {% endif %} 22 | {% endfor %} 23 |
    24 | 25 | {% include 'bootstrap3/layout/help_text_and_errors.html' %} 26 |
    27 |
    28 | {% endif %} 29 | 30 | -------------------------------------------------------------------------------- /xadmin/templates/xadmin/layout/td-field.html: -------------------------------------------------------------------------------- 1 | {% load crispy_forms_field %} 2 | 3 | {% if field.is_hidden %} 4 | {{ field }} 5 | {% else %} 6 | 7 | {% if field.is_readonly %} 8 |

    {{ field.contents }}

    9 | {% else %} 10 | {% crispy_field field %} 11 | {% if field.errors %} 12 | {% for error in field.errors %} 13 | {{ error }} 14 | {% endfor %} 15 | {% endif %} 16 | {% endif %} 17 | 18 | {% endif %} 19 | -------------------------------------------------------------------------------- /xadmin/templates/xadmin/views/app_index.html: -------------------------------------------------------------------------------- 1 | {% extends "xadmin/index.html" %} 2 | {% load i18n %} 3 | 4 | 5 | {% if not is_popup %} 6 | {% block breadcrumbs %} 7 | 17 | {% endblock %} 18 | {% endif %} 19 | 20 | {% block sidebar %}{% endblock %} 21 | -------------------------------------------------------------------------------- /xadmin/templates/xadmin/views/dashboard.html: -------------------------------------------------------------------------------- 1 | {% extends base_template %} 2 | {% load i18n xadmin_tags %} 3 | 4 | 5 | {% block bodyclass %}dashboard{% endblock %} 6 | {% block breadcrumbs %}{% endblock %} 7 | 8 | {% block nav_title %} 9 | {% if icon %}{%endif%} {{ title }} 10 | {% endblock %} 11 | 12 | {% block nav_toggles %} 13 | {% include "xadmin/includes/toggle_menu.html" %} 14 | {% if has_add_widget_permission %} 15 | 16 | 17 | {% endif %} 18 | {% endblock %} 19 | 20 | {% block nav_btns %} 21 | {% if has_add_widget_permission %} 22 | 23 | {% trans "Add Widget" %} 24 | {% endif %} 25 | {% endblock %} 26 | 27 | {% block content %} 28 |
    29 | {% for c in columns %} 30 |
    31 | {% for widget in c.1 %} 32 | {{ widget.widget|safe }} 33 | {% endfor %} 34 |
    35 | {% endfor %} 36 |
    37 | 38 | {% endblock %} 39 | -------------------------------------------------------------------------------- /xadmin/templates/xadmin/views/invalid_setup.html: -------------------------------------------------------------------------------- 1 | {% extends base_template %} 2 | {% load i18n %} 3 | 4 | 5 | {% block breadcrumbs %} 6 | 10 | {% endblock %} 11 | 12 | {% block content %} 13 |

    {% trans "Something's wrong with your database installation. Make sure the appropriate database tables have been created, and make sure the database is readable by the appropriate user." %}

    14 | {% endblock %} 15 | -------------------------------------------------------------------------------- /xadmin/templates/xadmin/views/logged_out.html: -------------------------------------------------------------------------------- 1 | {% extends base_template %} 2 | {% load i18n %} 3 | 4 | 5 | {% block extrastyle %}{{ block.super }} 6 | 9 | {% endblock %} 10 | 11 | {% block body %} 12 |
    13 | 14 |
    15 |
    16 |

    {% trans "Logout Success" %}

    17 |

    {% trans "Thanks for spending some quality time with the Web site today." %}

    18 |

    19 | {% trans 'Close Window' %} 20 | {% trans 'Log in again' %} 21 |

    22 |
    23 |
    24 | 25 |
    26 | 27 | {% endblock %} 28 | -------------------------------------------------------------------------------- /xadmin/templates/xadmin/views/model_dashboard.html: -------------------------------------------------------------------------------- 1 | {% extends 'xadmin/views/dashboard.html' %} 2 | {% load i18n xadmin_tags %} 3 | 4 | 5 | {% block breadcrumbs %} 6 | 15 | {% endblock %} 16 | 17 | {% block nav_toggles %} 18 | {% include "xadmin/includes/toggle_back.html" %} 19 | {% if has_change_permission %} 20 | 21 | {% endif %} 22 | {% endblock %} 23 | 24 | {% block nav_btns %} 25 | {% if has_change_permission %} 26 | {% trans "Edit" %} 27 | {% endif %} 28 | {% endblock %} -------------------------------------------------------------------------------- /xadmin/templates/xadmin/views/model_detail.html: -------------------------------------------------------------------------------- 1 | {% extends base_template %} 2 | {% load i18n %} 3 | 4 | {% load xadmin_tags %} 5 | {% load crispy_forms_tags %} 6 | 7 | {% block bodyclass %}{{ opts.app_label }}-{{ opts.object_name.lower }} detail{% endblock %} 8 | 9 | {% block nav_title %} 10 | {% if model_icon %} {% endif %}{{ object|truncatewords:"18" }} 11 | {% endblock %} 12 | 13 | {% block nav_toggles %} 14 | {% include "xadmin/includes/toggle_back.html" %} 15 | {% if has_change_permission %} 16 | 17 | {% endif %} 18 | {% if has_delete_permission %} 19 | 20 | {% endif %} 21 | {% endblock %} 22 | 23 | {% block nav_btns %} 24 | {% if has_change_permission %} 25 | {% trans "Edit" %} 26 | {% endif %} 27 | {% if has_delete_permission %} 28 | {% trans "Delete" %} 29 | {% endif %} 30 | {% endblock %} 31 | 32 | {% block content %} 33 | {% view_block 'before_fieldsets' %} 34 | {% crispy form %} 35 | {% view_block 'after_fieldsets' %} 36 | {% endblock %} 37 | -------------------------------------------------------------------------------- /xadmin/templates/xadmin/views/model_form.html: -------------------------------------------------------------------------------- 1 | {% extends base_template %} 2 | {% load i18n %} 3 | 4 | {% load xadmin_tags %} 5 | {% load crispy_forms_tags %} 6 | 7 | {% block bodyclass %}{{ opts.app_label }}-{{ opts.object_name.lower }} change-form{% endblock %} 8 | 9 | {% block nav_title %}{% if model_icon %} {% endif %} 10 | {{ title }}{% endblock %} 11 | 12 | {% block content %} 13 |
    {% csrf_token %} 14 | {% block form_top %}{% endblock %} 15 | {% view_block 'form_top' %} 16 | 17 | {% if errors %} 18 |
    19 | 20 | {% blocktrans count counter=errors|length %}Please correct the error below.{% plural %}Please correct the errors below.{% endblocktrans %} 21 |
    22 | {% endif %} 23 | 24 | {% view_block 'before_fieldsets' %} 25 | 26 | {% crispy form %} 27 | 28 | {% view_block 'after_fieldsets' %} 29 | 30 | {% block submit_buttons_bottom %}{% include "xadmin/includes/submit_line.html" %}{% endblock %} 31 |
    32 | {% endblock %} 33 | -------------------------------------------------------------------------------- /xadmin/templates/xadmin/views/quick_detail.html: -------------------------------------------------------------------------------- 1 | {% load i18n %} 2 | {% load xadmin_tags %} 3 | {% load crispy_forms_tags %} 4 | {% crispy form %} -------------------------------------------------------------------------------- /xadmin/templates/xadmin/views/quick_form.html: -------------------------------------------------------------------------------- 1 | {% load i18n %} 2 | {% load xadmin_tags %} 3 | {% load crispy_forms_tags %} 4 |
    {% csrf_token %} 5 | {% crispy form %} 6 |
    7 | {{ media.css }} 8 | {{ media.js }} -------------------------------------------------------------------------------- /xadmin/templates/xadmin/views/recover_form.html: -------------------------------------------------------------------------------- 1 | {% extends "xadmin/views/model_form.html" %} 2 | {% load i18n %} 3 | 4 | {% load xadmin_tags %} 5 | 6 | {% block breadcrumbs %} 7 | 17 | {% endblock %} 18 | 19 | {% block content %} 20 |
    {% blocktrans %}Press the recover button below to recover this version of the object.{% endblocktrans %}
    21 | {{block.super}} 22 | {% endblock %} 23 | 24 | {% block submit_buttons_bottom %} 25 |
    26 | 27 |
    28 | {% endblock %} -------------------------------------------------------------------------------- /xadmin/templates/xadmin/views/revision_form.html: -------------------------------------------------------------------------------- 1 | {% extends "xadmin/views/model_form.html" %} 2 | {% load i18n %} 3 | 4 | {% load xadmin_tags %} 5 | 6 | {% block breadcrumbs %} 7 | 18 | {% endblock %} 19 | 20 | {% block content %} 21 |
    {% blocktrans %}Press the revert button below to revert to this version of the object.{% endblocktrans %}
    22 | {{block.super}} 23 | {% endblock %} 24 | 25 | {% block submit_buttons_bottom %} 26 |
    27 | 28 |
    29 | {% endblock %} -------------------------------------------------------------------------------- /xadmin/templates/xadmin/widgets/addform.html: -------------------------------------------------------------------------------- 1 | {% extends "xadmin/widgets/base.html" %} 2 | {% load i18n xadmin_tags %} 3 | {% load crispy_forms_tags %} 4 | 5 | {% block box_class %}{{block.super}} form-horizontal short_label fieldset{% endblock box_class %} 6 | 7 | {% block content %} 8 |
    {% csrf_token %} 9 | {% crispy addform addhelper %} 10 |
    11 |
    12 | 16 | 19 |
    20 |
    21 |
    22 | {% endblock content %} -------------------------------------------------------------------------------- /xadmin/templates/xadmin/widgets/chart.html: -------------------------------------------------------------------------------- 1 | {% extends "xadmin/widgets/base.html" %} 2 | {% load i18n xadmin_tags %} 3 | 4 | {% block content_css %}tabs{% endblock content_css %} 5 | {% block content %} 6 | {% if not widget.one_chart %} 7 | 12 | {% endif %} 13 |
    14 | {% for c in charts %} 15 |
    17 | {% endfor %} 18 |
    19 | {% endblock content %} -------------------------------------------------------------------------------- /xadmin/templates/xadmin/widgets/list.html: -------------------------------------------------------------------------------- 1 | {% extends "xadmin/widgets/base.html" %} 2 | {% load i18n xadmin_tags %} 3 | 4 | {% block title %} 5 | {{ result_count }} 6 | {{ block.super }} 7 | {% endblock title %} 8 | 9 | {% block box_content_class %}{% if results %}nopadding x-scroll{% endif %}{% endblock box_content_class %} 10 | 11 | {% block content %} 12 | {% if results %} 13 | 14 | 15 | 16 | {% for o in result_headers %} 17 | 18 | {% endfor %} 19 | 20 | 21 | 22 | {% for row in results %} 23 | {% for o in row %} 24 | 27 | {% endfor %} 28 | 29 | {% endfor %} 30 | 31 |
    {{ o.text }}
    25 | {{ o.label }} 26 |
    32 | {% else %} 33 | {% trans "Empty list" %} 34 | {% endif %} 35 | {% endblock content %} -------------------------------------------------------------------------------- /xadmin/templates/xadmin/widgets/qbutton.html: -------------------------------------------------------------------------------- 1 | {% extends "xadmin/widgets/base.html" %} 2 | {% load i18n xadmin_tags %} 3 | 4 | {% block content %} 5 |
    6 | {% for btn in btns %} 7 | 13 | {% endfor %} 14 |
    15 | {% endblock content %} 16 | -------------------------------------------------------------------------------- /xadmin/templatetags/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vip68/xadmin_bugfix/eef25fdeec8f1424eebbb8ed0df1b486733c18a6/xadmin/templatetags/__init__.py --------------------------------------------------------------------------------