├── .gitignore ├── .pre-commit-config.yaml ├── CHANGELOG ├── LICENSE ├── MANIFEST.in ├── README.rst ├── _codenerix ├── codenerix ├── __init__.py ├── apps.py ├── authbackend.py ├── constants.py ├── context.py ├── contrib │ ├── __init__.py │ └── haystack_engines.py ├── debug.py ├── decorators.py ├── djng │ ├── __init__.py │ ├── angular_base.py │ ├── angular_model.py │ ├── angular_validation.py │ ├── field_mixins.py │ └── widgets.py ├── exceptions.py ├── fields.py ├── forms.py ├── helpers.py ├── lib │ ├── __init__.py │ ├── colors.py │ ├── debugger.py │ ├── genmail.py │ ├── helpers.py │ └── pylock.py ├── locale │ ├── en │ │ └── LC_MESSAGES │ │ │ └── django.po │ └── es │ │ └── LC_MESSAGES │ │ ├── django.mo │ │ └── django.po ├── management │ ├── __init__.py │ └── commands │ │ ├── __init__.py │ │ ├── clean.py │ │ ├── clean_caches.py │ │ ├── colors.py │ │ ├── locales.py │ │ ├── refresh_permissions.py │ │ └── touch.py ├── middleware.py ├── migrations │ ├── 0001_initial.py │ ├── 0002_auto_20160808_0843.py │ ├── 0003_auto_20160817_1235.py │ ├── 0004_auto_20160824_0757.py │ ├── 0005_auto_20160824_1332.py │ ├── 0006_auto_20160825_0838.py │ ├── 0007_corporateimage.py │ ├── 0008_auto_20170119_1526.py │ ├── 0009_delete_corporateimage.py │ ├── 0010_corporateimage.py │ ├── 0011_delete_corporateimage.py │ ├── 0012_auto_20170405_0815.py │ ├── 0013_auto_20170410_1429.py │ ├── 0014_auto_20170418_1011.py │ ├── 0015_auto_20170418_1515.py │ ├── 0016_auto_20170419_1533.py │ ├── 0017_auto_20170428_0850.py │ ├── 0018_log_snapshot_txt.py │ ├── 0019_auto_20170725_1822.py │ ├── 0020_remotelog.py │ ├── 0021_auto_20171218_1039.py │ ├── 0022_alter_log_options.py │ ├── 0023_alter_log_content_type_alter_log_user_and_more.py │ └── __init__.py ├── mixins.py ├── models.py ├── models_people.py ├── multi_email_field │ ├── __init__.py │ ├── fields.py │ ├── forms.py │ ├── models.py │ ├── tests │ │ ├── __init__.py │ │ ├── models.py │ │ └── tests.py │ └── widgets.py ├── multiforms.py ├── static │ ├── codenerix │ │ ├── css │ │ │ ├── base.css │ │ │ └── lists.css │ │ ├── img │ │ │ ├── check_green.png │ │ │ ├── codenerix.png │ │ │ ├── codenerix_small.png │ │ │ ├── false.png │ │ │ ├── ko_red.png │ │ │ ├── loader.gif │ │ │ ├── ok.gif │ │ │ ├── true.png │ │ │ └── warning.gif │ │ ├── js │ │ │ ├── app.js │ │ │ ├── base.js │ │ │ ├── codenerix.js │ │ │ ├── controllers.js │ │ │ ├── filters.js │ │ │ ├── inotify.js │ │ │ ├── notify.js │ │ │ └── rows.js │ │ ├── lib │ │ │ ├── angular-base64-upload.README.md │ │ │ ├── angular-base64-upload.js │ │ │ ├── angular-bootstrap-colorpicker │ │ │ │ ├── MIT-LICENSE.txt │ │ │ │ ├── css │ │ │ │ │ └── colorpicker.css │ │ │ │ ├── img │ │ │ │ │ ├── alpha.png │ │ │ │ │ ├── hue.png │ │ │ │ │ └── saturation.png │ │ │ │ └── js │ │ │ │ │ └── bootstrap-colorpicker-module.js │ │ │ ├── angular-bootstrap-switch │ │ │ │ ├── angular-bootstrap-switch.js │ │ │ │ └── angular-bootstrap-switch.min.js │ │ │ ├── angular-bootstrap-tabcollapse.js │ │ │ ├── angular-checklist-model.js │ │ │ ├── angular-daterangepicker │ │ │ │ ├── LICENSE.md │ │ │ │ ├── angular-daterangepicker.js │ │ │ │ ├── angular-daterangepicker.min.js │ │ │ │ ├── angular-daterangepicker.min.map │ │ │ │ ├── daterangepicker-bs3.css │ │ │ │ └── daterangepicker.js │ │ │ ├── angular-hotkeys │ │ │ │ ├── hotkeys.css │ │ │ │ ├── hotkeys.js │ │ │ │ ├── hotkeys.min.css │ │ │ │ └── hotkeys.min.js │ │ │ ├── angular-loading-bar │ │ │ │ ├── 0.5.0 │ │ │ │ ├── loading-bar.css │ │ │ │ ├── loading-bar.js │ │ │ │ ├── loading-bar.min.css │ │ │ │ └── loading-bar.min.js │ │ │ ├── angular-material │ │ │ │ ├── 1.0.9 │ │ │ │ ├── angular-material.css │ │ │ │ ├── angular-material.js │ │ │ │ ├── angular-material.min.css │ │ │ │ └── angular-material.min.js │ │ │ ├── angular-qr │ │ │ │ ├── angular-qr.js │ │ │ │ ├── angular-qr.min.js │ │ │ │ ├── qrcode.js │ │ │ │ └── qrcode.min.js │ │ │ ├── angular-quill │ │ │ │ ├── LICENSE │ │ │ │ ├── ng-quill.js │ │ │ │ ├── ng-quill.min.js │ │ │ │ ├── quill.bubble.css │ │ │ │ ├── quill.core.css │ │ │ │ ├── quill.core.js │ │ │ │ ├── quill.js │ │ │ │ ├── quill.min.js │ │ │ │ └── quill.snow.css │ │ │ ├── angular-recaptcha │ │ │ │ ├── LICENSE │ │ │ │ ├── angular-recaptcha.js │ │ │ │ └── angular-recaptcha.min.js │ │ │ ├── angular-ui │ │ │ │ ├── angular-ui-router.js │ │ │ │ ├── angular-ui-router.min.js │ │ │ │ ├── datetimepicker.js │ │ │ │ ├── select.css │ │ │ │ ├── select.js │ │ │ │ ├── select.min.css │ │ │ │ ├── select.min.js │ │ │ │ ├── ui-bootstrap-tpls.js │ │ │ │ ├── ui-bootstrap-tpls.min.js │ │ │ │ ├── ui-bootstrap.js │ │ │ │ ├── ui-bootstrap.min.js │ │ │ │ ├── ui-utils.js │ │ │ │ └── ui-utils.min.js │ │ │ ├── angular │ │ │ │ ├── 1.5.7 │ │ │ │ ├── angular-animate.js │ │ │ │ ├── angular-animate.min.js │ │ │ │ ├── angular-animate.min.js.map │ │ │ │ ├── angular-aria.js │ │ │ │ ├── angular-aria.min.js │ │ │ │ ├── angular-aria.min.js.map │ │ │ │ ├── angular-cookies.js │ │ │ │ ├── angular-cookies.min.js │ │ │ │ ├── angular-cookies.min.js.map │ │ │ │ ├── angular-csp.css │ │ │ │ ├── angular-loader.js │ │ │ │ ├── angular-loader.min.js │ │ │ │ ├── angular-loader.min.js.map │ │ │ │ ├── angular-message-format.js │ │ │ │ ├── angular-message-format.min.js │ │ │ │ ├── angular-message-format.min.js.map │ │ │ │ ├── angular-messages.js │ │ │ │ ├── angular-messages.min.js │ │ │ │ ├── angular-messages.min.js.map │ │ │ │ ├── angular-mocks.js │ │ │ │ ├── angular-parse-ext.js │ │ │ │ ├── angular-parse-ext.min.js │ │ │ │ ├── angular-parse-ext.min.js.map │ │ │ │ ├── angular-resource.js │ │ │ │ ├── angular-resource.min.js │ │ │ │ ├── angular-resource.min.js.map │ │ │ │ ├── angular-route.js │ │ │ │ ├── angular-route.min.js │ │ │ │ ├── angular-route.min.js.map │ │ │ │ ├── angular-sanitize.js │ │ │ │ ├── angular-sanitize.min.js │ │ │ │ ├── angular-sanitize.min.js.map │ │ │ │ ├── angular-scenario.js │ │ │ │ ├── angular-touch.js │ │ │ │ ├── angular-touch.min.js │ │ │ │ ├── angular-touch.min.js.map │ │ │ │ ├── angular.js │ │ │ │ ├── angular.min.js │ │ │ │ ├── angular.min.js.map │ │ │ │ ├── errors.json │ │ │ │ ├── i18n │ │ │ │ │ ├── angular-locale_aa-dj.js │ │ │ │ │ ├── angular-locale_aa-er.js │ │ │ │ │ ├── angular-locale_aa-et.js │ │ │ │ │ ├── angular-locale_aa.js │ │ │ │ │ ├── angular-locale_af-na.js │ │ │ │ │ ├── angular-locale_af-za.js │ │ │ │ │ ├── angular-locale_af.js │ │ │ │ │ ├── angular-locale_agq-cm.js │ │ │ │ │ ├── angular-locale_agq.js │ │ │ │ │ ├── angular-locale_ak-gh.js │ │ │ │ │ ├── angular-locale_ak.js │ │ │ │ │ ├── angular-locale_am-et.js │ │ │ │ │ ├── angular-locale_am.js │ │ │ │ │ ├── angular-locale_ar-001.js │ │ │ │ │ ├── angular-locale_ar-ae.js │ │ │ │ │ ├── angular-locale_ar-bh.js │ │ │ │ │ ├── angular-locale_ar-dj.js │ │ │ │ │ ├── angular-locale_ar-dz.js │ │ │ │ │ ├── angular-locale_ar-eg.js │ │ │ │ │ ├── angular-locale_ar-eh.js │ │ │ │ │ ├── angular-locale_ar-er.js │ │ │ │ │ ├── angular-locale_ar-il.js │ │ │ │ │ ├── angular-locale_ar-iq.js │ │ │ │ │ ├── angular-locale_ar-jo.js │ │ │ │ │ ├── angular-locale_ar-km.js │ │ │ │ │ ├── angular-locale_ar-kw.js │ │ │ │ │ ├── angular-locale_ar-lb.js │ │ │ │ │ ├── angular-locale_ar-ly.js │ │ │ │ │ ├── angular-locale_ar-ma.js │ │ │ │ │ ├── angular-locale_ar-mr.js │ │ │ │ │ ├── angular-locale_ar-om.js │ │ │ │ │ ├── angular-locale_ar-ps.js │ │ │ │ │ ├── angular-locale_ar-qa.js │ │ │ │ │ ├── angular-locale_ar-sa.js │ │ │ │ │ ├── angular-locale_ar-sd.js │ │ │ │ │ ├── angular-locale_ar-so.js │ │ │ │ │ ├── angular-locale_ar-ss.js │ │ │ │ │ ├── angular-locale_ar-sy.js │ │ │ │ │ ├── angular-locale_ar-td.js │ │ │ │ │ ├── angular-locale_ar-tn.js │ │ │ │ │ ├── angular-locale_ar-ye.js │ │ │ │ │ ├── angular-locale_ar.js │ │ │ │ │ ├── angular-locale_as-in.js │ │ │ │ │ ├── angular-locale_as.js │ │ │ │ │ ├── angular-locale_asa-tz.js │ │ │ │ │ ├── angular-locale_asa.js │ │ │ │ │ ├── angular-locale_ast-es.js │ │ │ │ │ ├── angular-locale_ast.js │ │ │ │ │ ├── angular-locale_az-cyrl-az.js │ │ │ │ │ ├── angular-locale_az-cyrl.js │ │ │ │ │ ├── angular-locale_az-latn-az.js │ │ │ │ │ ├── angular-locale_az-latn.js │ │ │ │ │ ├── angular-locale_az.js │ │ │ │ │ ├── angular-locale_bas-cm.js │ │ │ │ │ ├── angular-locale_bas.js │ │ │ │ │ ├── angular-locale_be-by.js │ │ │ │ │ ├── angular-locale_be.js │ │ │ │ │ ├── angular-locale_bem-zm.js │ │ │ │ │ ├── angular-locale_bem.js │ │ │ │ │ ├── angular-locale_bez-tz.js │ │ │ │ │ ├── angular-locale_bez.js │ │ │ │ │ ├── angular-locale_bg-bg.js │ │ │ │ │ ├── angular-locale_bg.js │ │ │ │ │ ├── angular-locale_bm-latn-ml.js │ │ │ │ │ ├── angular-locale_bm-latn.js │ │ │ │ │ ├── angular-locale_bm-ml.js │ │ │ │ │ ├── angular-locale_bm.js │ │ │ │ │ ├── angular-locale_bn-bd.js │ │ │ │ │ ├── angular-locale_bn-in.js │ │ │ │ │ ├── angular-locale_bn.js │ │ │ │ │ ├── angular-locale_bo-cn.js │ │ │ │ │ ├── angular-locale_bo-in.js │ │ │ │ │ ├── angular-locale_bo.js │ │ │ │ │ ├── angular-locale_br-fr.js │ │ │ │ │ ├── angular-locale_br.js │ │ │ │ │ ├── angular-locale_brx-in.js │ │ │ │ │ ├── angular-locale_brx.js │ │ │ │ │ ├── angular-locale_bs-cyrl-ba.js │ │ │ │ │ ├── angular-locale_bs-cyrl.js │ │ │ │ │ ├── angular-locale_bs-latn-ba.js │ │ │ │ │ ├── angular-locale_bs-latn.js │ │ │ │ │ ├── angular-locale_bs.js │ │ │ │ │ ├── angular-locale_byn-er.js │ │ │ │ │ ├── angular-locale_byn.js │ │ │ │ │ ├── angular-locale_ca-ad.js │ │ │ │ │ ├── angular-locale_ca-es-valencia.js │ │ │ │ │ ├── angular-locale_ca-es.js │ │ │ │ │ ├── angular-locale_ca-fr.js │ │ │ │ │ ├── angular-locale_ca-it.js │ │ │ │ │ ├── angular-locale_ca.js │ │ │ │ │ ├── angular-locale_cgg-ug.js │ │ │ │ │ ├── angular-locale_cgg.js │ │ │ │ │ ├── angular-locale_chr-us.js │ │ │ │ │ ├── angular-locale_chr.js │ │ │ │ │ ├── angular-locale_ckb-arab-iq.js │ │ │ │ │ ├── angular-locale_ckb-arab-ir.js │ │ │ │ │ ├── angular-locale_ckb-arab.js │ │ │ │ │ ├── angular-locale_ckb-iq.js │ │ │ │ │ ├── angular-locale_ckb-ir.js │ │ │ │ │ ├── angular-locale_ckb-latn-iq.js │ │ │ │ │ ├── angular-locale_ckb-latn.js │ │ │ │ │ ├── angular-locale_ckb.js │ │ │ │ │ ├── angular-locale_cs-cz.js │ │ │ │ │ ├── angular-locale_cs.js │ │ │ │ │ ├── angular-locale_cy-gb.js │ │ │ │ │ ├── angular-locale_cy.js │ │ │ │ │ ├── angular-locale_da-dk.js │ │ │ │ │ ├── angular-locale_da-gl.js │ │ │ │ │ ├── angular-locale_da.js │ │ │ │ │ ├── angular-locale_dav-ke.js │ │ │ │ │ ├── angular-locale_dav.js │ │ │ │ │ ├── angular-locale_de-at.js │ │ │ │ │ ├── angular-locale_de-be.js │ │ │ │ │ ├── angular-locale_de-ch.js │ │ │ │ │ ├── angular-locale_de-de.js │ │ │ │ │ ├── angular-locale_de-li.js │ │ │ │ │ ├── angular-locale_de-lu.js │ │ │ │ │ ├── angular-locale_de.js │ │ │ │ │ ├── angular-locale_dje-ne.js │ │ │ │ │ ├── angular-locale_dje.js │ │ │ │ │ ├── angular-locale_dsb-de.js │ │ │ │ │ ├── angular-locale_dsb.js │ │ │ │ │ ├── angular-locale_dua-cm.js │ │ │ │ │ ├── angular-locale_dua.js │ │ │ │ │ ├── angular-locale_dyo-sn.js │ │ │ │ │ ├── angular-locale_dyo.js │ │ │ │ │ ├── angular-locale_dz-bt.js │ │ │ │ │ ├── angular-locale_dz.js │ │ │ │ │ ├── angular-locale_ebu-ke.js │ │ │ │ │ ├── angular-locale_ebu.js │ │ │ │ │ ├── angular-locale_ee-gh.js │ │ │ │ │ ├── angular-locale_ee-tg.js │ │ │ │ │ ├── angular-locale_ee.js │ │ │ │ │ ├── angular-locale_el-cy.js │ │ │ │ │ ├── angular-locale_el-gr.js │ │ │ │ │ ├── angular-locale_el.js │ │ │ │ │ ├── angular-locale_en-001.js │ │ │ │ │ ├── angular-locale_en-150.js │ │ │ │ │ ├── angular-locale_en-ag.js │ │ │ │ │ ├── angular-locale_en-ai.js │ │ │ │ │ ├── angular-locale_en-as.js │ │ │ │ │ ├── angular-locale_en-au.js │ │ │ │ │ ├── angular-locale_en-bb.js │ │ │ │ │ ├── angular-locale_en-be.js │ │ │ │ │ ├── angular-locale_en-bm.js │ │ │ │ │ ├── angular-locale_en-bs.js │ │ │ │ │ ├── angular-locale_en-bw.js │ │ │ │ │ ├── angular-locale_en-bz.js │ │ │ │ │ ├── angular-locale_en-ca.js │ │ │ │ │ ├── angular-locale_en-cc.js │ │ │ │ │ ├── angular-locale_en-ck.js │ │ │ │ │ ├── angular-locale_en-cm.js │ │ │ │ │ ├── angular-locale_en-cx.js │ │ │ │ │ ├── angular-locale_en-dg.js │ │ │ │ │ ├── angular-locale_en-dm.js │ │ │ │ │ ├── angular-locale_en-er.js │ │ │ │ │ ├── angular-locale_en-fj.js │ │ │ │ │ ├── angular-locale_en-fk.js │ │ │ │ │ ├── angular-locale_en-fm.js │ │ │ │ │ ├── angular-locale_en-gb.js │ │ │ │ │ ├── angular-locale_en-gd.js │ │ │ │ │ ├── angular-locale_en-gg.js │ │ │ │ │ ├── angular-locale_en-gh.js │ │ │ │ │ ├── angular-locale_en-gi.js │ │ │ │ │ ├── angular-locale_en-gm.js │ │ │ │ │ ├── angular-locale_en-gu.js │ │ │ │ │ ├── angular-locale_en-gy.js │ │ │ │ │ ├── angular-locale_en-hk.js │ │ │ │ │ ├── angular-locale_en-ie.js │ │ │ │ │ ├── angular-locale_en-im.js │ │ │ │ │ ├── angular-locale_en-in.js │ │ │ │ │ ├── angular-locale_en-io.js │ │ │ │ │ ├── angular-locale_en-iso.js │ │ │ │ │ ├── angular-locale_en-je.js │ │ │ │ │ ├── angular-locale_en-jm.js │ │ │ │ │ ├── angular-locale_en-ke.js │ │ │ │ │ ├── angular-locale_en-ki.js │ │ │ │ │ ├── angular-locale_en-kn.js │ │ │ │ │ ├── angular-locale_en-ky.js │ │ │ │ │ ├── angular-locale_en-lc.js │ │ │ │ │ ├── angular-locale_en-lr.js │ │ │ │ │ ├── angular-locale_en-ls.js │ │ │ │ │ ├── angular-locale_en-mg.js │ │ │ │ │ ├── angular-locale_en-mh.js │ │ │ │ │ ├── angular-locale_en-mo.js │ │ │ │ │ ├── angular-locale_en-mp.js │ │ │ │ │ ├── angular-locale_en-ms.js │ │ │ │ │ ├── angular-locale_en-mt.js │ │ │ │ │ ├── angular-locale_en-mu.js │ │ │ │ │ ├── angular-locale_en-mw.js │ │ │ │ │ ├── angular-locale_en-my.js │ │ │ │ │ ├── angular-locale_en-na.js │ │ │ │ │ ├── angular-locale_en-nf.js │ │ │ │ │ ├── angular-locale_en-ng.js │ │ │ │ │ ├── angular-locale_en-nr.js │ │ │ │ │ ├── angular-locale_en-nu.js │ │ │ │ │ ├── angular-locale_en-nz.js │ │ │ │ │ ├── angular-locale_en-pg.js │ │ │ │ │ ├── angular-locale_en-ph.js │ │ │ │ │ ├── angular-locale_en-pk.js │ │ │ │ │ ├── angular-locale_en-pn.js │ │ │ │ │ ├── angular-locale_en-pr.js │ │ │ │ │ ├── angular-locale_en-pw.js │ │ │ │ │ ├── angular-locale_en-rw.js │ │ │ │ │ ├── angular-locale_en-sb.js │ │ │ │ │ ├── angular-locale_en-sc.js │ │ │ │ │ ├── angular-locale_en-sd.js │ │ │ │ │ ├── angular-locale_en-sg.js │ │ │ │ │ ├── angular-locale_en-sh.js │ │ │ │ │ ├── angular-locale_en-sl.js │ │ │ │ │ ├── angular-locale_en-ss.js │ │ │ │ │ ├── angular-locale_en-sx.js │ │ │ │ │ ├── angular-locale_en-sz.js │ │ │ │ │ ├── angular-locale_en-tc.js │ │ │ │ │ ├── angular-locale_en-tk.js │ │ │ │ │ ├── angular-locale_en-to.js │ │ │ │ │ ├── angular-locale_en-tt.js │ │ │ │ │ ├── angular-locale_en-tv.js │ │ │ │ │ ├── angular-locale_en-tz.js │ │ │ │ │ ├── angular-locale_en-ug.js │ │ │ │ │ ├── angular-locale_en-um.js │ │ │ │ │ ├── angular-locale_en-us.js │ │ │ │ │ ├── angular-locale_en-vc.js │ │ │ │ │ ├── angular-locale_en-vg.js │ │ │ │ │ ├── angular-locale_en-vi.js │ │ │ │ │ ├── angular-locale_en-vu.js │ │ │ │ │ ├── angular-locale_en-ws.js │ │ │ │ │ ├── angular-locale_en-za.js │ │ │ │ │ ├── angular-locale_en-zm.js │ │ │ │ │ ├── angular-locale_en-zw.js │ │ │ │ │ ├── angular-locale_en.js │ │ │ │ │ ├── angular-locale_eo-001.js │ │ │ │ │ ├── angular-locale_eo.js │ │ │ │ │ ├── angular-locale_es-419.js │ │ │ │ │ ├── angular-locale_es-ar.js │ │ │ │ │ ├── angular-locale_es-bo.js │ │ │ │ │ ├── angular-locale_es-cl.js │ │ │ │ │ ├── angular-locale_es-co.js │ │ │ │ │ ├── angular-locale_es-cr.js │ │ │ │ │ ├── angular-locale_es-cu.js │ │ │ │ │ ├── angular-locale_es-do.js │ │ │ │ │ ├── angular-locale_es-ea.js │ │ │ │ │ ├── angular-locale_es-ec.js │ │ │ │ │ ├── angular-locale_es-es.js │ │ │ │ │ ├── angular-locale_es-gq.js │ │ │ │ │ ├── angular-locale_es-gt.js │ │ │ │ │ ├── angular-locale_es-hn.js │ │ │ │ │ ├── angular-locale_es-ic.js │ │ │ │ │ ├── angular-locale_es-mx.js │ │ │ │ │ ├── angular-locale_es-ni.js │ │ │ │ │ ├── angular-locale_es-pa.js │ │ │ │ │ ├── angular-locale_es-pe.js │ │ │ │ │ ├── angular-locale_es-ph.js │ │ │ │ │ ├── angular-locale_es-pr.js │ │ │ │ │ ├── angular-locale_es-py.js │ │ │ │ │ ├── angular-locale_es-sv.js │ │ │ │ │ ├── angular-locale_es-us.js │ │ │ │ │ ├── angular-locale_es-uy.js │ │ │ │ │ ├── angular-locale_es-ve.js │ │ │ │ │ ├── angular-locale_es.js │ │ │ │ │ ├── angular-locale_et-ee.js │ │ │ │ │ ├── angular-locale_et.js │ │ │ │ │ ├── angular-locale_eu-es.js │ │ │ │ │ ├── angular-locale_eu.js │ │ │ │ │ ├── angular-locale_ewo-cm.js │ │ │ │ │ ├── angular-locale_ewo.js │ │ │ │ │ ├── angular-locale_fa-af.js │ │ │ │ │ ├── angular-locale_fa-ir.js │ │ │ │ │ ├── angular-locale_fa.js │ │ │ │ │ ├── angular-locale_ff-cm.js │ │ │ │ │ ├── angular-locale_ff-gn.js │ │ │ │ │ ├── angular-locale_ff-mr.js │ │ │ │ │ ├── angular-locale_ff-sn.js │ │ │ │ │ ├── angular-locale_ff.js │ │ │ │ │ ├── angular-locale_fi-fi.js │ │ │ │ │ ├── angular-locale_fi.js │ │ │ │ │ ├── angular-locale_fil-ph.js │ │ │ │ │ ├── angular-locale_fil.js │ │ │ │ │ ├── angular-locale_fo-fo.js │ │ │ │ │ ├── angular-locale_fo.js │ │ │ │ │ ├── angular-locale_fr-be.js │ │ │ │ │ ├── angular-locale_fr-bf.js │ │ │ │ │ ├── angular-locale_fr-bi.js │ │ │ │ │ ├── angular-locale_fr-bj.js │ │ │ │ │ ├── angular-locale_fr-bl.js │ │ │ │ │ ├── angular-locale_fr-ca.js │ │ │ │ │ ├── angular-locale_fr-cd.js │ │ │ │ │ ├── angular-locale_fr-cf.js │ │ │ │ │ ├── angular-locale_fr-cg.js │ │ │ │ │ ├── angular-locale_fr-ch.js │ │ │ │ │ ├── angular-locale_fr-ci.js │ │ │ │ │ ├── angular-locale_fr-cm.js │ │ │ │ │ ├── angular-locale_fr-dj.js │ │ │ │ │ ├── angular-locale_fr-dz.js │ │ │ │ │ ├── angular-locale_fr-fr.js │ │ │ │ │ ├── angular-locale_fr-ga.js │ │ │ │ │ ├── angular-locale_fr-gf.js │ │ │ │ │ ├── angular-locale_fr-gn.js │ │ │ │ │ ├── angular-locale_fr-gp.js │ │ │ │ │ ├── angular-locale_fr-gq.js │ │ │ │ │ ├── angular-locale_fr-ht.js │ │ │ │ │ ├── angular-locale_fr-km.js │ │ │ │ │ ├── angular-locale_fr-lu.js │ │ │ │ │ ├── angular-locale_fr-ma.js │ │ │ │ │ ├── angular-locale_fr-mc.js │ │ │ │ │ ├── angular-locale_fr-mf.js │ │ │ │ │ ├── angular-locale_fr-mg.js │ │ │ │ │ ├── angular-locale_fr-ml.js │ │ │ │ │ ├── angular-locale_fr-mq.js │ │ │ │ │ ├── angular-locale_fr-mr.js │ │ │ │ │ ├── angular-locale_fr-mu.js │ │ │ │ │ ├── angular-locale_fr-nc.js │ │ │ │ │ ├── angular-locale_fr-ne.js │ │ │ │ │ ├── angular-locale_fr-pf.js │ │ │ │ │ ├── angular-locale_fr-pm.js │ │ │ │ │ ├── angular-locale_fr-re.js │ │ │ │ │ ├── angular-locale_fr-rw.js │ │ │ │ │ ├── angular-locale_fr-sc.js │ │ │ │ │ ├── angular-locale_fr-sn.js │ │ │ │ │ ├── angular-locale_fr-sy.js │ │ │ │ │ ├── angular-locale_fr-td.js │ │ │ │ │ ├── angular-locale_fr-tg.js │ │ │ │ │ ├── angular-locale_fr-tn.js │ │ │ │ │ ├── angular-locale_fr-vu.js │ │ │ │ │ ├── angular-locale_fr-wf.js │ │ │ │ │ ├── angular-locale_fr-yt.js │ │ │ │ │ ├── angular-locale_fr.js │ │ │ │ │ ├── angular-locale_fur-it.js │ │ │ │ │ ├── angular-locale_fur.js │ │ │ │ │ ├── angular-locale_fy-nl.js │ │ │ │ │ ├── angular-locale_fy.js │ │ │ │ │ ├── angular-locale_ga-ie.js │ │ │ │ │ ├── angular-locale_ga.js │ │ │ │ │ ├── angular-locale_gd-gb.js │ │ │ │ │ ├── angular-locale_gd.js │ │ │ │ │ ├── angular-locale_gl-es.js │ │ │ │ │ ├── angular-locale_gl.js │ │ │ │ │ ├── angular-locale_gsw-ch.js │ │ │ │ │ ├── angular-locale_gsw-fr.js │ │ │ │ │ ├── angular-locale_gsw-li.js │ │ │ │ │ ├── angular-locale_gsw.js │ │ │ │ │ ├── angular-locale_gu-in.js │ │ │ │ │ ├── angular-locale_gu.js │ │ │ │ │ ├── angular-locale_guz-ke.js │ │ │ │ │ ├── angular-locale_guz.js │ │ │ │ │ ├── angular-locale_gv-im.js │ │ │ │ │ ├── angular-locale_gv.js │ │ │ │ │ ├── angular-locale_ha-latn-gh.js │ │ │ │ │ ├── angular-locale_ha-latn-ne.js │ │ │ │ │ ├── angular-locale_ha-latn-ng.js │ │ │ │ │ ├── angular-locale_ha-latn.js │ │ │ │ │ ├── angular-locale_ha.js │ │ │ │ │ ├── angular-locale_haw-us.js │ │ │ │ │ ├── angular-locale_haw.js │ │ │ │ │ ├── angular-locale_he-il.js │ │ │ │ │ ├── angular-locale_he.js │ │ │ │ │ ├── angular-locale_hi-in.js │ │ │ │ │ ├── angular-locale_hi.js │ │ │ │ │ ├── angular-locale_hr-ba.js │ │ │ │ │ ├── angular-locale_hr-hr.js │ │ │ │ │ ├── angular-locale_hr.js │ │ │ │ │ ├── angular-locale_hsb-de.js │ │ │ │ │ ├── angular-locale_hsb.js │ │ │ │ │ ├── angular-locale_hu-hu.js │ │ │ │ │ ├── angular-locale_hu.js │ │ │ │ │ ├── angular-locale_hy-am.js │ │ │ │ │ ├── angular-locale_hy.js │ │ │ │ │ ├── angular-locale_ia-fr.js │ │ │ │ │ ├── angular-locale_ia.js │ │ │ │ │ ├── angular-locale_id-id.js │ │ │ │ │ ├── angular-locale_id.js │ │ │ │ │ ├── angular-locale_ig-ng.js │ │ │ │ │ ├── angular-locale_ig.js │ │ │ │ │ ├── angular-locale_ii-cn.js │ │ │ │ │ ├── angular-locale_ii.js │ │ │ │ │ ├── angular-locale_in.js │ │ │ │ │ ├── angular-locale_is-is.js │ │ │ │ │ ├── angular-locale_is.js │ │ │ │ │ ├── angular-locale_it-ch.js │ │ │ │ │ ├── angular-locale_it-it.js │ │ │ │ │ ├── angular-locale_it-sm.js │ │ │ │ │ ├── angular-locale_it.js │ │ │ │ │ ├── angular-locale_iw.js │ │ │ │ │ ├── angular-locale_ja-jp.js │ │ │ │ │ ├── angular-locale_ja.js │ │ │ │ │ ├── angular-locale_jgo-cm.js │ │ │ │ │ ├── angular-locale_jgo.js │ │ │ │ │ ├── angular-locale_jmc-tz.js │ │ │ │ │ ├── angular-locale_jmc.js │ │ │ │ │ ├── angular-locale_ka-ge.js │ │ │ │ │ ├── angular-locale_ka.js │ │ │ │ │ ├── angular-locale_kab-dz.js │ │ │ │ │ ├── angular-locale_kab.js │ │ │ │ │ ├── angular-locale_kam-ke.js │ │ │ │ │ ├── angular-locale_kam.js │ │ │ │ │ ├── angular-locale_kde-tz.js │ │ │ │ │ ├── angular-locale_kde.js │ │ │ │ │ ├── angular-locale_kea-cv.js │ │ │ │ │ ├── angular-locale_kea.js │ │ │ │ │ ├── angular-locale_khq-ml.js │ │ │ │ │ ├── angular-locale_khq.js │ │ │ │ │ ├── angular-locale_ki-ke.js │ │ │ │ │ ├── angular-locale_ki.js │ │ │ │ │ ├── angular-locale_kk-cyrl-kz.js │ │ │ │ │ ├── angular-locale_kk-cyrl.js │ │ │ │ │ ├── angular-locale_kk.js │ │ │ │ │ ├── angular-locale_kkj-cm.js │ │ │ │ │ ├── angular-locale_kkj.js │ │ │ │ │ ├── angular-locale_kl-gl.js │ │ │ │ │ ├── angular-locale_kl.js │ │ │ │ │ ├── angular-locale_kln-ke.js │ │ │ │ │ ├── angular-locale_kln.js │ │ │ │ │ ├── angular-locale_km-kh.js │ │ │ │ │ ├── angular-locale_km.js │ │ │ │ │ ├── angular-locale_kn-in.js │ │ │ │ │ ├── angular-locale_kn.js │ │ │ │ │ ├── angular-locale_ko-kp.js │ │ │ │ │ ├── angular-locale_ko-kr.js │ │ │ │ │ ├── angular-locale_ko.js │ │ │ │ │ ├── angular-locale_kok-in.js │ │ │ │ │ ├── angular-locale_kok.js │ │ │ │ │ ├── angular-locale_ks-arab-in.js │ │ │ │ │ ├── angular-locale_ks-arab.js │ │ │ │ │ ├── angular-locale_ks.js │ │ │ │ │ ├── angular-locale_ksb-tz.js │ │ │ │ │ ├── angular-locale_ksb.js │ │ │ │ │ ├── angular-locale_ksf-cm.js │ │ │ │ │ ├── angular-locale_ksf.js │ │ │ │ │ ├── angular-locale_ksh-de.js │ │ │ │ │ ├── angular-locale_ksh.js │ │ │ │ │ ├── angular-locale_kw-gb.js │ │ │ │ │ ├── angular-locale_kw.js │ │ │ │ │ ├── angular-locale_ky-cyrl-kg.js │ │ │ │ │ ├── angular-locale_ky-cyrl.js │ │ │ │ │ ├── angular-locale_ky.js │ │ │ │ │ ├── angular-locale_lag-tz.js │ │ │ │ │ ├── angular-locale_lag.js │ │ │ │ │ ├── angular-locale_lb-lu.js │ │ │ │ │ ├── angular-locale_lb.js │ │ │ │ │ ├── angular-locale_lg-ug.js │ │ │ │ │ ├── angular-locale_lg.js │ │ │ │ │ ├── angular-locale_lkt-us.js │ │ │ │ │ ├── angular-locale_lkt.js │ │ │ │ │ ├── angular-locale_ln-ao.js │ │ │ │ │ ├── angular-locale_ln-cd.js │ │ │ │ │ ├── angular-locale_ln-cf.js │ │ │ │ │ ├── angular-locale_ln-cg.js │ │ │ │ │ ├── angular-locale_ln.js │ │ │ │ │ ├── angular-locale_lo-la.js │ │ │ │ │ ├── angular-locale_lo.js │ │ │ │ │ ├── angular-locale_lt-lt.js │ │ │ │ │ ├── angular-locale_lt.js │ │ │ │ │ ├── angular-locale_lu-cd.js │ │ │ │ │ ├── angular-locale_lu.js │ │ │ │ │ ├── angular-locale_luo-ke.js │ │ │ │ │ ├── angular-locale_luo.js │ │ │ │ │ ├── angular-locale_luy-ke.js │ │ │ │ │ ├── angular-locale_luy.js │ │ │ │ │ ├── angular-locale_lv-lv.js │ │ │ │ │ ├── angular-locale_lv.js │ │ │ │ │ ├── angular-locale_mas-ke.js │ │ │ │ │ ├── angular-locale_mas-tz.js │ │ │ │ │ ├── angular-locale_mas.js │ │ │ │ │ ├── angular-locale_mer-ke.js │ │ │ │ │ ├── angular-locale_mer.js │ │ │ │ │ ├── angular-locale_mfe-mu.js │ │ │ │ │ ├── angular-locale_mfe.js │ │ │ │ │ ├── angular-locale_mg-mg.js │ │ │ │ │ ├── angular-locale_mg.js │ │ │ │ │ ├── angular-locale_mgh-mz.js │ │ │ │ │ ├── angular-locale_mgh.js │ │ │ │ │ ├── angular-locale_mgo-cm.js │ │ │ │ │ ├── angular-locale_mgo.js │ │ │ │ │ ├── angular-locale_mk-mk.js │ │ │ │ │ ├── angular-locale_mk.js │ │ │ │ │ ├── angular-locale_ml-in.js │ │ │ │ │ ├── angular-locale_ml.js │ │ │ │ │ ├── angular-locale_mn-cyrl-mn.js │ │ │ │ │ ├── angular-locale_mn-cyrl.js │ │ │ │ │ ├── angular-locale_mn.js │ │ │ │ │ ├── angular-locale_mr-in.js │ │ │ │ │ ├── angular-locale_mr.js │ │ │ │ │ ├── angular-locale_ms-latn-bn.js │ │ │ │ │ ├── angular-locale_ms-latn-my.js │ │ │ │ │ ├── angular-locale_ms-latn-sg.js │ │ │ │ │ ├── angular-locale_ms-latn.js │ │ │ │ │ ├── angular-locale_ms.js │ │ │ │ │ ├── angular-locale_mt-mt.js │ │ │ │ │ ├── angular-locale_mt.js │ │ │ │ │ ├── angular-locale_mua-cm.js │ │ │ │ │ ├── angular-locale_mua.js │ │ │ │ │ ├── angular-locale_my-mm.js │ │ │ │ │ ├── angular-locale_my.js │ │ │ │ │ ├── angular-locale_naq-na.js │ │ │ │ │ ├── angular-locale_naq.js │ │ │ │ │ ├── angular-locale_nb-no.js │ │ │ │ │ ├── angular-locale_nb-sj.js │ │ │ │ │ ├── angular-locale_nb.js │ │ │ │ │ ├── angular-locale_nd-zw.js │ │ │ │ │ ├── angular-locale_nd.js │ │ │ │ │ ├── angular-locale_ne-in.js │ │ │ │ │ ├── angular-locale_ne-np.js │ │ │ │ │ ├── angular-locale_ne.js │ │ │ │ │ ├── angular-locale_nl-aw.js │ │ │ │ │ ├── angular-locale_nl-be.js │ │ │ │ │ ├── angular-locale_nl-bq.js │ │ │ │ │ ├── angular-locale_nl-cw.js │ │ │ │ │ ├── angular-locale_nl-nl.js │ │ │ │ │ ├── angular-locale_nl-sr.js │ │ │ │ │ ├── angular-locale_nl-sx.js │ │ │ │ │ ├── angular-locale_nl.js │ │ │ │ │ ├── angular-locale_nmg-cm.js │ │ │ │ │ ├── angular-locale_nmg.js │ │ │ │ │ ├── angular-locale_nn-no.js │ │ │ │ │ ├── angular-locale_nn.js │ │ │ │ │ ├── angular-locale_nnh-cm.js │ │ │ │ │ ├── angular-locale_nnh.js │ │ │ │ │ ├── angular-locale_no-no.js │ │ │ │ │ ├── angular-locale_no.js │ │ │ │ │ ├── angular-locale_nr-za.js │ │ │ │ │ ├── angular-locale_nr.js │ │ │ │ │ ├── angular-locale_nso-za.js │ │ │ │ │ ├── angular-locale_nso.js │ │ │ │ │ ├── angular-locale_nus-sd.js │ │ │ │ │ ├── angular-locale_nus.js │ │ │ │ │ ├── angular-locale_nyn-ug.js │ │ │ │ │ ├── angular-locale_nyn.js │ │ │ │ │ ├── angular-locale_om-et.js │ │ │ │ │ ├── angular-locale_om-ke.js │ │ │ │ │ ├── angular-locale_om.js │ │ │ │ │ ├── angular-locale_or-in.js │ │ │ │ │ ├── angular-locale_or.js │ │ │ │ │ ├── angular-locale_os-ge.js │ │ │ │ │ ├── angular-locale_os-ru.js │ │ │ │ │ ├── angular-locale_os.js │ │ │ │ │ ├── angular-locale_pa-arab-pk.js │ │ │ │ │ ├── angular-locale_pa-arab.js │ │ │ │ │ ├── angular-locale_pa-guru-in.js │ │ │ │ │ ├── angular-locale_pa-guru.js │ │ │ │ │ ├── angular-locale_pa.js │ │ │ │ │ ├── angular-locale_pl-pl.js │ │ │ │ │ ├── angular-locale_pl.js │ │ │ │ │ ├── angular-locale_ps-af.js │ │ │ │ │ ├── angular-locale_ps.js │ │ │ │ │ ├── angular-locale_pt-ao.js │ │ │ │ │ ├── angular-locale_pt-br.js │ │ │ │ │ ├── angular-locale_pt-cv.js │ │ │ │ │ ├── angular-locale_pt-gw.js │ │ │ │ │ ├── angular-locale_pt-mo.js │ │ │ │ │ ├── angular-locale_pt-mz.js │ │ │ │ │ ├── angular-locale_pt-pt.js │ │ │ │ │ ├── angular-locale_pt-st.js │ │ │ │ │ ├── angular-locale_pt-tl.js │ │ │ │ │ ├── angular-locale_pt.js │ │ │ │ │ ├── angular-locale_qu-bo.js │ │ │ │ │ ├── angular-locale_qu-ec.js │ │ │ │ │ ├── angular-locale_qu-pe.js │ │ │ │ │ ├── angular-locale_qu.js │ │ │ │ │ ├── angular-locale_rm-ch.js │ │ │ │ │ ├── angular-locale_rm.js │ │ │ │ │ ├── angular-locale_rn-bi.js │ │ │ │ │ ├── angular-locale_rn.js │ │ │ │ │ ├── angular-locale_ro-md.js │ │ │ │ │ ├── angular-locale_ro-ro.js │ │ │ │ │ ├── angular-locale_ro.js │ │ │ │ │ ├── angular-locale_rof-tz.js │ │ │ │ │ ├── angular-locale_rof.js │ │ │ │ │ ├── angular-locale_ru-by.js │ │ │ │ │ ├── angular-locale_ru-kg.js │ │ │ │ │ ├── angular-locale_ru-kz.js │ │ │ │ │ ├── angular-locale_ru-md.js │ │ │ │ │ ├── angular-locale_ru-ru.js │ │ │ │ │ ├── angular-locale_ru-ua.js │ │ │ │ │ ├── angular-locale_ru.js │ │ │ │ │ ├── angular-locale_rw-rw.js │ │ │ │ │ ├── angular-locale_rw.js │ │ │ │ │ ├── angular-locale_rwk-tz.js │ │ │ │ │ ├── angular-locale_rwk.js │ │ │ │ │ ├── angular-locale_sah-ru.js │ │ │ │ │ ├── angular-locale_sah.js │ │ │ │ │ ├── angular-locale_saq-ke.js │ │ │ │ │ ├── angular-locale_saq.js │ │ │ │ │ ├── angular-locale_sbp-tz.js │ │ │ │ │ ├── angular-locale_sbp.js │ │ │ │ │ ├── angular-locale_se-fi.js │ │ │ │ │ ├── angular-locale_se-no.js │ │ │ │ │ ├── angular-locale_se-se.js │ │ │ │ │ ├── angular-locale_se.js │ │ │ │ │ ├── angular-locale_seh-mz.js │ │ │ │ │ ├── angular-locale_seh.js │ │ │ │ │ ├── angular-locale_ses-ml.js │ │ │ │ │ ├── angular-locale_ses.js │ │ │ │ │ ├── angular-locale_sg-cf.js │ │ │ │ │ ├── angular-locale_sg.js │ │ │ │ │ ├── angular-locale_shi-latn-ma.js │ │ │ │ │ ├── angular-locale_shi-latn.js │ │ │ │ │ ├── angular-locale_shi-tfng-ma.js │ │ │ │ │ ├── angular-locale_shi-tfng.js │ │ │ │ │ ├── angular-locale_shi.js │ │ │ │ │ ├── angular-locale_si-lk.js │ │ │ │ │ ├── angular-locale_si.js │ │ │ │ │ ├── angular-locale_sk-sk.js │ │ │ │ │ ├── angular-locale_sk.js │ │ │ │ │ ├── angular-locale_sl-si.js │ │ │ │ │ ├── angular-locale_sl.js │ │ │ │ │ ├── angular-locale_smn-fi.js │ │ │ │ │ ├── angular-locale_smn.js │ │ │ │ │ ├── angular-locale_sn-zw.js │ │ │ │ │ ├── angular-locale_sn.js │ │ │ │ │ ├── angular-locale_so-dj.js │ │ │ │ │ ├── angular-locale_so-et.js │ │ │ │ │ ├── angular-locale_so-ke.js │ │ │ │ │ ├── angular-locale_so-so.js │ │ │ │ │ ├── angular-locale_so.js │ │ │ │ │ ├── angular-locale_sq-al.js │ │ │ │ │ ├── angular-locale_sq-mk.js │ │ │ │ │ ├── angular-locale_sq-xk.js │ │ │ │ │ ├── angular-locale_sq.js │ │ │ │ │ ├── angular-locale_sr-cyrl-ba.js │ │ │ │ │ ├── angular-locale_sr-cyrl-me.js │ │ │ │ │ ├── angular-locale_sr-cyrl-rs.js │ │ │ │ │ ├── angular-locale_sr-cyrl-xk.js │ │ │ │ │ ├── angular-locale_sr-cyrl.js │ │ │ │ │ ├── angular-locale_sr-latn-ba.js │ │ │ │ │ ├── angular-locale_sr-latn-me.js │ │ │ │ │ ├── angular-locale_sr-latn-rs.js │ │ │ │ │ ├── angular-locale_sr-latn-xk.js │ │ │ │ │ ├── angular-locale_sr-latn.js │ │ │ │ │ ├── angular-locale_sr.js │ │ │ │ │ ├── angular-locale_ss-sz.js │ │ │ │ │ ├── angular-locale_ss-za.js │ │ │ │ │ ├── angular-locale_ss.js │ │ │ │ │ ├── angular-locale_ssy-er.js │ │ │ │ │ ├── angular-locale_ssy.js │ │ │ │ │ ├── angular-locale_st-ls.js │ │ │ │ │ ├── angular-locale_st-za.js │ │ │ │ │ ├── angular-locale_st.js │ │ │ │ │ ├── angular-locale_sv-ax.js │ │ │ │ │ ├── angular-locale_sv-fi.js │ │ │ │ │ ├── angular-locale_sv-se.js │ │ │ │ │ ├── angular-locale_sv.js │ │ │ │ │ ├── angular-locale_sw-cd.js │ │ │ │ │ ├── angular-locale_sw-ke.js │ │ │ │ │ ├── angular-locale_sw-tz.js │ │ │ │ │ ├── angular-locale_sw-ug.js │ │ │ │ │ ├── angular-locale_sw.js │ │ │ │ │ ├── angular-locale_swc-cd.js │ │ │ │ │ ├── angular-locale_swc.js │ │ │ │ │ ├── angular-locale_ta-in.js │ │ │ │ │ ├── angular-locale_ta-lk.js │ │ │ │ │ ├── angular-locale_ta-my.js │ │ │ │ │ ├── angular-locale_ta-sg.js │ │ │ │ │ ├── angular-locale_ta.js │ │ │ │ │ ├── angular-locale_te-in.js │ │ │ │ │ ├── angular-locale_te.js │ │ │ │ │ ├── angular-locale_teo-ke.js │ │ │ │ │ ├── angular-locale_teo-ug.js │ │ │ │ │ ├── angular-locale_teo.js │ │ │ │ │ ├── angular-locale_tg-cyrl-tj.js │ │ │ │ │ ├── angular-locale_tg-cyrl.js │ │ │ │ │ ├── angular-locale_tg.js │ │ │ │ │ ├── angular-locale_th-th.js │ │ │ │ │ ├── angular-locale_th.js │ │ │ │ │ ├── angular-locale_ti-er.js │ │ │ │ │ ├── angular-locale_ti-et.js │ │ │ │ │ ├── angular-locale_ti.js │ │ │ │ │ ├── angular-locale_tig-er.js │ │ │ │ │ ├── angular-locale_tig.js │ │ │ │ │ ├── angular-locale_tl.js │ │ │ │ │ ├── angular-locale_tn-bw.js │ │ │ │ │ ├── angular-locale_tn-za.js │ │ │ │ │ ├── angular-locale_tn.js │ │ │ │ │ ├── angular-locale_to-to.js │ │ │ │ │ ├── angular-locale_to.js │ │ │ │ │ ├── angular-locale_tr-cy.js │ │ │ │ │ ├── angular-locale_tr-tr.js │ │ │ │ │ ├── angular-locale_tr.js │ │ │ │ │ ├── angular-locale_ts-za.js │ │ │ │ │ ├── angular-locale_ts.js │ │ │ │ │ ├── angular-locale_twq-ne.js │ │ │ │ │ ├── angular-locale_twq.js │ │ │ │ │ ├── angular-locale_tzm-latn-ma.js │ │ │ │ │ ├── angular-locale_tzm-latn.js │ │ │ │ │ ├── angular-locale_tzm.js │ │ │ │ │ ├── angular-locale_ug-arab-cn.js │ │ │ │ │ ├── angular-locale_ug-arab.js │ │ │ │ │ ├── angular-locale_ug.js │ │ │ │ │ ├── angular-locale_uk-ua.js │ │ │ │ │ ├── angular-locale_uk.js │ │ │ │ │ ├── angular-locale_ur-in.js │ │ │ │ │ ├── angular-locale_ur-pk.js │ │ │ │ │ ├── angular-locale_ur.js │ │ │ │ │ ├── angular-locale_uz-arab-af.js │ │ │ │ │ ├── angular-locale_uz-arab.js │ │ │ │ │ ├── angular-locale_uz-cyrl-uz.js │ │ │ │ │ ├── angular-locale_uz-cyrl.js │ │ │ │ │ ├── angular-locale_uz-latn-uz.js │ │ │ │ │ ├── angular-locale_uz-latn.js │ │ │ │ │ ├── angular-locale_uz.js │ │ │ │ │ ├── angular-locale_vai-latn-lr.js │ │ │ │ │ ├── angular-locale_vai-latn.js │ │ │ │ │ ├── angular-locale_vai-vaii-lr.js │ │ │ │ │ ├── angular-locale_vai-vaii.js │ │ │ │ │ ├── angular-locale_vai.js │ │ │ │ │ ├── angular-locale_ve-za.js │ │ │ │ │ ├── angular-locale_ve.js │ │ │ │ │ ├── angular-locale_vi-vn.js │ │ │ │ │ ├── angular-locale_vi.js │ │ │ │ │ ├── angular-locale_vo-001.js │ │ │ │ │ ├── angular-locale_vo.js │ │ │ │ │ ├── angular-locale_vun-tz.js │ │ │ │ │ ├── angular-locale_vun.js │ │ │ │ │ ├── angular-locale_wae-ch.js │ │ │ │ │ ├── angular-locale_wae.js │ │ │ │ │ ├── angular-locale_wal-et.js │ │ │ │ │ ├── angular-locale_wal.js │ │ │ │ │ ├── angular-locale_xh-za.js │ │ │ │ │ ├── angular-locale_xh.js │ │ │ │ │ ├── angular-locale_xog-ug.js │ │ │ │ │ ├── angular-locale_xog.js │ │ │ │ │ ├── angular-locale_yav-cm.js │ │ │ │ │ ├── angular-locale_yav.js │ │ │ │ │ ├── angular-locale_yi-001.js │ │ │ │ │ ├── angular-locale_yi.js │ │ │ │ │ ├── angular-locale_yo-bj.js │ │ │ │ │ ├── angular-locale_yo-ng.js │ │ │ │ │ ├── angular-locale_yo.js │ │ │ │ │ ├── angular-locale_zgh-ma.js │ │ │ │ │ ├── angular-locale_zgh.js │ │ │ │ │ ├── angular-locale_zh-cn.js │ │ │ │ │ ├── angular-locale_zh-hans-cn.js │ │ │ │ │ ├── angular-locale_zh-hans-hk.js │ │ │ │ │ ├── angular-locale_zh-hans-mo.js │ │ │ │ │ ├── angular-locale_zh-hans-sg.js │ │ │ │ │ ├── angular-locale_zh-hans.js │ │ │ │ │ ├── angular-locale_zh-hant-hk.js │ │ │ │ │ ├── angular-locale_zh-hant-mo.js │ │ │ │ │ ├── angular-locale_zh-hant-tw.js │ │ │ │ │ ├── angular-locale_zh-hant.js │ │ │ │ │ ├── angular-locale_zh-hk.js │ │ │ │ │ ├── angular-locale_zh-tw.js │ │ │ │ │ ├── angular-locale_zh.js │ │ │ │ │ ├── angular-locale_zu-za.js │ │ │ │ │ └── angular-locale_zu.js │ │ │ │ ├── version.json │ │ │ │ └── version.txt │ │ │ ├── bootstrap-datetimepicker │ │ │ │ ├── css │ │ │ │ │ ├── bootstrap-datetimepicker.css │ │ │ │ │ └── bootstrap-datetimepicker.min.css │ │ │ │ └── js │ │ │ │ │ ├── bootstrap-datetimepicker.js │ │ │ │ │ ├── bootstrap-datetimepicker.min.js │ │ │ │ │ └── locales │ │ │ │ │ ├── bootstrap-datetimepicker.ar.js │ │ │ │ │ ├── bootstrap-datetimepicker.bg.js │ │ │ │ │ ├── bootstrap-datetimepicker.ca.js │ │ │ │ │ ├── bootstrap-datetimepicker.cs.js │ │ │ │ │ ├── bootstrap-datetimepicker.da.js │ │ │ │ │ ├── bootstrap-datetimepicker.de.js │ │ │ │ │ ├── bootstrap-datetimepicker.ee.js │ │ │ │ │ ├── bootstrap-datetimepicker.el.js │ │ │ │ │ ├── bootstrap-datetimepicker.es.js │ │ │ │ │ ├── bootstrap-datetimepicker.fi.js │ │ │ │ │ ├── bootstrap-datetimepicker.fr.js │ │ │ │ │ ├── bootstrap-datetimepicker.he.js │ │ │ │ │ ├── bootstrap-datetimepicker.hr.js │ │ │ │ │ ├── bootstrap-datetimepicker.hu.js │ │ │ │ │ ├── bootstrap-datetimepicker.id.js │ │ │ │ │ ├── bootstrap-datetimepicker.is.js │ │ │ │ │ ├── bootstrap-datetimepicker.it.js │ │ │ │ │ ├── bootstrap-datetimepicker.ja.js │ │ │ │ │ ├── bootstrap-datetimepicker.ko.js │ │ │ │ │ ├── bootstrap-datetimepicker.lt.js │ │ │ │ │ ├── bootstrap-datetimepicker.lv.js │ │ │ │ │ ├── bootstrap-datetimepicker.ms.js │ │ │ │ │ ├── bootstrap-datetimepicker.nb.js │ │ │ │ │ ├── bootstrap-datetimepicker.nl.js │ │ │ │ │ ├── bootstrap-datetimepicker.no.js │ │ │ │ │ ├── bootstrap-datetimepicker.pl.js │ │ │ │ │ ├── bootstrap-datetimepicker.pt-BR.js │ │ │ │ │ ├── bootstrap-datetimepicker.pt.js │ │ │ │ │ ├── bootstrap-datetimepicker.ro.js │ │ │ │ │ ├── bootstrap-datetimepicker.rs-latin.js │ │ │ │ │ ├── bootstrap-datetimepicker.rs.js │ │ │ │ │ ├── bootstrap-datetimepicker.ru.js │ │ │ │ │ ├── bootstrap-datetimepicker.sk.js │ │ │ │ │ ├── bootstrap-datetimepicker.sl.js │ │ │ │ │ ├── bootstrap-datetimepicker.sv.js │ │ │ │ │ ├── bootstrap-datetimepicker.sw.js │ │ │ │ │ ├── bootstrap-datetimepicker.th.js │ │ │ │ │ ├── bootstrap-datetimepicker.tr.js │ │ │ │ │ ├── bootstrap-datetimepicker.ua.js │ │ │ │ │ ├── bootstrap-datetimepicker.uk.js │ │ │ │ │ ├── bootstrap-datetimepicker.zh-CN.js │ │ │ │ │ └── bootstrap-datetimepicker.zh-TW.js │ │ │ ├── bootstrap-dropdowns-functions.js │ │ │ ├── bootstrap-helper.js │ │ │ ├── bootstrap-switch │ │ │ │ ├── bootstrap-switch.css │ │ │ │ ├── bootstrap-switch.js │ │ │ │ ├── bootstrap-switch.min.css │ │ │ │ └── bootstrap-switch.min.js │ │ │ ├── bootstrap-tabcollapse.js │ │ │ ├── bootstrap-vertical-grid.css │ │ │ ├── bootstrap │ │ │ │ ├── 3.3.6 │ │ │ │ ├── css │ │ │ │ │ ├── bootstrap-theme.css │ │ │ │ │ ├── bootstrap-theme.css.map │ │ │ │ │ ├── bootstrap-theme.min.css │ │ │ │ │ ├── bootstrap-theme.min.css.map │ │ │ │ │ ├── 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 │ │ │ │ │ └── npm.js │ │ │ ├── color-contrast.README.md │ │ │ ├── color-contrast.js │ │ │ ├── file_validation.js │ │ │ ├── fontawesome-animation │ │ │ │ ├── font-awesome-animation.css │ │ │ │ └── font-awesome-animation.min.css │ │ │ ├── fontawesome │ │ │ │ ├── css │ │ │ │ │ ├── font-awesome.css │ │ │ │ │ ├── font-awesome.css.map │ │ │ │ │ └── font-awesome.min.css │ │ │ │ └── fonts │ │ │ │ │ ├── FontAwesome.otf │ │ │ │ │ ├── fontawesome-webfont.eot │ │ │ │ │ ├── fontawesome-webfont.svg │ │ │ │ │ ├── fontawesome-webfont.ttf │ │ │ │ │ ├── fontawesome-webfont.woff │ │ │ │ │ └── fontawesome-webfont.woff2 │ │ │ ├── html5shiv.js │ │ │ ├── htmlclean │ │ │ │ ├── jquery.htmlClean.js │ │ │ │ └── jquery.htmlClean.min.js │ │ │ ├── jquery │ │ │ │ ├── jquery.js │ │ │ │ ├── jquery.min.js │ │ │ │ └── jquery.min.map │ │ │ ├── moment │ │ │ │ ├── moment.js │ │ │ │ └── moment.min.js │ │ │ ├── notifyjs │ │ │ │ ├── notify.js │ │ │ │ └── notify.min.js │ │ │ ├── nspopover │ │ │ │ ├── README.md │ │ │ │ ├── nspopover.css │ │ │ │ └── nspopover.js │ │ │ ├── rangy │ │ │ │ ├── rangy-core.js │ │ │ │ └── rangy-selectionsaverestore.js │ │ │ ├── sticky-footer-navbar.css │ │ │ ├── sticky-footer.css │ │ │ └── textAngular │ │ │ │ ├── textAngular-rangy.min.js │ │ │ │ ├── textAngular-sanitize.js │ │ │ │ ├── textAngular-sanitize.min.js │ │ │ │ ├── textAngular.css │ │ │ │ ├── textAngular.js │ │ │ │ ├── textAngular.min.js │ │ │ │ └── textAngularSetup.js │ │ ├── logs_rows.html │ │ └── partials │ │ │ ├── detail.html │ │ │ ├── list.html │ │ │ ├── rows.html │ │ │ ├── summary.html │ │ │ └── table.html │ └── djangular │ │ ├── css │ │ ├── bootstrap3.css │ │ └── styles.css │ │ └── js │ │ ├── django-angular.js │ │ └── django-angular.min.js ├── templates │ └── codenerix │ │ ├── add.html │ │ ├── addmodal.html │ │ ├── details.html │ │ ├── detailsmodal.html │ │ ├── detailsmodal_log.html │ │ ├── form.html │ │ ├── formmodal.html │ │ ├── list.html │ │ ├── listmodal.html │ │ ├── remote_log.html │ │ ├── sublist.html │ │ └── sublistmodal.html ├── templatetags │ ├── __init__.py │ ├── codenerix_common.py │ ├── codenerix_lists.py │ └── codenerix_special.py ├── urls.py ├── views.py └── widgets.py ├── newsfragments └── .gitignore ├── setup.py ├── towncrier.md └── towncrier.toml /.gitignore: -------------------------------------------------------------------------------- 1 | # Byte-compiled / optimized / DLL files 2 | __pycache__/ 3 | *.py[cod] 4 | *$py.class 5 | 6 | # Distribution / packaging 7 | .Python 8 | env/ 9 | build/ 10 | develop-eggs/ 11 | downloads/ 12 | eggs/ 13 | .eggs/ 14 | parts/ 15 | sdist/ 16 | var/ 17 | *.egg-info/ 18 | .installed.cfg 19 | *.egg 20 | *.sh 21 | 22 | # PyInstaller 23 | # Usually these files are written by a python script from a template 24 | # before PyInstaller builds the exe, so as to inject date/other infos into it. 25 | *.manifest 26 | *.spec 27 | 28 | # Installer logs 29 | pip-log.txt 30 | pip-delete-this-directory.txt 31 | 32 | # Unit test / coverage reports 33 | htmlcov/ 34 | .tox/ 35 | .coverage 36 | .coverage.* 37 | .cache 38 | nosetests.xml 39 | coverage.xml 40 | *,cover 41 | .hypothesis/ 42 | 43 | # Translations 44 | #*.mo 45 | *.pot 46 | 47 | # Django stuff: 48 | *.log 49 | local_settings.py 50 | 51 | # Flask stuff: 52 | instance/ 53 | .webassets-cache 54 | 55 | # Scrapy stuff: 56 | .scrapy 57 | 58 | # Sphinx documentation 59 | docs/_build/ 60 | 61 | # PyBuilder 62 | target/ 63 | 64 | # IPython Notebook 65 | .ipynb_checkpoints 66 | 67 | # pyenv 68 | .python-version 69 | 70 | # celery beat schedule file 71 | celerybeat-schedule 72 | 73 | # dotenv 74 | .env 75 | 76 | # virtualenv 77 | venv/ 78 | ENV/ 79 | 80 | # Spyder project settings 81 | .spyderproject 82 | 83 | # Rope project settings 84 | .ropeproject 85 | 86 | # vim temporal files 87 | *.swp 88 | 89 | # CODENERIX files 90 | /django_codenerix*.egg-info 91 | dist 92 | .session.vim 93 | -------------------------------------------------------------------------------- /MANIFEST.in: -------------------------------------------------------------------------------- 1 | include MANIFEST.in 2 | include LICENSE 3 | include CHANGELOG 4 | include README.rst 5 | exclude *.pyc 6 | exclude __pycache__ 7 | exclude .ropeproject 8 | recursive-include codenerix/contrib * 9 | recursive-include codenerix/lib * 10 | recursive-include codenerix/locale * 11 | recursive-include codenerix/management * 12 | recursive-include codenerix/migrations * 13 | recursive-include codenerix/static * 14 | recursive-include codenerix/templates * 15 | recursive-include codenerix/templatetags * 16 | recursive-include codenerix/djng * 17 | recursive-include codenerix/multi_email_field * 18 | -------------------------------------------------------------------------------- /_codenerix: -------------------------------------------------------------------------------- 1 | codenerix/ -------------------------------------------------------------------------------- /codenerix/__init__.py: -------------------------------------------------------------------------------- 1 | __version__ = "5.0.29" 2 | 3 | __authors__ = [ 4 | "Juanmi Taboada", 5 | ] 6 | 7 | __authors_email__ = [ 8 | "juanmi@juanmitaboada.com", 9 | ] 10 | 11 | __all__ = ["__version__", "__authors__", "__authors_email__"] 12 | -------------------------------------------------------------------------------- /codenerix/apps.py: -------------------------------------------------------------------------------- 1 | from django.apps import AppConfig 2 | 3 | 4 | class MyAppConfig(AppConfig): 5 | default_auto_field = "django.db.models.AutoField" 6 | name = "codenerix" 7 | -------------------------------------------------------------------------------- /codenerix/constants.py: -------------------------------------------------------------------------------- 1 | # 2 | # django-codenerix 3 | # 4 | # Codenerix GNU 5 | # 6 | # Project URL : http://www.codenerix.com 7 | # 8 | # Licensed under the Apache License, Version 2.0 (the "License"); 9 | # you may not use this file except in compliance with the License. 10 | # You may obtain a copy of the License at 11 | # 12 | # http://www.apache.org/licenses/LICENSE-2.0 13 | # 14 | # Unless required by applicable law or agreed to in writing, software 15 | # distributed under the License is distributed on an "AS IS" BASIS, 16 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 17 | # See the License for the specific language governing permissions and 18 | # limitations under the License. 19 | 20 | from django.utils.translation import gettext as _ 21 | 22 | WEIGHT_UNITS = { 23 | # SI 24 | "kg": (_("Kilogram"), 1.0), # BASE 25 | "g": (_("Gram"), 1000.0), 26 | # US/UK 27 | "lb": (_("Pound"), 2.2046228), 28 | "oz": (_("Ounce"), 35.273962), 29 | "st": (_("Stone"), 0.15747304), 30 | } 31 | 32 | LENGTH_UNITS = { 33 | # SI 34 | "m": (_("Metre"), 1.0), # BASE 35 | "cm": (_("Centimetre"), 100.0), 36 | "km": (_("Kilometre"), 0.001), 37 | # US/UK 38 | "mi": (_("Mile"), 0.00062137119), 39 | "yd": (_("Yard"), 1.0936133), 40 | "ft": (_("Feet"), 3.2808399), 41 | "in": (_("Inch"), 39.3701), 42 | } 43 | 44 | VOLUME_UNITS = { 45 | # SI 46 | "m3": (_("Cubic metre"), 1.0), # BASE 47 | "dm3": (_("Cubic decimetre"), 1000.0), 48 | "l": (_("Litre"), 1000.0), 49 | "ml": (_("Mililitre"), 1000000.0), 50 | # UK 51 | "ig": (_("UK Gallon"), 219.969), 52 | "ip": (_("UK Pint"), 1759.75), 53 | # US 54 | "g": (_("US Gallon"), 264.172), 55 | "p": (_("US Pint"), 2113.38), 56 | # US/UK 57 | "ft3": (_("Cubic feet"), 35.314666882523476), 58 | "yd3": (_("Cubic yard"), 1.3079506252786468), 59 | } 60 | -------------------------------------------------------------------------------- /codenerix/contrib/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codenerix/django-codenerix/80e8e43b3fae32b60a5d78d4e92fb2f74e51c89a/codenerix/contrib/__init__.py -------------------------------------------------------------------------------- /codenerix/contrib/haystack_engines.py: -------------------------------------------------------------------------------- 1 | # from django.conf import settings 2 | from haystack.backends.elasticsearch2_backend import ( # type: ignore[import-not-found] # noqa: E501 3 | Elasticsearch2SearchBackend, 4 | Elasticsearch2SearchEngine, 5 | ) 6 | 7 | 8 | class AsciifoldingElasticBackend(Elasticsearch2SearchBackend): 9 | """ 10 | Mounir Messelmeni - 13/December/2015 11 | https://mounirmesselmeni.github.io/2015/12/13/enable-asciifolding-in-elasticsearchhaystack/ 12 | """ 13 | 14 | def __init__(self, *args, **kwargs): 15 | super().__init__(*args, **kwargs) 16 | analyzer = { 17 | "ascii_analyser": { 18 | "tokenizer": "standard", 19 | "filter": ["standard", "asciifolding", "lowercase"], 20 | }, 21 | "ngram_analyzer": { 22 | "type": "custom", 23 | "tokenizer": "lowercase", 24 | "filter": ["haystack_ngram", "asciifolding"], 25 | }, 26 | "edgengram_analyzer": { 27 | "type": "custom", 28 | "tokenizer": "lowercase", 29 | "filter": ["haystack_edgengram", "asciifolding"], 30 | }, 31 | } 32 | self.DEFAULT_SETTINGS["settings"]["analysis"]["analyzer"] = analyzer 33 | 34 | def build_schema(self, fields): 35 | content_field_name, mapping = super().build_schema(fields) 36 | 37 | for field_name, field_class in fields.items(): 38 | field_mapping = mapping[field_class.index_fieldname] 39 | 40 | if field_mapping["type"] == "string" and field_class.indexed: 41 | if not hasattr( 42 | field_class, 43 | "facet_for", 44 | ) and field_class.field_type not in ("ngram", "edge_ngram"): 45 | field_mapping["analyzer"] = "ascii_analyser" 46 | 47 | mapping.update({field_class.index_fieldname: field_mapping}) 48 | return (content_field_name, mapping) 49 | 50 | 51 | class AsciifoldingElasticSearchEngine(Elasticsearch2SearchEngine): 52 | """ 53 | Mounir Messelmeni - 13/December/2015 54 | https://mounirmesselmeni.github.io/2015/12/13/enable-asciifolding-in-elasticsearchhaystack/ 55 | """ 56 | 57 | backend = AsciifoldingElasticBackend 58 | -------------------------------------------------------------------------------- /codenerix/decorators.py: -------------------------------------------------------------------------------- 1 | from django.contrib.auth.decorators import user_passes_test 2 | from django.core.exceptions import PermissionDenied 3 | 4 | 5 | def restrict_access_to_groups(groups: list, raise_exception: bool = False): 6 | """ 7 | Decorator for views that requires the user to be part of a group, 8 | if they are not the user is not allowed into the page. 9 | If the raise_exception parameter is given the PermissionDenied exception 10 | is raised returning a 403 status code 11 | 12 | Usage: 13 | 14 | @method_decorator( 15 | restrict_access_to_groups( 16 | ["admin", "sales"], 17 | True 18 | ), 19 | name="dispatch" 20 | ) 21 | 22 | Author: Ben Cleary (https://github.com/bencleary) 23 | """ 24 | 25 | def in_groups(user): 26 | # checks if the user is authenticated, if not returns False 27 | if not user.is_authenticated: 28 | return False 29 | 30 | # checks if the user is a superuser or is part of the given groups 31 | if user.groups.filter(name__in=groups).exists() | user.is_superuser: 32 | return True 33 | 34 | # if raise_exception is given raise the 403 error 35 | if raise_exception: 36 | raise PermissionDenied 37 | 38 | # return False otherwise 39 | return False 40 | 41 | return user_passes_test(in_groups) 42 | -------------------------------------------------------------------------------- /codenerix/djng/__init__.py: -------------------------------------------------------------------------------- 1 | from django import VERSION 2 | from django.forms.forms import BaseForm, DeclarativeFieldsMetaclass 3 | from django.forms.models import BaseModelForm 4 | 5 | from .angular_base import BaseFieldsModifierMetaclass, NgFormBaseMixin 6 | from .angular_model import NgModelFormMixin # noqa: F401 7 | 8 | if VERSION[:2] >= (1, 5): 9 | from .angular_validation import NgFormValidationMixin # noqa: F401 10 | if VERSION[:2] < (1, 7): 11 | from .models import ( # type: ignore[import-not-found] # noqa: E501 12 | PatchedModelFormMetaclass as ModelFormMetaclass, 13 | ) 14 | else: 15 | from django.forms.models import ModelFormMetaclass 16 | 17 | 18 | class NgDeclarativeFieldsMetaclass( 19 | BaseFieldsModifierMetaclass, 20 | DeclarativeFieldsMetaclass, 21 | ): 22 | pass 23 | 24 | 25 | class NgForm( 26 | NgFormBaseMixin, 27 | BaseForm, 28 | metaclass=NgDeclarativeFieldsMetaclass, 29 | ): 30 | """ 31 | Convenience class to be used instead of Django's internal ``forms.Form`` 32 | when declaring a form to be used with AngularJS. 33 | """ 34 | 35 | 36 | class NgModelFormMetaclass(BaseFieldsModifierMetaclass, ModelFormMetaclass): 37 | pass 38 | 39 | 40 | class NgModelForm( 41 | NgFormBaseMixin, 42 | BaseModelForm, 43 | metaclass=NgModelFormMetaclass, 44 | ): 45 | """ 46 | Convenience class to be used instead of Django's internal 47 | ``forms.ModelForm`` when declaring a model form to be used with AngularJS. 48 | """ 49 | -------------------------------------------------------------------------------- /codenerix/exceptions.py: -------------------------------------------------------------------------------- 1 | # 2 | # django-codenerix 3 | # 4 | # Codenerix GNU 5 | # 6 | # Project URL : http://www.codenerix.com 7 | # 8 | # Licensed under the Apache License, Version 2.0 (the "License"); 9 | # you may not use this file except in compliance with the License. 10 | # You may obtain a copy of the License at 11 | # 12 | # http://www.apache.org/licenses/LICENSE-2.0 13 | # 14 | # Unless required by applicable law or agreed to in writing, software 15 | # distributed under the License is distributed on an "AS IS" BASIS, 16 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 17 | # See the License for the specific language governing permissions and 18 | # limitations under the License. 19 | 20 | 21 | # Exceptions classes 22 | class CodenerixException(Exception): 23 | pass 24 | -------------------------------------------------------------------------------- /codenerix/lib/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codenerix/django-codenerix/80e8e43b3fae32b60a5d78d4e92fb2f74e51c89a/codenerix/lib/__init__.py -------------------------------------------------------------------------------- /codenerix/lib/colors.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python3 2 | # 3 | # django-codenerix 4 | # 5 | # Codenerix GNU 6 | # 7 | # Project URL : http://www.codenerix.com 8 | # 9 | # Licensed under the Apache License, Version 2.0 (the "License"); 10 | # you may not use this file except in compliance with the License. 11 | # You may obtain a copy of the License at 12 | # 13 | # http://www.apache.org/licenses/LICENSE-2.0 14 | # 15 | # Unless required by applicable law or agreed to in writing, software 16 | # distributed under the License is distributed on an "AS IS" BASIS, 17 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 18 | # See the License for the specific language governing permissions and 19 | # limitations under the License. 20 | """ 21 | Deprecated library in favor for codenerix-lib 22 | """ 23 | 24 | import inspect 25 | import sys 26 | from os import getcwd 27 | 28 | from codenerix_lib.colors import * # noqa: F403,F401 29 | 30 | # Show a warning message with information about who is importing this library 31 | cf = inspect.currentframe() 32 | me = True 33 | who = None 34 | while cf: 35 | if cf.f_code.co_name == "": 36 | if me: 37 | me = False 38 | else: 39 | who = ( 40 | cf.f_code.co_filename.replace(getcwd(), "."), 41 | cf.f_lineno, 42 | cf.f_code.co_name, 43 | ) 44 | break 45 | cf = cf.f_back 46 | if not who: 47 | who = ("", 0, "") 48 | 49 | print( 50 | f""" 51 | 52 | ========================== W A R N I N G ============================= 53 | DJANGO-CODENERIX: you have imported 'lib.colors' which is DEPRECATED 54 | it will not work in newer versions, instead use 'codenerix_lib.colors' 55 | from codenerix-lib package", please update your code. This message was 56 | shown because is being imported by: 57 | '{who[0]}' at line {who[1]} 58 | ====================================================================== 59 | 60 | """, 61 | file=sys.stderr, 62 | ) 63 | -------------------------------------------------------------------------------- /codenerix/lib/debugger.py: -------------------------------------------------------------------------------- 1 | # 2 | # django-codenerix 3 | # 4 | # Codenerix GNU 5 | # 6 | # Project URL : http://www.codenerix.com 7 | # 8 | # Licensed under the Apache License, Version 2.0 (the "License"); 9 | # you may not use this file except in compliance with the License. 10 | # You may obtain a copy of the License at 11 | # 12 | # http://www.apache.org/licenses/LICENSE-2.0 13 | # 14 | # Unless required by applicable law or agreed to in writing, software 15 | # distributed under the License is distributed on an "AS IS" BASIS, 16 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 17 | # See the License for the specific language governing permissions and 18 | # limitations under the License. 19 | """ 20 | Deprecated library in favor for codenerix-lib 21 | """ 22 | 23 | import inspect 24 | import sys 25 | from os import getcwd 26 | 27 | from codenerix_lib.debugger import * # noqa: F403,F401 28 | 29 | # Show a warning message with information about who is importing this library 30 | cf = inspect.currentframe() 31 | me = True 32 | who = None 33 | while cf: 34 | if cf.f_code.co_name == "": 35 | if me: 36 | me = False 37 | else: 38 | who = ( 39 | cf.f_code.co_filename.replace(getcwd(), "."), 40 | cf.f_lineno, 41 | cf.f_code.co_name, 42 | ) 43 | break 44 | cf = cf.f_back 45 | if not who: 46 | who = ("", 0, "") 47 | 48 | print( 49 | f""" 50 | 51 | ========================== W A R N I N G =============================== 52 | DJANGO-CODENERIX: you have imported 'lib.debugger' which is DEPRECATED 53 | it will not work in newer versions, instead use 'codenerix_lib.debugger' 54 | from codenerix-lib package", please update your code. This message was 55 | shown because is being imported by: 56 | '{who[0]}' at line {who[1]} 57 | ======================================================================== 58 | 59 | """, 60 | file=sys.stderr, 61 | ) 62 | -------------------------------------------------------------------------------- /codenerix/lib/helpers.py: -------------------------------------------------------------------------------- 1 | # 2 | # django-codenerix 3 | # 4 | # Codenerix GNU 5 | # 6 | # Project URL : http://www.codenerix.com 7 | # 8 | # Licensed under the Apache License, Version 2.0 (the "License"); 9 | # you may not use this file except in compliance with the License. 10 | # You may obtain a copy of the License at 11 | # 12 | # http://www.apache.org/licenses/LICENSE-2.0 13 | # 14 | # Unless required by applicable law or agreed to in writing, software 15 | # distributed under the License is distributed on an "AS IS" BASIS, 16 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 17 | # See the License for the specific language governing permissions and 18 | # limitations under the License. 19 | 20 | from codenerix.helpers import upload_path as upload_path_original 21 | 22 | 23 | def upload_path(instance, filename): 24 | return upload_path_original(instance, filename) 25 | -------------------------------------------------------------------------------- /codenerix/lib/pylock.py: -------------------------------------------------------------------------------- 1 | # 2 | # django-codenerix 3 | # 4 | # Codenerix GNU 5 | # 6 | # Project URL : http://www.codenerix.com 7 | # 8 | # Licensed under the Apache License, Version 2.0 (the "License"); 9 | # you may not use this file except in compliance with the License. 10 | # You may obtain a copy of the License at 11 | # 12 | # http://www.apache.org/licenses/LICENSE-2.0 13 | # 14 | # Unless required by applicable law or agreed to in writing, software 15 | # distributed under the License is distributed on an "AS IS" BASIS, 16 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 17 | # See the License for the specific language governing permissions and 18 | # limitations under the License. 19 | """ 20 | Deprecated library in favor for codenerix-lib 21 | """ 22 | 23 | import inspect 24 | import sys 25 | from os import getcwd 26 | 27 | from codenerix_lib.pylock import * # noqa: F403,F401 28 | 29 | # Show a warning message with information about who is importing this library 30 | cf = inspect.currentframe() 31 | me = True 32 | who = None 33 | while cf: 34 | if cf.f_code.co_name == "": 35 | if me: 36 | me = False 37 | else: 38 | who = ( 39 | cf.f_code.co_filename.replace(getcwd(), "."), 40 | cf.f_lineno, 41 | cf.f_code.co_name, 42 | ) 43 | break 44 | cf = cf.f_back 45 | if not who: 46 | who = ("", 0, "") 47 | 48 | print( 49 | f""" 50 | 51 | ========================== W A R N I N G ============================= 52 | DJANGO-CODENERIX: you have imported 'lib.pylock' which is DEPRECATED 53 | it will not work in newer versions, instead use 'codenerix_lib.pylock' 54 | from codenerix-lib package", please update your code. This message was 55 | shown because is being imported by: 56 | '{who[0]}' at line {who[1]} 57 | ====================================================================== 58 | 59 | """, 60 | file=sys.stderr, 61 | ) 62 | -------------------------------------------------------------------------------- /codenerix/locale/es/LC_MESSAGES/django.mo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codenerix/django-codenerix/80e8e43b3fae32b60a5d78d4e92fb2f74e51c89a/codenerix/locale/es/LC_MESSAGES/django.mo -------------------------------------------------------------------------------- /codenerix/management/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codenerix/django-codenerix/80e8e43b3fae32b60a5d78d4e92fb2f74e51c89a/codenerix/management/__init__.py -------------------------------------------------------------------------------- /codenerix/management/commands/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codenerix/django-codenerix/80e8e43b3fae32b60a5d78d4e92fb2f74e51c89a/codenerix/management/commands/__init__.py -------------------------------------------------------------------------------- /codenerix/management/commands/clean.py: -------------------------------------------------------------------------------- 1 | # 2 | # django-codenerix 3 | # 4 | # Codenerix GNU 5 | # 6 | # Project URL : http://www.codenerix.com 7 | # 8 | # Licensed under the Apache License, Version 2.0 (the "License"); 9 | # you may not use this file except in compliance with the License. 10 | # You may obtain a copy of the License at 11 | # 12 | # http://www.apache.org/licenses/LICENSE-2.0 13 | # 14 | # Unless required by applicable law or agreed to in writing, software 15 | # distributed under the License is distributed on an "AS IS" BASIS, 16 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 17 | # See the License for the specific language governing permissions and 18 | # limitations under the License. 19 | 20 | import os 21 | 22 | try: 23 | from subprocess import getstatusoutput 24 | 25 | pythoncmd = "python3" 26 | except Exception: 27 | from commands import ( # type: ignore[import-not-found,no-redef] 28 | getstatusoutput, 29 | ) 30 | 31 | pythoncmd = "python2" 32 | 33 | from codenerix_lib.debugger import Debugger 34 | from django.conf import settings 35 | from django.core.management.base import BaseCommand, CommandError 36 | 37 | 38 | class Command(BaseCommand, Debugger): 39 | # Show this when the user types help 40 | help = "Remove *.pyc files" 41 | 42 | def handle(self, *args, **options): 43 | # Autoconfigure Debugger 44 | self.set_name("CODENERIX") 45 | self.set_debug() 46 | 47 | # Get environment 48 | appname = settings.ROOT_URLCONF.split(".")[0] 49 | basedir = settings.BASE_DIR 50 | appdir = os.path.abspath("{}/{}".format(basedir, appname)) 51 | cmd = ( 52 | f"find {appdir}/ -name '*.py[c|o]' -o " 53 | "-name __pycache__ -exec rm -rf {} +" 54 | ) 55 | status, output = getstatusoutput(cmd) 56 | if status: 57 | raise CommandError(f"{output}\nCommand was: {cmd}") 58 | -------------------------------------------------------------------------------- /codenerix/management/commands/clean_caches.py: -------------------------------------------------------------------------------- 1 | # 2 | # django-codenerix 3 | # 4 | # Codenerix GNU 5 | # 6 | # Project URL : http://www.codenerix.com 7 | # 8 | # Licensed under the Apache License, Version 2.0 (the "License"); 9 | # you may not use this file except in compliance with the License. 10 | # You may obtain a copy of the License at 11 | # 12 | # http://www.apache.org/licenses/LICENSE-2.0 13 | # 14 | # Unless required by applicable law or agreed to in writing, software 15 | # distributed under the License is distributed on an "AS IS" BASIS, 16 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 17 | # See the License for the specific language governing permissions and 18 | # limitations under the License. 19 | 20 | try: 21 | from subprocess import getstatusoutput 22 | 23 | pythoncmd = "python3" 24 | except Exception: 25 | from commands import ( # type: ignore[import-not-found,no-redef] 26 | getstatusoutput, 27 | ) 28 | 29 | pythoncmd = "python2" 30 | 31 | from codenerix_lib.debugger import Debugger 32 | from django.conf import settings 33 | from django.core.management.base import BaseCommand 34 | 35 | 36 | class Command(BaseCommand, Debugger): 37 | # Show this when the user types help 38 | help = "Clean memcache" 39 | 40 | def handle(self, *args, **options): 41 | # Autoconfigure Debugger 42 | self.set_name("CODENERIX") 43 | self.set_debug() 44 | 45 | for name, cache in settings.CACHES.items(): 46 | if "memcache" in cache.get("BACKEND", ""): 47 | location = cache["LOCATION"] 48 | locationsp = location.split(":") 49 | if len(locationsp) == 1: 50 | host = locationsp[0] 51 | port = 11211 52 | else: 53 | host = locationsp[0] 54 | port = locationsp[1] 55 | self.debug( 56 | "Flushing all keys for " 57 | f"{name}@Memcache located at {host}:{port}", 58 | color="blue", 59 | ) 60 | # Get environment 61 | status, output = getstatusoutput( 62 | f"echo 'flush_all' | nc -v -w 1 {host} {port}", 63 | ) 64 | if status: 65 | self.debug( 66 | f"ERROR at {name}@Memcache -> {output}", 67 | color="red", 68 | ) 69 | else: 70 | self.debug( 71 | f"OK at {name}@Memcache located " 72 | f"at {host}:{port} -> {output}", 73 | color="green", 74 | ) 75 | -------------------------------------------------------------------------------- /codenerix/management/commands/colors.py: -------------------------------------------------------------------------------- 1 | # 2 | # django-codenerix 3 | # 4 | # Codenerix GNU 5 | # 6 | # Project URL : http://www.codenerix.com 7 | # 8 | # Licensed under the Apache License, Version 2.0 (the "License"); 9 | # you may not use this file except in compliance with the License. 10 | # You may obtain a copy of the License at 11 | # 12 | # http://www.apache.org/licenses/LICENSE-2.0 13 | # 14 | # Unless required by applicable law or agreed to in writing, software 15 | # distributed under the License is distributed on an "AS IS" BASIS, 16 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 17 | # See the License for the specific language governing permissions and 18 | # limitations under the License. 19 | 20 | import os 21 | 22 | try: 23 | from subprocess import getstatusoutput 24 | 25 | pythoncmd = "python3" 26 | except Exception: 27 | from commands import ( # type: ignore[import-not-found,no-redef] 28 | getstatusoutput, 29 | ) 30 | 31 | pythoncmd = "python2" 32 | 33 | from codenerix_lib.colors import colors 34 | from codenerix_lib.debugger import Debugger 35 | from django.conf import settings 36 | from django.core.management.base import BaseCommand, CommandError 37 | 38 | 39 | class Command(BaseCommand, Debugger): 40 | # Show this when the user types help 41 | help = "Show colors for Debugger" 42 | 43 | def handle(self, *args, **options): 44 | # Autoconfigure Debugger 45 | self.set_name("CODENERIX") 46 | self.set_debug() 47 | 48 | # Reorder colors 49 | keys = [] 50 | for key in colors.keys(): 51 | keys.append((colors[key][0], colors[key][1], key)) 52 | keys.sort() 53 | 54 | # Show up all colors 55 | for color in keys: 56 | # Get the color information 57 | (simplebit, subcolor) = colors[color[2]] 58 | # Show it 59 | print( 60 | "{:1d}:{:02d} - \033[{:1d};{:02d}m{:<14s}\033[1;00m{: div { 45 | margin-left:5px; 46 | margin-right:5px; 47 | } 48 | .listfilters h5,h6 { 49 | margin-top:0px; 50 | } 51 | .listfilters > div { 52 | padding-left:5px; 53 | padding-right:5px; 54 | } 55 | 56 | .listfilters .results { 57 | margin-top:5px; 58 | } 59 | 60 | .djng-field-errors { 61 | top:-5px; 62 | position:absolute; 63 | right:10px; 64 | text-align:right; 65 | } 66 | 67 | input[type="checkbox"] { 68 | margin:0px; 69 | } 70 | 71 | .internal-view { 72 | margin-top: 10px; 73 | } 74 | 75 | .internal-view > .internal-menu { 76 | width:1%; 77 | margin:0px 15px 0px -15px; 78 | } 79 | .internal-view > .internal-body { 80 | width:99%; 81 | padding-left:15px; 82 | } 83 | 84 | .internal-name { 85 | margin: -6px 0px 6px 15px; 86 | height: 30px; 87 | } 88 | .internal-buttons-top { 89 | margin-top: -30px; 90 | } 91 | 92 | .scrolling-container{ 93 | overflow:auto; 94 | white-space:nowrap; 95 | } 96 | 97 | .md-autocomplete-suggestions-container { 98 | z-index:9999 !important; 99 | } 100 | 101 | .row_selected { 102 | background-color: #66ffff; 103 | } 104 | 105 | .bootstrap-switch-container > span { 106 | padding: 4px 12px !important; 107 | } 108 | -------------------------------------------------------------------------------- /codenerix/static/codenerix/img/check_green.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codenerix/django-codenerix/80e8e43b3fae32b60a5d78d4e92fb2f74e51c89a/codenerix/static/codenerix/img/check_green.png -------------------------------------------------------------------------------- /codenerix/static/codenerix/img/codenerix.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codenerix/django-codenerix/80e8e43b3fae32b60a5d78d4e92fb2f74e51c89a/codenerix/static/codenerix/img/codenerix.png -------------------------------------------------------------------------------- /codenerix/static/codenerix/img/codenerix_small.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codenerix/django-codenerix/80e8e43b3fae32b60a5d78d4e92fb2f74e51c89a/codenerix/static/codenerix/img/codenerix_small.png -------------------------------------------------------------------------------- /codenerix/static/codenerix/img/false.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codenerix/django-codenerix/80e8e43b3fae32b60a5d78d4e92fb2f74e51c89a/codenerix/static/codenerix/img/false.png -------------------------------------------------------------------------------- /codenerix/static/codenerix/img/ko_red.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codenerix/django-codenerix/80e8e43b3fae32b60a5d78d4e92fb2f74e51c89a/codenerix/static/codenerix/img/ko_red.png -------------------------------------------------------------------------------- /codenerix/static/codenerix/img/loader.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codenerix/django-codenerix/80e8e43b3fae32b60a5d78d4e92fb2f74e51c89a/codenerix/static/codenerix/img/loader.gif -------------------------------------------------------------------------------- /codenerix/static/codenerix/img/ok.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codenerix/django-codenerix/80e8e43b3fae32b60a5d78d4e92fb2f74e51c89a/codenerix/static/codenerix/img/ok.gif -------------------------------------------------------------------------------- /codenerix/static/codenerix/img/true.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codenerix/django-codenerix/80e8e43b3fae32b60a5d78d4e92fb2f74e51c89a/codenerix/static/codenerix/img/true.png -------------------------------------------------------------------------------- /codenerix/static/codenerix/img/warning.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codenerix/django-codenerix/80e8e43b3fae32b60a5d78d4e92fb2f74e51c89a/codenerix/static/codenerix/img/warning.gif -------------------------------------------------------------------------------- /codenerix/static/codenerix/js/app.js: -------------------------------------------------------------------------------- 1 | /* 2 | * 3 | * django-codenerix 4 | * 5 | * Codenerix GNU 6 | * 7 | * Project URL : http://www.codenerix.com 8 | * 9 | * Licensed under the Apache License, Version 2.0 (the "License"); 10 | * you may not use this file except in compliance with the License. 11 | * You may obtain a copy of the License at 12 | * 13 | * http://www.apache.org/licenses/LICENSE-2.0 14 | * 15 | * Unless required by applicable law or agreed to in writing, software 16 | * distributed under the License is distributed on an "AS IS" BASIS, 17 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 18 | * See the License for the specific language governing permissions and 19 | * limitations under the License. 20 | */ 21 | 22 | var module=codenerix_builder(); 23 | -------------------------------------------------------------------------------- /codenerix/static/codenerix/js/base.js: -------------------------------------------------------------------------------- 1 | /* 2 | * 3 | * django-codenerix 4 | * 5 | * Codenerix GNU 6 | * 7 | * Project URL : http://www.codenerix.com 8 | * 9 | * Licensed under the Apache License, Version 2.0 (the "License"); 10 | * you may not use this file except in compliance with the License. 11 | * You may obtain a copy of the License at 12 | * 13 | * http://www.apache.org/licenses/LICENSE-2.0 14 | * 15 | * Unless required by applicable law or agreed to in writing, software 16 | * distributed under the License is distributed on an "AS IS" BASIS, 17 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 18 | * See the License for the specific language governing permissions and 19 | * limitations under the License. 20 | */ 21 | 22 | // Codenerix APP declaration 23 | angular.module('codenerixApp', [ 24 | 'ui.bootstrap', 25 | 'chieffancypants.loadingBar', 26 | 'codenerixNotify', 27 | 'colorContrast', 28 | 'ui.select', 29 | 'ngMaterial', 30 | 'vcRecaptcha', 31 | ]) 32 | 33 | // Loading bar startup 34 | .config(function(cfpLoadingBarProvider) { 35 | cfpLoadingBarProvider.includeSpinner = true; 36 | }); 37 | -------------------------------------------------------------------------------- /codenerix/static/codenerix/js/rows.js: -------------------------------------------------------------------------------- 1 | /* 2 | * 3 | * django-codenerix 4 | * 5 | * Codenerix GNU 6 | * 7 | * Project URL : http://www.codenerix.com 8 | * 9 | * Licensed under the Apache License, Version 2.0 (the "License"); 10 | * you may not use this file except in compliance with the License. 11 | * You may obtain a copy of the License at 12 | * 13 | * http://www.apache.org/licenses/LICENSE-2.0 14 | * 15 | * Unless required by applicable law or agreed to in writing, software 16 | * distributed under the License is distributed on an "AS IS" BASIS, 17 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 18 | * See the License for the specific language governing permissions and 19 | * limitations under the License. 20 | */ 21 | angular.module('customFilters', []); 22 | -------------------------------------------------------------------------------- /codenerix/static/codenerix/lib/angular-base64-upload.README.md: -------------------------------------------------------------------------------- 1 | angular-base64-upload 2 | ===================== 3 | 4 | ![alt tag](https://raw.github.com/adonespitogo/angular-base64-upload/master/banner.png) 5 | 6 | Angular directive for uploading base64-encoded files that you can pass along with the resource model. This directive is based from one of the answers in this [SO question](http://stackoverflow.com/questions/20521366/rails-4-angularjs-paperclip-how-to-upload-file). 7 | 8 | Note: This directive only supports single file selection. 9 | 10 | Installation 11 | ------------- 12 | Bower: `bower install angular-base64-upload` 13 | 14 | Example 15 | -------------------------- 16 | See the [demo folder](https://github.com/adonespitogo/angular-base64-upload/tree/master/demo). 17 | 18 | Usage 19 | ------- 20 | 21 | Include `angular.js` and `angular-base64-upload.js` in your application and add `naif.base64` as dependency to your main module: 22 | 23 | ``` 24 | angular.module('myApp', ['naif.base64']); 25 | ``` 26 | 27 | HTML:
28 | ```html 29 |
30 | 31 |
32 | ``` 33 | 34 | Sample `yourModel` value after selecting a file: 35 | ```json 36 | { 37 | "filesize": 54836, 38 | "filetype": "image/jpeg", 39 | "filename": "profile.jpg", 40 | "base64": "/9j/4AAQSkZJRgABAgAAAQABAAD//gAEKgD/4gIcSUNDX1BST0ZJTEUAAQEAAAIMbGNtcwIQA..." 41 | } 42 | ``` 43 | 44 | Server-Side 45 | --------------- 46 | 47 | You will have to decode the base64 file in your backend on your own. Sample PHP code for decoding base64 file in [demo folder](https://github.com/adonespitogo/angular-base64-upload/tree/master/demo). 48 | Below is a ruby code for decoding the base64-encoded file to be passed to paperclip: 49 | ```ruby 50 | def create 51 | @resource.attachment = decode_base64 52 | # save resource and render response ... 53 | end 54 | 55 | def decode_base64 56 | # decode base64 string 57 | Rails.logger.info 'decoding base64 file' 58 | decoded_data = Base64.decode64(params[:your_model][:base64]) 59 | # create 'file' understandable by Paperclip 60 | data = StringIO.new(decoded_data) 61 | data.class_eval do 62 | attr_accessor :content_type, :original_filename 63 | end 64 | 65 | # set file properties 66 | data.content_type = params[:your_model][:filetype] 67 | data.original_filename = params[:your_model][:filename] 68 | 69 | # return data to be used as the attachment file (paperclip) 70 | data 71 | end 72 | ``` 73 | 74 | ## License 75 | 76 | Released under the terms of MIT License. 77 | -------------------------------------------------------------------------------- /codenerix/static/codenerix/lib/angular-base64-upload.js: -------------------------------------------------------------------------------- 1 | angular.module('naif.base64', []) 2 | .directive('baseSixtyFourInput', ['$window', function ($window) { 3 | return { 4 | restrict: 'A', 5 | require: 'ngModel', 6 | link: function (scope, elem, attrs, ngModel) { 7 | var fileObject = {}; 8 | 9 | scope.readerOnload = function(e){ 10 | var base64 = _arrayBufferToBase64(e.target.result); 11 | fileObject.base64 = base64; 12 | scope.$apply(function(){ 13 | ngModel.$setViewValue(fileObject); 14 | }); 15 | }; 16 | 17 | var reader = new FileReader(); 18 | reader.onload = scope.readerOnload; 19 | 20 | elem.on('change', function() { 21 | var file = elem[0].files[0]; 22 | fileObject.filetype = file.type; 23 | fileObject.filename = file.name; 24 | fileObject.filesize = file.size; 25 | reader.readAsArrayBuffer(file); 26 | }); 27 | 28 | //http://stackoverflow.com/questions/9267899/arraybuffer-to-base64-encoded-string 29 | function _arrayBufferToBase64( buffer ) { 30 | var binary = ''; 31 | var bytes = new Uint8Array( buffer ); 32 | var len = bytes.byteLength; 33 | for (var i = 0; i < len; i++) { 34 | binary += String.fromCharCode( bytes[ i ] ); 35 | } 36 | return $window.btoa( binary ); 37 | } 38 | } 39 | }; 40 | }]); 41 | -------------------------------------------------------------------------------- /codenerix/static/codenerix/lib/angular-bootstrap-colorpicker/MIT-LICENSE.txt: -------------------------------------------------------------------------------- 1 | The MIT License (MIT) 2 | 3 | Copyright (c) 2013 Michal Zielenkiewicz 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy of 6 | this software and associated documentation files (the "Software"), to deal in 7 | the Software without restriction, including without limitation the rights to 8 | use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of 9 | the Software, and to permit persons to whom the Software is furnished to do so, 10 | subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS 17 | FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR 18 | COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER 19 | IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN 20 | CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 21 | -------------------------------------------------------------------------------- /codenerix/static/codenerix/lib/angular-bootstrap-colorpicker/img/alpha.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codenerix/django-codenerix/80e8e43b3fae32b60a5d78d4e92fb2f74e51c89a/codenerix/static/codenerix/lib/angular-bootstrap-colorpicker/img/alpha.png -------------------------------------------------------------------------------- /codenerix/static/codenerix/lib/angular-bootstrap-colorpicker/img/hue.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codenerix/django-codenerix/80e8e43b3fae32b60a5d78d4e92fb2f74e51c89a/codenerix/static/codenerix/lib/angular-bootstrap-colorpicker/img/hue.png -------------------------------------------------------------------------------- /codenerix/static/codenerix/lib/angular-bootstrap-colorpicker/img/saturation.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codenerix/django-codenerix/80e8e43b3fae32b60a5d78d4e92fb2f74e51c89a/codenerix/static/codenerix/lib/angular-bootstrap-colorpicker/img/saturation.png -------------------------------------------------------------------------------- /codenerix/static/codenerix/lib/angular-bootstrap-tabcollapse.js: -------------------------------------------------------------------------------- 1 | var tabs = function ($scope) { $scope.tabbed=(findBootstrapEnvironment()!='xs'); }; 2 | $(function(){ 3 | $('#collapsabletabs').tabCollapse({}); 4 | $('#collapsabletabs').on('show-tabs.bs.tabcollapse', function(){ 5 | var scope = angular.element('#tabs').scope(); 6 | scope.tabbed=true; 7 | scope.$apply(); 8 | }); 9 | $('#collapsabletabs').on('shown-accordion.bs.tabcollapse', function(){ 10 | var scope = angular.element('#tabs').scope(); 11 | scope.tabbed=false; 12 | scope.$apply(); 13 | }); 14 | }); 15 | -------------------------------------------------------------------------------- /codenerix/static/codenerix/lib/angular-daterangepicker/LICENSE.md: -------------------------------------------------------------------------------- 1 | The MIT License (MIT) 2 | 3 | Copyright (c) 2015 Fragaria, s.r.o. 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in 13 | all copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 21 | THE SOFTWARE. 22 | -------------------------------------------------------------------------------- /codenerix/static/codenerix/lib/angular-daterangepicker/angular-daterangepicker.min.js: -------------------------------------------------------------------------------- 1 | (function(){var a;a=angular.module("daterangepicker",[]),a.constant("dateRangePickerConfig",{separator:" - ",format:"YYYY-MM-DD",clearLabel:"Clear"}),a.directive("dateRangePicker",["$compile","$timeout","$parse","dateRangePickerConfig",function(a,b,c,d){return{require:"ngModel",restrict:"A",scope:{dateMin:"=min",dateMax:"=max",model:"=ngModel",opts:"=options",clearable:"="},link:function(a,c,e,f){var g,h,i,j,k,l,m,n,o,p,q,r;return i=$(c),h=a.opts,k=angular.extend({},d,h),n=null,g=function(){return n.setStartDate(),n.setEndDate(),i.val("")},p=function(a){return b(function(){var b;return n?a?(b=moment(a),n.endDateb&&n.setStartDate(b),n.setEndDate(b)):g():void 0})},a.$watch("model.startDate",function(a){return p(a)}),a.$watch("model.endDate",function(a){return o(a)}),l=function(a){var b;return b=function(a){return moment.isMoment(a)?a.format(k.format):moment(a).format(k.format)},k.singleDatePicker?b(a.startDate):[b(a.startDate),b(a.endDate)].join(k.separator)},r=function(a,b){var c;return a=moment(a),b=moment(b),c=a.isBefore(b)||a.isSame(b,"day"),f.$setValidity("min",c),c},q=function(a,b){var c;return a=moment(a),b=moment(b),c=a.isAfter(b)||a.isSame(b,"day"),f.$setValidity("max",c),c},f.$formatters.push(function(a){return a&&a.startDate&&a.endDate?(p(a.startDate),o(a.endDate),a):""}),f.$parsers.push(function(b){return angular.isObject(b)&&b.hasOwnProperty("startDate")&&b.hasOwnProperty("endDate")?(a.dateMin&&b.startDate?r(a.dateMin,b.startDate):f.$setValidity("min",!0),a.dateMax&&b.endDate?q(a.dateMax,b.endDate):f.$setValidity("max",!0),b):f.$modelValue}),f.$isEmpty=function(a){return!a||null===a.startDate||null===a.endDate},f.$render=function(){return i.val(f.$modelValue?null===f.$modelValue.startDate?"":l(f.$modelValue):"")},e.clearable&&(j=k.locale||{},j.cancelLabel=k.clearLabel,k.locale=j,i.on("cancel.daterangepicker",function(){return i.val(""),i.trigger("change")})),m=function(){var a,c,d;i.daterangepicker(k,function(a,c){return b(function(){return f.$setViewValue({startDate:a,endDate:c})}),f.$render()}),n=i.data("daterangepicker"),d=k.eventHandlers;for(c in d)a=d[c],i.on(c,a)},m(),i.change(function(){return""===$.trim(i.val())?b(function(){return f.$setViewValue({startDate:null,endDate:null})}):void 0}),e.min&&a.$watch("dateMin",function(a){return a?(f.$isEmpty(f.$modelValue)||r(a,f.$modelValue.startDate),k.minDate=moment(a)):k.minDate=!1,m()}),e.max&&a.$watch("dateMax",function(a){return a?(f.$isEmpty(f.$modelValue)||q(a,f.$modelValue.endDate),k.maxDate=moment(a)):k.maxDate=!1,m()}),e.options&&a.$watch("opts",function(a){return k=angular.extend(k,a),m()}),a.$on("$destroy",function(){return null!=n?n.remove():void 0})}}}])}).call(this); 2 | //# sourceMappingURL=angular-daterangepicker.min.map 3 | -------------------------------------------------------------------------------- /codenerix/static/codenerix/lib/angular-hotkeys/hotkeys.css: -------------------------------------------------------------------------------- 1 | /*! 2 | * angular-hotkeys v1.7.0 3 | * https://chieffancypants.github.io/angular-hotkeys 4 | * Copyright (c) 2016 Wes Cruver 5 | * License: MIT 6 | */ 7 | .cfp-hotkeys-container { 8 | display: table !important; 9 | position: fixed; 10 | width: 100%; 11 | height: 100%; 12 | top: 0; 13 | left: 0; 14 | color: #333; 15 | font-size: 1em; 16 | background-color: rgba(255,255,255,0.9); 17 | } 18 | 19 | .cfp-hotkeys-container.fade { 20 | z-index: -1024; 21 | visibility: hidden; 22 | opacity: 0; 23 | -webkit-transition: opacity 0.15s linear; 24 | -moz-transition: opacity 0.15s linear; 25 | -o-transition: opacity 0.15s linear; 26 | transition: opacity 0.15s linear; 27 | } 28 | 29 | .cfp-hotkeys-container.fade.in { 30 | z-index: 10002; 31 | visibility: visible; 32 | opacity: 1; 33 | } 34 | 35 | .cfp-hotkeys-title { 36 | font-weight: bold; 37 | text-align: center; 38 | font-size: 1.2em; 39 | } 40 | 41 | .cfp-hotkeys { 42 | width: 100%; 43 | height: 100%; 44 | display: table-cell; 45 | vertical-align: middle; 46 | } 47 | 48 | .cfp-hotkeys table { 49 | margin: auto; 50 | color: #333; 51 | } 52 | 53 | .cfp-content { 54 | display: table-cell; 55 | vertical-align: middle; 56 | } 57 | 58 | .cfp-hotkeys-keys { 59 | padding: 5px; 60 | text-align: right; 61 | } 62 | 63 | .cfp-hotkeys-key { 64 | display: inline-block; 65 | color: #fff; 66 | background-color: #333; 67 | border: 1px solid #333; 68 | border-radius: 5px; 69 | text-align: center; 70 | margin-right: 5px; 71 | box-shadow: inset 0 1px 0 #666, 0 1px 0 #bbb; 72 | padding: 5px 9px; 73 | font-size: 1em; 74 | } 75 | 76 | .cfp-hotkeys-text { 77 | padding-left: 10px; 78 | font-size: 1em; 79 | } 80 | 81 | .cfp-hotkeys-close { 82 | position: fixed; 83 | top: 20px; 84 | right: 20px; 85 | font-size: 2em; 86 | font-weight: bold; 87 | padding: 5px 10px; 88 | border: 1px solid #ddd; 89 | border-radius: 5px; 90 | min-height: 45px; 91 | min-width: 45px; 92 | text-align: center; 93 | } 94 | 95 | .cfp-hotkeys-close:hover { 96 | background-color: #fff; 97 | cursor: pointer; 98 | } 99 | 100 | @media all and (max-width: 500px) { 101 | .cfp-hotkeys { 102 | font-size: 0.8em; 103 | } 104 | } 105 | 106 | @media all and (min-width: 750px) { 107 | .cfp-hotkeys { 108 | font-size: 1.2em; 109 | } 110 | } 111 | -------------------------------------------------------------------------------- /codenerix/static/codenerix/lib/angular-hotkeys/hotkeys.min.css: -------------------------------------------------------------------------------- 1 | .cfp-hotkeys,.cfp-hotkeys-container{width:100%;height:100%}.cfp-hotkeys-container{display:table!important;position:fixed;top:0;left:0;color:#333;font-size:1em;background-color:rgba(255,255,255,.9)}.cfp-content,.cfp-hotkeys{display:table-cell;vertical-align:middle}.cfp-hotkeys-container.fade{z-index:-1024;visibility:hidden;opacity:0;-webkit-transition:opacity .15s linear;-moz-transition:opacity .15s linear;-o-transition:opacity .15s linear;transition:opacity .15s linear}.cfp-hotkeys-container.fade.in{z-index:10002;visibility:visible;opacity:1}.cfp-hotkeys-title{font-weight:700;text-align:center;font-size:1.2em}.cfp-hotkeys table{margin:auto;color:#333}.cfp-hotkeys-keys{padding:5px;text-align:right}.cfp-hotkeys-key{display:inline-block;color:#fff;background-color:#333;border:1px solid #333;border-radius:5px;text-align:center;margin-right:5px;box-shadow:inset 0 1px 0 #666,0 1px 0 #bbb;padding:5px 9px;font-size:1em}.cfp-hotkeys-text{padding-left:10px;font-size:1em}.cfp-hotkeys-close{position:fixed;top:20px;right:20px;font-size:2em;font-weight:700;padding:5px 10px;border:1px solid #ddd;border-radius:5px;min-height:45px;min-width:45px;text-align:center}.cfp-hotkeys-close:hover{background-color:#fff;cursor:pointer}@media all and (max-width:500px){.cfp-hotkeys{font-size:.8em}}@media all and (min-width:750px){.cfp-hotkeys{font-size:1.2em}} 2 | -------------------------------------------------------------------------------- /codenerix/static/codenerix/lib/angular-loading-bar/0.5.0: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codenerix/django-codenerix/80e8e43b3fae32b60a5d78d4e92fb2f74e51c89a/codenerix/static/codenerix/lib/angular-loading-bar/0.5.0 -------------------------------------------------------------------------------- /codenerix/static/codenerix/lib/angular-loading-bar/loading-bar.min.css: -------------------------------------------------------------------------------- 1 | /*! 2 | * angular-loading-bar v0.5.2 3 | * https://chieffancypants.github.io/angular-loading-bar 4 | * Copyright (c) 2014 Wes Cruver 5 | * License: MIT 6 | */ 7 | 8 | #loading-bar,#loading-bar-spinner{pointer-events:none;-webkit-pointer-events:none;-webkit-transition:350ms linear all;-moz-transition:350ms linear all;-o-transition:350ms linear all;transition:350ms linear all}#loading-bar.ng-enter,#loading-bar.ng-leave.ng-leave-active,#loading-bar-spinner.ng-enter,#loading-bar-spinner.ng-leave.ng-leave-active{opacity:0}#loading-bar.ng-enter.ng-enter-active,#loading-bar.ng-leave,#loading-bar-spinner.ng-enter.ng-enter-active,#loading-bar-spinner.ng-leave{opacity:1}#loading-bar .bar{-webkit-transition:width 350ms;-moz-transition:width 350ms;-o-transition:width 350ms;transition:width 350ms;background:#29d;position:fixed;z-index:10002;top:0;left:0;width:100%;height:2px;border-bottom-right-radius:1px;border-top-right-radius:1px}#loading-bar .peg{position:absolute;width:70px;right:0;top:0;height:2px;opacity:.45;-moz-box-shadow:#29d 1px 0 6px 1px;-ms-box-shadow:#29d 1px 0 6px 1px;-webkit-box-shadow:#29d 1px 0 6px 1px;box-shadow:#29d 1px 0 6px 1px;-moz-border-radius:100%;-webkit-border-radius:100%;border-radius:100%}#loading-bar-spinner{display:block;position:fixed;z-index:10002;top:10px;left:10px}#loading-bar-spinner .spinner-icon{width:14px;height:14px;border:solid 2px transparent;border-top-color:#29d;border-left-color:#29d;border-radius:10px;-webkit-animation:loading-bar-spinner 400ms linear infinite;-moz-animation:loading-bar-spinner 400ms linear infinite;-ms-animation:loading-bar-spinner 400ms linear infinite;-o-animation:loading-bar-spinner 400ms linear infinite;animation:loading-bar-spinner 400ms linear infinite}@-webkit-keyframes loading-bar-spinner{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@-moz-keyframes loading-bar-spinner{0%{-moz-transform:rotate(0deg);transform:rotate(0deg)}100%{-moz-transform:rotate(360deg);transform:rotate(360deg)}}@-o-keyframes loading-bar-spinner{0%{-o-transform:rotate(0deg);transform:rotate(0deg)}100%{-o-transform:rotate(360deg);transform:rotate(360deg)}}@-ms-keyframes loading-bar-spinner{0%{-ms-transform:rotate(0deg);transform:rotate(0deg)}100%{-ms-transform:rotate(360deg);transform:rotate(360deg)}}@keyframes loading-bar-spinner{0%{transform:rotate(0deg);transform:rotate(0deg)}100%{transform:rotate(360deg);transform:rotate(360deg)}} 9 | -------------------------------------------------------------------------------- /codenerix/static/codenerix/lib/angular-loading-bar/loading-bar.min.js: -------------------------------------------------------------------------------- 1 | /*! 2 | * angular-loading-bar v0.5.2 3 | * https://chieffancypants.github.io/angular-loading-bar 4 | * Copyright (c) 2014 Wes Cruver 5 | * License: MIT 6 | */ 7 | !function(){"use strict";angular.module("angular-loading-bar",["cfp.loadingBarInterceptor"]),angular.module("chieffancypants.loadingBar",["cfp.loadingBarInterceptor"]),angular.module("cfp.loadingBarInterceptor",["cfp.loadingBar"]).config(["$httpProvider",function(a){var b=["$q","$cacheFactory","$timeout","$rootScope","cfpLoadingBar",function(b,c,d,e,f){function g(){d.cancel(i),f.complete(),k=0,j=0}function h(b){var d,e=c.get("$http"),f=a.defaults;!b.cache&&!f.cache||b.cache===!1||"GET"!==b.method&&"JSONP"!==b.method||(d=angular.isObject(b.cache)?b.cache:angular.isObject(f.cache)?f.cache:e);var g=void 0!==d?void 0!==d.get(b.url):!1;return void 0!==b.cached&&g!==b.cached?b.cached:(b.cached=g,g)}var i,j=0,k=0,l=f.latencyThreshold;return{request:function(a){return a.ignoreLoadingBar||h(a)||(e.$broadcast("cfpLoadingBar:loading",{url:a.url}),0===j&&(i=d(function(){f.start()},l)),j++,f.set(k/j)),a},response:function(a){return a.config.ignoreLoadingBar||h(a.config)||(k++,e.$broadcast("cfpLoadingBar:loaded",{url:a.config.url}),k>=j?g():f.set(k/j)),a},responseError:function(a){return a.config.ignoreLoadingBar||h(a.config)||(k++,e.$broadcast("cfpLoadingBar:loaded",{url:a.config.url}),k>=j?g():f.set(k/j)),b.reject(a)}}}];a.interceptors.push(b)}]),angular.module("cfp.loadingBar",[]).provider("cfpLoadingBar",function(){this.includeSpinner=!0,this.includeBar=!0,this.latencyThreshold=100,this.startSize=.02,this.parentSelector="body",this.spinnerTemplate='
',this.$get=["$injector","$document","$timeout","$rootScope",function(a,b,c,d){function e(){k||(k=a.get("$animate"));var e=b.find(n);c.cancel(m),r||(d.$broadcast("cfpLoadingBar:started"),r=!0,u&&k.enter(o,e),t&&k.enter(q,e),f(v))}function f(a){if(r){var b=100*a+"%";p.css("width",b),s=a,c.cancel(l),l=c(function(){g()},250)}}function g(){if(!(h()>=1)){var a=0,b=h();a=b>=0&&.25>b?(3*Math.random()+3)/100:b>=.25&&.65>b?3*Math.random()/100:b>=.65&&.9>b?2*Math.random()/100:b>=.9&&.99>b?.005:0;var c=h()+a;f(c)}}function h(){return s}function i(){s=0,r=!1}function j(){k||(k=a.get("$animate")),d.$broadcast("cfpLoadingBar:completed"),f(1),c.cancel(m),m=c(function(){var a=k.leave(o,i);a&&a.then&&a.then(i),k.leave(q)},500)}var k,l,m,n=this.parentSelector,o=angular.element('
'),p=o.find("div").eq(0),q=angular.element(this.spinnerTemplate),r=!1,s=0,t=this.includeSpinner,u=this.includeBar,v=this.startSize;return{start:e,set:f,status:h,inc:g,complete:j,includeSpinner:this.includeSpinner,latencyThreshold:this.latencyThreshold,parentSelector:this.parentSelector,startSize:this.startSize}}]})}(); 8 | -------------------------------------------------------------------------------- /codenerix/static/codenerix/lib/angular-material/1.0.9: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codenerix/django-codenerix/80e8e43b3fae32b60a5d78d4e92fb2f74e51c89a/codenerix/static/codenerix/lib/angular-material/1.0.9 -------------------------------------------------------------------------------- /codenerix/static/codenerix/lib/angular-quill/LICENSE: -------------------------------------------------------------------------------- 1 | Copyright (c) 2014, Jason Chen 2 | Copyright (c) 2013, salesforce.com 3 | All rights reserved. 4 | 5 | Redistribution and use in source and binary forms, with or without 6 | modification, are permitted provided that the following conditions 7 | are met: 8 | 9 | 1. Redistributions of source code must retain the above copyright 10 | notice, this list of conditions and the following disclaimer. 11 | 12 | 2. Redistributions in binary form must reproduce the above copyright 13 | notice, this list of conditions and the following disclaimer in the 14 | documentation and/or other materials provided with the distribution. 15 | 16 | 3. Neither the name of the copyright holder nor the names of its 17 | contributors may be used to endorse or promote products derived from 18 | this software without specific prior written permission. 19 | 20 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS 21 | IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED 22 | TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A 23 | PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT 24 | HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 25 | SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT 26 | LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 27 | DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 28 | THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 29 | (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 30 | OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 31 | -------------------------------------------------------------------------------- /codenerix/static/codenerix/lib/angular-recaptcha/LICENSE: -------------------------------------------------------------------------------- 1 | The MIT License 2 | 3 | Copyright (c) 2013 VividCortex 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in 13 | all copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 21 | THE SOFTWARE. 22 | -------------------------------------------------------------------------------- /codenerix/static/codenerix/lib/angular/1.5.7: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codenerix/django-codenerix/80e8e43b3fae32b60a5d78d4e92fb2f74e51c89a/codenerix/static/codenerix/lib/angular/1.5.7 -------------------------------------------------------------------------------- /codenerix/static/codenerix/lib/angular/angular-cookies.min.js: -------------------------------------------------------------------------------- 1 | /* 2 | AngularJS v1.5.7 3 | (c) 2010-2016 Google, Inc. http://angularjs.org 4 | License: MIT 5 | */ 6 | (function(n,c){'use strict';function l(b,a,g){var d=g.baseHref(),k=b[0];return function(b,e,f){var g,h;f=f||{};h=f.expires;g=c.isDefined(f.path)?f.path:d;c.isUndefined(e)&&(h="Thu, 01 Jan 1970 00:00:00 GMT",e="");c.isString(h)&&(h=new Date(h));e=encodeURIComponent(b)+"="+encodeURIComponent(e);e=e+(g?";path="+g:"")+(f.domain?";domain="+f.domain:"");e+=h?";expires="+h.toUTCString():"";e+=f.secure?";secure":"";f=e.length+1;4096 4096 bytes)!");k.cookie=e}}c.module("ngCookies",["ng"]).provider("$cookies",[function(){var b=this.defaults={};this.$get=["$$cookieReader","$$cookieWriter",function(a,g){return{get:function(d){return a()[d]},getObject:function(d){return(d=this.get(d))?c.fromJson(d):d},getAll:function(){return a()},put:function(d,a,m){g(d,a,m?c.extend({},b,m):b)},putObject:function(d,b,a){this.put(d,c.toJson(b),a)},remove:function(a,k){g(a,void 0,k?c.extend({},b,k):b)}}}]}]);c.module("ngCookies").factory("$cookieStore", 8 | ["$cookies",function(b){return{get:function(a){return b.getObject(a)},put:function(a,c){b.putObject(a,c)},remove:function(a){b.remove(a)}}}]);l.$inject=["$document","$log","$browser"];c.module("ngCookies").provider("$$cookieWriter",function(){this.$get=l})})(window,window.angular); 9 | //# sourceMappingURL=angular-cookies.min.js.map 10 | -------------------------------------------------------------------------------- /codenerix/static/codenerix/lib/angular/angular-csp.css: -------------------------------------------------------------------------------- 1 | /* Include this file in your html if you are using the CSP mode. */ 2 | 3 | @charset "UTF-8"; 4 | 5 | [ng\:cloak], [ng-cloak], [data-ng-cloak], [x-ng-cloak], 6 | .ng-cloak, .x-ng-cloak, 7 | .ng-hide:not(.ng-hide-animate) { 8 | display: none !important; 9 | } 10 | 11 | ng\:form { 12 | display: block; 13 | } 14 | 15 | .ng-animate-shim { 16 | visibility:hidden; 17 | } 18 | 19 | .ng-anchor { 20 | position:absolute; 21 | } 22 | -------------------------------------------------------------------------------- /codenerix/static/codenerix/lib/angular/angular-loader.min.js: -------------------------------------------------------------------------------- 1 | /* 2 | AngularJS v1.5.7 3 | (c) 2010-2016 Google, Inc. http://angularjs.org 4 | License: MIT 5 | */ 6 | (function(){'use strict';function d(b){return function(){var a=arguments[0],e;e="["+(b?b+":":"")+a+"] http://errors.angularjs.org/1.5.7/"+(b?b+"/":"")+a;for(a=1;a 4 | */ 5 | ;(function($){ 6 | $.fn.datetimepicker.dates['ar'] = { 7 | days: ["الأحد", "الاثنين", "الثلاثاء", "الأربعاء", "الخميس", "الجمعة", "السبت", "الأحد"], 8 | daysShort: ["أحد", "اثنين", "ثلاثاء", "أربعاء", "خميس", "جمعة", "سبت", "أحد"], 9 | daysMin: ["أح", "إث", "ث", "أر", "خ", "ج", "س", "أح"], 10 | months: ["يناير", "فبراير", "مارس", "أبريل", "مايو", "يونيو", "يوليو", "أغسطس", "سبتمبر", "أكتوبر", "نوفمبر", "ديسمبر"], 11 | monthsShort: ["يناير", "فبراير", "مارس", "أبريل", "مايو", "يونيو", "يوليو", "أغسطس", "سبتمبر", "أكتوبر", "نوفمبر", "ديسمبر"], 12 | today: "هذا اليوم", 13 | suffix: [], 14 | meridiem: [], 15 | rtl: true 16 | }; 17 | }(jQuery)); 18 | -------------------------------------------------------------------------------- /codenerix/static/codenerix/lib/bootstrap-datetimepicker/js/locales/bootstrap-datetimepicker.bg.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Bulgarian translation for bootstrap-datetimepicker 3 | * Apostol Apostolov 4 | */ 5 | ;(function($){ 6 | $.fn.datetimepicker.dates['bg'] = { 7 | days: ["Неделя", "Понеделник", "Вторник", "Сряда", "Четвъртък", "Петък", "Събота", "Неделя"], 8 | daysShort: ["Нед", "Пон", "Вто", "Сря", "Чет", "Пет", "Съб", "Нед"], 9 | daysMin: ["Н", "П", "В", "С", "Ч", "П", "С", "Н"], 10 | months: ["Януари", "Февруари", "Март", "Април", "Май", "Юни", "Юли", "Август", "Септември", "Октомври", "Ноември", "Декември"], 11 | monthsShort: ["Ян", "Фев", "Мар", "Апр", "Май", "Юни", "Юли", "Авг", "Сеп", "Окт", "Ное", "Дек"], 12 | today: "днес", 13 | suffix: [], 14 | meridiem: [] 15 | }; 16 | }(jQuery)); 17 | -------------------------------------------------------------------------------- /codenerix/static/codenerix/lib/bootstrap-datetimepicker/js/locales/bootstrap-datetimepicker.ca.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Catalan translation for bootstrap-datetimepicker 3 | * J. Garcia 4 | */ 5 | ;(function($){ 6 | $.fn.datetimepicker.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 | suffix: [], 14 | meridiem: [] 15 | }; 16 | }(jQuery)); 17 | -------------------------------------------------------------------------------- /codenerix/static/codenerix/lib/bootstrap-datetimepicker/js/locales/bootstrap-datetimepicker.cs.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Czech translation for bootstrap-datetimepicker 3 | * Matěj Koubík 4 | * Fixes by Michal Remiš 5 | */ 6 | ;(function($){ 7 | $.fn.datetimepicker.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 | suffix: [], 15 | meridiem: [], 16 | weekStart: 1, 17 | format: "dd.mm.yyyy" 18 | }; 19 | }(jQuery)); 20 | -------------------------------------------------------------------------------- /codenerix/static/codenerix/lib/bootstrap-datetimepicker/js/locales/bootstrap-datetimepicker.da.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Danish translation for bootstrap-datetimepicker 3 | * Christian Pedersen 4 | */ 5 | ;(function($){ 6 | $.fn.datetimepicker.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 | suffix: [], 14 | meridiem: [] 15 | }; 16 | }(jQuery)); 17 | -------------------------------------------------------------------------------- /codenerix/static/codenerix/lib/bootstrap-datetimepicker/js/locales/bootstrap-datetimepicker.de.js: -------------------------------------------------------------------------------- 1 | /** 2 | * German translation for bootstrap-datetimepicker 3 | * Sam Zurcher 4 | */ 5 | ;(function($){ 6 | $.fn.datetimepicker.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 | suffix: [], 14 | meridiem: [], 15 | weekStart: 1, 16 | format: "dd.mm.yyyy" 17 | }; 18 | }(jQuery)); 19 | -------------------------------------------------------------------------------- /codenerix/static/codenerix/lib/bootstrap-datetimepicker/js/locales/bootstrap-datetimepicker.ee.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Estonian translation for bootstrap-datetimepicker 3 | * Rene Korss 4 | */ 5 | ;(function($){ 6 | $.fn.datetimepicker.dates['ee'] = { 7 | days: ["Pühapäev", "Esmaspäev", "Teisipäev", "Kolmapäev", "Neljapäev", "Reede", "Laupäev", "Pühapäev"], 8 | daysShort: ["P", "E", "T", "K", "N", "R", "L", "P"], 9 | daysMin: ["P", "E", "T", "K", "N", "R", "L", "P"], 10 | months: ["Jaanuar", "Veebruar", "Märts", "Aprill", "Mai", "Juuni", "Juuli", "August", "September", "Oktoober", "November", "Detsember"], 11 | monthsShort: ["Jaan", "Veebr", "Märts", "Apr", "Mai", "Juuni", "Juuli", "Aug", "Sept", "Okt", "Nov", "Dets"], 12 | today: "Täna", 13 | suffix: [], 14 | meridiem: [], 15 | weekStart: 1, 16 | format: "dd.mm.yyyy hh:ii" 17 | }; 18 | }(jQuery)); 19 | -------------------------------------------------------------------------------- /codenerix/static/codenerix/lib/bootstrap-datetimepicker/js/locales/bootstrap-datetimepicker.el.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Greek translation for bootstrap-datetimepicker 3 | */ 4 | ;(function($){ 5 | $.fn.datetimepicker.dates['el'] = { 6 | days: ["Κυριακή", "Δευτέρα", "Τρίτη", "Τετάρτη", "Πέμπτη", "Παρασκευή", "Σάββατο", "Κυριακή"], 7 | daysShort: ["Κυρ", "Δευ", "Τρι", "Τετ", "Πεμ", "Παρ", "Σαβ", "Κυρ"], 8 | daysMin: ["Κυ", "Δε", "Τρ", "Τε", "Πε", "Πα", "Σα", "Κυ"], 9 | months: ["Ιανουάριος", "Φεβρουάριος", "Μάρτιος", "Απρίλιος", "Μάιος", "Ιούνιος", "Ιούλιος", "Αύγουστος", "Σεπτέμβριος", "Οκτώβριος", "Νοέμβριος", "Δεκέμβριος"], 10 | monthsShort: ["Ιαν", "Φεβ", "Μαρ", "Απρ", "Μάι", "Ιουν", "Ιουλ", "Αυγ", "Σεπ", "Οκτ", "Νοε", "Δεκ"], 11 | today: "Σήμερα", 12 | suffix: [], 13 | meridiem: [] 14 | }; 15 | }(jQuery)); 16 | -------------------------------------------------------------------------------- /codenerix/static/codenerix/lib/bootstrap-datetimepicker/js/locales/bootstrap-datetimepicker.es.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Spanish translation for bootstrap-datetimepicker 3 | * Bruno Bonamin 4 | */ 5 | ;(function($){ 6 | $.fn.datetimepicker.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 | suffix: [], 14 | meridiem: [] 15 | }; 16 | }(jQuery)); 17 | -------------------------------------------------------------------------------- /codenerix/static/codenerix/lib/bootstrap-datetimepicker/js/locales/bootstrap-datetimepicker.fi.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Finnish translation for bootstrap-datetimepicker 3 | * Jaakko Salonen 4 | */ 5 | ;(function($){ 6 | $.fn.datetimepicker.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 | suffix: [], 14 | meridiem: [] 15 | }; 16 | }(jQuery)); 17 | -------------------------------------------------------------------------------- /codenerix/static/codenerix/lib/bootstrap-datetimepicker/js/locales/bootstrap-datetimepicker.fr.js: -------------------------------------------------------------------------------- 1 | /** 2 | * French translation for bootstrap-datetimepicker 3 | * Nico Mollet 4 | */ 5 | ;(function($){ 6 | $.fn.datetimepicker.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 | suffix: [], 14 | meridiem: ["am", "pm"], 15 | weekStart: 1, 16 | format: "dd/mm/yyyy" 17 | }; 18 | }(jQuery)); 19 | -------------------------------------------------------------------------------- /codenerix/static/codenerix/lib/bootstrap-datetimepicker/js/locales/bootstrap-datetimepicker.he.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Hebrew translation for bootstrap-datetimepicker 3 | * Sagie Maoz 4 | */ 5 | ;(function($){ 6 | $.fn.datetimepicker.dates['he'] = { 7 | days: ["ראשון", "שני", "שלישי", "רביעי", "חמישי", "שישי", "שבת", "ראשון"], 8 | daysShort: ["א", "ב", "ג", "ד", "ה", "ו", "ש", "א"], 9 | daysMin: ["א", "ב", "ג", "ד", "ה", "ו", "ש", "א"], 10 | months: ["ינואר", "פברואר", "מרץ", "אפריל", "מאי", "יוני", "יולי", "אוגוסט", "ספטמבר", "אוקטובר", "נובמבר", "דצמבר"], 11 | monthsShort: ["ינו", "פבר", "מרץ", "אפר", "מאי", "יונ", "יול", "אוג", "ספט", "אוק", "נוב", "דצמ"], 12 | today: "היום", 13 | suffix: [], 14 | meridiem: [], 15 | rtl: true 16 | }; 17 | }(jQuery)); 18 | -------------------------------------------------------------------------------- /codenerix/static/codenerix/lib/bootstrap-datetimepicker/js/locales/bootstrap-datetimepicker.hr.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Croatian localisation 3 | */ 4 | ;(function($){ 5 | $.fn.datetimepicker.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 | suffix: [], 13 | meridiem: [] 14 | }; 15 | }(jQuery)); 16 | -------------------------------------------------------------------------------- /codenerix/static/codenerix/lib/bootstrap-datetimepicker/js/locales/bootstrap-datetimepicker.hu.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Hungarian translation for bootstrap-datetimepicker 3 | * darevish 4 | */ 5 | ;(function($){ 6 | $.fn.datetimepicker.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: ["V", "H", "K", "Sze", "Cs", "P", "Szo", "V"], 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 | suffix: [], 14 | meridiem: [], 15 | weekStart: 1 16 | }; 17 | }(jQuery)); 18 | -------------------------------------------------------------------------------- /codenerix/static/codenerix/lib/bootstrap-datetimepicker/js/locales/bootstrap-datetimepicker.id.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Bahasa translation for bootstrap-datetimepicker 3 | * Azwar Akbar 4 | */ 5 | ;(function($){ 6 | $.fn.datetimepicker.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 | suffix: [], 13 | meridiem: [] 14 | }; 15 | }(jQuery)); 16 | -------------------------------------------------------------------------------- /codenerix/static/codenerix/lib/bootstrap-datetimepicker/js/locales/bootstrap-datetimepicker.is.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Icelandic translation for bootstrap-datetimepicker 3 | * Hinrik Örn Sigurðsson 4 | */ 5 | ;(function($){ 6 | $.fn.datetimepicker.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 | suffix: [], 14 | meridiem: [] 15 | }; 16 | }(jQuery)); 17 | -------------------------------------------------------------------------------- /codenerix/static/codenerix/lib/bootstrap-datetimepicker/js/locales/bootstrap-datetimepicker.it.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Italian translation for bootstrap-datetimepicker 3 | * Enrico Rubboli 4 | */ 5 | ;(function($){ 6 | $.fn.datetimepicker.dates['it'] = { 7 | days: ["Domenica", "Lunedi", "Martedi", "Mercoledi", "Giovedi", "Venerdi", "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 | suffix: [], 14 | meridiem: [], 15 | weekStart: 1, 16 | format: "dd/mm/yyyy hh:ii:ss" 17 | }; 18 | }(jQuery)); 19 | -------------------------------------------------------------------------------- /codenerix/static/codenerix/lib/bootstrap-datetimepicker/js/locales/bootstrap-datetimepicker.ja.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Japanese translation for bootstrap-datetimepicker 3 | * Norio Suzuki 4 | */ 5 | ;(function($){ 6 | $.fn.datetimepicker.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 | suffix: [], 14 | meridiem: [] 15 | }; 16 | }(jQuery)); 17 | -------------------------------------------------------------------------------- /codenerix/static/codenerix/lib/bootstrap-datetimepicker/js/locales/bootstrap-datetimepicker.ko.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Korean translation for bootstrap-datetimepicker 3 | * Gu Youn 4 | * Baekjoon Choi 5 | */ 6 | ;(function($){ 7 | $.fn.datetimepicker.dates['ko'] = { 8 | days: ["일요일", "월요일", "화요일", "수요일", "목요일", "금요일", "토요일", "일요일"], 9 | daysShort: ["일", "월", "화", "수", "목", "금", "토", "일"], 10 | daysMin: ["일", "월", "화", "수", "목", "금", "토", "일"], 11 | months: ["1월", "2월", "3월", "4월", "5월", "6월", "7월", "8월", "9월", "10월", "11월", "12월"], 12 | monthsShort: ["1월", "2월", "3월", "4월", "5월", "6월", "7월", "8월", "9월", "10월", "11월", "12월"], 13 | suffix: [], 14 | meridiem: ["오전", "오후"], 15 | today: "오늘", 16 | }; 17 | }(jQuery)); 18 | -------------------------------------------------------------------------------- /codenerix/static/codenerix/lib/bootstrap-datetimepicker/js/locales/bootstrap-datetimepicker.lt.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Lithuanian translation for bootstrap-datetimepicker 3 | * Šarūnas Gliebus 4 | */ 5 | 6 | ;(function($){ 7 | $.fn.datetimepicker.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 | suffix: [], 15 | meridiem: [], 16 | weekStart: 1 17 | }; 18 | }(jQuery)); 19 | -------------------------------------------------------------------------------- /codenerix/static/codenerix/lib/bootstrap-datetimepicker/js/locales/bootstrap-datetimepicker.lv.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Latvian translation for bootstrap-datetimepicker 3 | * Artis Avotins 4 | */ 5 | 6 | ;(function($){ 7 | $.fn.datetimepicker.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 | suffix: [], 15 | meridiem: [], 16 | weekStart: 1 17 | }; 18 | }(jQuery)); 19 | -------------------------------------------------------------------------------- /codenerix/static/codenerix/lib/bootstrap-datetimepicker/js/locales/bootstrap-datetimepicker.ms.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Malay translation for bootstrap-datetimepicker 3 | * Ateman Faiz 4 | */ 5 | ;(function($){ 6 | $.fn.datetimepicker.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 | suffix: [], 14 | meridiem: [] 15 | }; 16 | }(jQuery)); 17 | -------------------------------------------------------------------------------- /codenerix/static/codenerix/lib/bootstrap-datetimepicker/js/locales/bootstrap-datetimepicker.nb.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Norwegian (bokmål) translation for bootstrap-datetimepicker 3 | * Fredrik Sundmyhr 4 | */ 5 | ;(function($){ 6 | $.fn.datetimepicker.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 | suffix: [], 14 | meridiem: [] 15 | }; 16 | }(jQuery)); 17 | -------------------------------------------------------------------------------- /codenerix/static/codenerix/lib/bootstrap-datetimepicker/js/locales/bootstrap-datetimepicker.nl.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Dutch translation for bootstrap-datetimepicker 3 | * Reinier Goltstein 4 | */ 5 | ;(function($){ 6 | $.fn.datetimepicker.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 | suffix: [], 14 | meridiem: [] 15 | }; 16 | }(jQuery)); 17 | -------------------------------------------------------------------------------- /codenerix/static/codenerix/lib/bootstrap-datetimepicker/js/locales/bootstrap-datetimepicker.no.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Norwegian translation for bootstrap-datetimepicker 3 | * Rune Warhuus 4 | */ 5 | ;(function($){ 6 | $.fn.datetimepicker.dates['no'] = { 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 | suffix: [], 14 | meridiem: [] 15 | }; 16 | }(jQuery)); 17 | -------------------------------------------------------------------------------- /codenerix/static/codenerix/lib/bootstrap-datetimepicker/js/locales/bootstrap-datetimepicker.pl.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Polish translation for bootstrap-datetimepicker 3 | * Robert 4 | */ 5 | ;(function($){ 6 | $.fn.datetimepicker.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 | suffix: [], 14 | meridiem: [], 15 | weekStart: 1 16 | }; 17 | }(jQuery)); 18 | -------------------------------------------------------------------------------- /codenerix/static/codenerix/lib/bootstrap-datetimepicker/js/locales/bootstrap-datetimepicker.pt-BR.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Brazilian translation for bootstrap-datetimepicker 3 | * Cauan Cabral 4 | */ 5 | ;(function($){ 6 | $.fn.datetimepicker.dates['pt-BR'] = { 7 | format: 'dd/mm/yyyy', 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 | today: "Hoje", 14 | suffix: [], 15 | meridiem: [] 16 | }; 17 | }(jQuery)); 18 | -------------------------------------------------------------------------------- /codenerix/static/codenerix/lib/bootstrap-datetimepicker/js/locales/bootstrap-datetimepicker.pt.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Portuguese translation for bootstrap-datetimepicker 3 | * Original code: Cauan Cabral 4 | * Tiago Melo 5 | */ 6 | ;(function($){ 7 | $.fn.datetimepicker.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 | suffix: [], 14 | meridiem: ["am","pm"], 15 | today: "Hoje" 16 | }; 17 | }(jQuery)); 18 | -------------------------------------------------------------------------------- /codenerix/static/codenerix/lib/bootstrap-datetimepicker/js/locales/bootstrap-datetimepicker.ro.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Romanian translation for bootstrap-datetimepicker 3 | * Cristian Vasile 4 | */ 5 | ;(function($){ 6 | $.fn.datetimepicker.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 | suffix: [], 14 | meridiem: [], 15 | weekStart: 1 16 | }; 17 | }(jQuery)); 18 | -------------------------------------------------------------------------------- /codenerix/static/codenerix/lib/bootstrap-datetimepicker/js/locales/bootstrap-datetimepicker.rs-latin.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Serbian latin translation for bootstrap-datetimepicker 3 | * Bojan Milosavlević 4 | */ 5 | ;(function($){ 6 | $.fn.datetimepicker.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 | suffix: [], 14 | meridiem: [] 15 | }; 16 | }(jQuery)); 17 | -------------------------------------------------------------------------------- /codenerix/static/codenerix/lib/bootstrap-datetimepicker/js/locales/bootstrap-datetimepicker.rs.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Serbian cyrillic translation for bootstrap-datetimepicker 3 | * Bojan Milosavlević 4 | */ 5 | ;(function($){ 6 | $.fn.datetimepicker.dates['rs'] = { 7 | days: ["Недеља","Понедељак", "Уторак", "Среда", "Четвртак", "Петак", "Субота", "Недеља"], 8 | daysShort: ["Нед", "Пон", "Уто", "Сре", "Чет", "Пет", "Суб", "Нед"], 9 | daysMin: ["Н", "По", "У", "Ср", "Ч", "Пе", "Су", "Н"], 10 | months: ["Јануар", "Фебруар", "Март", "Април", "Мај", "Јун", "Јул", "Август", "Септембар", "Октобар", "Новембар", "Децембар"], 11 | monthsShort: ["Јан", "Феб", "Мар", "Апр", "Мај", "Јун", "Јул", "Авг", "Сеп", "Окт", "Нов", "Дец"], 12 | today: "Данас", 13 | suffix: [], 14 | meridiem: [] 15 | }; 16 | }(jQuery)); 17 | -------------------------------------------------------------------------------- /codenerix/static/codenerix/lib/bootstrap-datetimepicker/js/locales/bootstrap-datetimepicker.ru.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Russian translation for bootstrap-datetimepicker 3 | * Victor Taranenko 4 | */ 5 | ;(function($){ 6 | $.fn.datetimepicker.dates['ru'] = { 7 | days: ["Воскресенье", "Понедельник", "Вторник", "Среда", "Четверг", "Пятница", "Суббота", "Воскресенье"], 8 | daysShort: ["Вск", "Пнд", "Втр", "Срд", "Чтв", "Птн", "Суб", "Вск"], 9 | daysMin: ["Вс", "Пн", "Вт", "Ср", "Чт", "Пт", "Сб", "Вс"], 10 | months: ["Январь", "Февраль", "Март", "Апрель", "Май", "Июнь", "Июль", "Август", "Сентябрь", "Октябрь", "Ноябрь", "Декабрь"], 11 | monthsShort: ["Янв", "Фев", "Мар", "Апр", "Май", "Июн", "Июл", "Авг", "Сен", "Окт", "Ноя", "Дек"], 12 | today: "Сегодня", 13 | suffix: [], 14 | meridiem: [] 15 | }; 16 | }(jQuery)); 17 | -------------------------------------------------------------------------------- /codenerix/static/codenerix/lib/bootstrap-datetimepicker/js/locales/bootstrap-datetimepicker.sk.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Slovak translation for bootstrap-datetimepicker 3 | * Marek Lichtner 4 | * Fixes by Michal Remiš 5 | */ 6 | ;(function($){ 7 | $.fn.datetimepicker.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 | suffix: [], 15 | meridiem: [] 16 | }; 17 | }(jQuery)); 18 | -------------------------------------------------------------------------------- /codenerix/static/codenerix/lib/bootstrap-datetimepicker/js/locales/bootstrap-datetimepicker.sl.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Slovene translation for bootstrap-datetimepicker 3 | * Gregor Rudolf 4 | */ 5 | ;(function($){ 6 | $.fn.datetimepicker.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 | suffix: [], 14 | meridiem: [] 15 | }; 16 | }(jQuery)); 17 | -------------------------------------------------------------------------------- /codenerix/static/codenerix/lib/bootstrap-datetimepicker/js/locales/bootstrap-datetimepicker.sv.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Swedish translation for bootstrap-datetimepicker 3 | * Patrik Ragnarsson 4 | */ 5 | ;(function($){ 6 | $.fn.datetimepicker.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 | suffix: [], 14 | meridiem: [] 15 | }; 16 | }(jQuery)); 17 | -------------------------------------------------------------------------------- /codenerix/static/codenerix/lib/bootstrap-datetimepicker/js/locales/bootstrap-datetimepicker.sw.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Swahili translation for bootstrap-datetimepicker 3 | * Edwin Mugendi 4 | * Source: http://scriptsource.org/cms/scripts/page.php?item_id=entry_detail&uid=xnfaqyzcku 5 | */ 6 | ;(function($){ 7 | $.fn.datetimepicker.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 | suffix: [], 15 | meridiem: [] 16 | }; 17 | }(jQuery)); 18 | -------------------------------------------------------------------------------- /codenerix/static/codenerix/lib/bootstrap-datetimepicker/js/locales/bootstrap-datetimepicker.th.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Thai translation for bootstrap-datetimepicker 3 | * Suchau Jiraprapot 4 | */ 5 | ;(function($){ 6 | $.fn.datetimepicker.dates['th'] = { 7 | days: ["อาทิตย์", "จันทร์", "อังคาร", "พุธ", "พฤหัส", "ศุกร์", "เสาร์", "อาทิตย์"], 8 | daysShort: ["อา", "จ", "อ", "พ", "พฤ", "ศ", "ส", "อา"], 9 | daysMin: ["อา", "จ", "อ", "พ", "พฤ", "ศ", "ส", "อา"], 10 | months: ["มกราคม", "กุมภาพันธ์", "มีนาคม", "เมษายน", "พฤษภาคม", "มิถุนายน", "กรกฎาคม", "สิงหาคม", "กันยายน", "ตุลาคม", "พฤศจิกายน", "ธันวาคม"], 11 | monthsShort: ["ม.ค.", "ก.พ.", "มี.ค.", "เม.ย.", "พ.ค.", "มิ.ย.", "ก.ค.", "ส.ค.", "ก.ย.", "ต.ค.", "พ.ย.", "ธ.ค."], 12 | today: "วันนี้", 13 | suffix: [], 14 | meridiem: [] 15 | }; 16 | }(jQuery)); 17 | -------------------------------------------------------------------------------- /codenerix/static/codenerix/lib/bootstrap-datetimepicker/js/locales/bootstrap-datetimepicker.tr.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Turkish translation for bootstrap-datetimepicker 3 | * Serkan Algur 4 | */ 5 | ;(function($){ 6 | $.fn.datetimepicker.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 | suffix: [], 14 | meridiem: [] 15 | }; 16 | }(jQuery)); 17 | -------------------------------------------------------------------------------- /codenerix/static/codenerix/lib/bootstrap-datetimepicker/js/locales/bootstrap-datetimepicker.ua.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Ukrainian translation for bootstrap-datepicker 3 | * Igor Polynets 4 | */ 5 | ;(function($){ 6 | $.fn.datetimepicker.dates['ua'] = { 7 | days: ["Неділя", "Понеділок", "Вівторок", "Середа", "Четверг", "П'ятниця", "Субота", "Неділя"], 8 | daysShort: ["Нед", "Пнд", "Втр", "Срд", "Чтв", "Птн", "Суб", "Нед"], 9 | daysMin: ["Нд", "Пн", "Вт", "Ср", "Чт", "Пт", "Сб", "Нд"], 10 | months: ["Cічень", "Лютий", "Березень", "Квітень", "Травень", "Червень", "Липень", "Серпень", "Вересень", "Жовтень", "Листопад", "Грудень"], 11 | monthsShort: ["Січ", "Лют", "Бер", "Квт", "Трв", "Чер", "Лип", "Сер", "Вер", "Жов", "Лис", "Грд"], 12 | today: "Сьогодні", 13 | weekStart: 1 14 | }; 15 | }(jQuery)); 16 | -------------------------------------------------------------------------------- /codenerix/static/codenerix/lib/bootstrap-datetimepicker/js/locales/bootstrap-datetimepicker.uk.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Ukrainian translation for bootstrap-datetimepicker 3 | * Andrey Vityuk 4 | */ 5 | ;(function($){ 6 | $.fn.datetimepicker.dates['uk'] = { 7 | days: ["Неділя", "Понеділок", "Вівторок", "Середа", "Четвер", "П'ятниця", "Субота", "Неділя"], 8 | daysShort: ["Нед", "Пнд", "Втр", "Срд", "Чтв", "Птн", "Суб", "Нед"], 9 | daysMin: ["Нд", "Пн", "Вт", "Ср", "Чт", "Пт", "Сб", "Нд"], 10 | months: ["Січень", "Лютий", "Березень", "Квітень", "Травень", "Червень", "Липень", "Серпень", "Вересень", "Жовтень", "Листопад", "Грудень"], 11 | monthsShort: ["Січ", "Лют", "Бер", "Кві", "Тра", "Чер", "Лип", "Сер", "Вер", "Жов", "Лис", "Гру"], 12 | today: "Сьогодні", 13 | suffix: [], 14 | meridiem: [] 15 | }; 16 | }(jQuery)); 17 | -------------------------------------------------------------------------------- /codenerix/static/codenerix/lib/bootstrap-datetimepicker/js/locales/bootstrap-datetimepicker.zh-CN.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Simplified Chinese translation for bootstrap-datetimepicker 3 | * Yuan Cheung 4 | */ 5 | ;(function($){ 6 | $.fn.datetimepicker.dates['zh-CN'] = { 7 | days: ["星期日", "星期一", "星期二", "星期三", "星期四", "星期五", "星期六", "星期日"], 8 | daysShort: ["周日", "周一", "周二", "周三", "周四", "周五", "周六", "周日"], 9 | daysMin: ["日", "一", "二", "三", "四", "五", "六", "日"], 10 | months: ["一月", "二月", "三月", "四月", "五月", "六月", "七月", "八月", "九月", "十月", "十一月", "十二月"], 11 | monthsShort: ["一月", "二月", "三月", "四月", "五月", "六月", "七月", "八月", "九月", "十月", "十一月", "十二月"], 12 | today: "今日", 13 | suffix: [], 14 | meridiem: ["上午", "下午"] 15 | }; 16 | }(jQuery)); 17 | -------------------------------------------------------------------------------- /codenerix/static/codenerix/lib/bootstrap-datetimepicker/js/locales/bootstrap-datetimepicker.zh-TW.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Traditional Chinese translation for bootstrap-datetimepicker 3 | * Rung-Sheng Jang 4 | */ 5 | ;(function($){ 6 | $.fn.datetimepicker.dates['zh-TW'] = { 7 | days: ["星期日", "星期一", "星期二", "星期三", "星期四", "星期五", "星期六", "星期日"], 8 | daysShort: ["周日", "周一", "周二", "周三", "周四", "周五", "周六", "周日"], 9 | daysMin: ["日", "一", "二", "三", "四", "五", "六", "日"], 10 | months: ["一月", "二月", "三月", "四月", "五月", "六月", "七月", "八月", "九月", "十月", "十一月", "十二月"], 11 | monthsShort: ["一月", "二月", "三月", "四月", "五月", "六月", "七月", "八月", "九月", "十月", "十一月", "十二月"], 12 | today: "今天", 13 | suffix: [], 14 | meridiem: ["上午", "下午"] 15 | }; 16 | }(jQuery)); 17 | -------------------------------------------------------------------------------- /codenerix/static/codenerix/lib/bootstrap-helper.js: -------------------------------------------------------------------------------- 1 | function findBootstrapEnvironment() { 2 | var envs = ["ExtraSmall", "Small", "Medium", "Large"]; 3 | var envValues = ["xs", "sm", "md", "lg"]; 4 | var $el = $('
'); 5 | $el.appendTo($('body')); 6 | for (var i = envValues.length - 1; i >= 0; i--) { 7 | var envVal = envValues[i]; 8 | $el.addClass('hidden-'+envVal); 9 | if ($el.is(':hidden')) { 10 | $el.remove(); 11 | // return envs[i] 12 | return envValues[i] 13 | } 14 | }; 15 | }; 16 | -------------------------------------------------------------------------------- /codenerix/static/codenerix/lib/bootstrap-vertical-grid.css: -------------------------------------------------------------------------------- 1 | .container-fixed { 2 | top: 0; 3 | bottom: 0; 4 | position: fixed; 5 | left: 0; 6 | right: 0; 7 | } 8 | 9 | .container-fixed .col { 10 | height: 100%; 11 | overflow: auto; 12 | padding:0px; 13 | } 14 | 15 | .row-xs-12 { height: 100%; margin-left:0px; margin-right:0px; } 16 | .row-xs-11 { height: 91.66666666666666%; margin-left:0px; margin-right:0px; } 17 | .row-xs-10 { height: 83.33333333333334%; margin-left:0px; margin-right:0px; } 18 | .row-xs-9 { height: 75%; margin-left:0px; margin-right:0px; } 19 | .row-xs-8 { height: 66.66666666666666%; margin-left:0px; margin-right:0px; } 20 | .row-xs-7 { height: 58.333333333333336%; margin-left:0px; margin-right:0px; } 21 | .row-xs-6 { height: 50%; margin-left:0px; margin-right:0px; } 22 | .row-xs-5 { height: 41.66666666666667%; margin-left:0px; margin-right:0px; } 23 | .row-xs-4 { height: 33.33333333333333%; margin-left:0px; margin-right:0px; } 24 | .row-xs-3 { height: 25%; margin-left:0px; margin-right:0px; } 25 | .row-xs-2 { height: 16.666666666666664%; margin-left:0px; margin-right:0px; } 26 | .row-xs-1 { height: 8.333333333333332%; margin-left:0px; margin-right:0px; } 27 | -------------------------------------------------------------------------------- /codenerix/static/codenerix/lib/bootstrap/3.3.6: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codenerix/django-codenerix/80e8e43b3fae32b60a5d78d4e92fb2f74e51c89a/codenerix/static/codenerix/lib/bootstrap/3.3.6 -------------------------------------------------------------------------------- /codenerix/static/codenerix/lib/bootstrap/fonts/glyphicons-halflings-regular.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codenerix/django-codenerix/80e8e43b3fae32b60a5d78d4e92fb2f74e51c89a/codenerix/static/codenerix/lib/bootstrap/fonts/glyphicons-halflings-regular.eot -------------------------------------------------------------------------------- /codenerix/static/codenerix/lib/bootstrap/fonts/glyphicons-halflings-regular.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codenerix/django-codenerix/80e8e43b3fae32b60a5d78d4e92fb2f74e51c89a/codenerix/static/codenerix/lib/bootstrap/fonts/glyphicons-halflings-regular.ttf -------------------------------------------------------------------------------- /codenerix/static/codenerix/lib/bootstrap/fonts/glyphicons-halflings-regular.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codenerix/django-codenerix/80e8e43b3fae32b60a5d78d4e92fb2f74e51c89a/codenerix/static/codenerix/lib/bootstrap/fonts/glyphicons-halflings-regular.woff -------------------------------------------------------------------------------- /codenerix/static/codenerix/lib/bootstrap/fonts/glyphicons-halflings-regular.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codenerix/django-codenerix/80e8e43b3fae32b60a5d78d4e92fb2f74e51c89a/codenerix/static/codenerix/lib/bootstrap/fonts/glyphicons-halflings-regular.woff2 -------------------------------------------------------------------------------- /codenerix/static/codenerix/lib/bootstrap/js/npm.js: -------------------------------------------------------------------------------- 1 | // This file is autogenerated via the `commonjs` Grunt task. You can require() this file in a CommonJS environment. 2 | require('../../js/transition.js') 3 | require('../../js/alert.js') 4 | require('../../js/button.js') 5 | require('../../js/carousel.js') 6 | require('../../js/collapse.js') 7 | require('../../js/dropdown.js') 8 | require('../../js/modal.js') 9 | require('../../js/tooltip.js') 10 | require('../../js/popover.js') 11 | require('../../js/scrollspy.js') 12 | require('../../js/tab.js') 13 | require('../../js/affix.js') 14 | -------------------------------------------------------------------------------- /codenerix/static/codenerix/lib/color-contrast.README.md: -------------------------------------------------------------------------------- 1 | AngularJS Color Contrast Directive 2 | ====================== 3 | 4 | Automatically set the text color based on the background. 5 | 6 | Helps you display things like colored labels. 7 | 8 | ## Demo 9 | 10 | http://evert0n.github.io/angular-color-contrast/ 11 | 12 | ## Usage 13 | 14 | Install with Bower 15 | 16 | ```bash 17 | $bower install angular-color-contrast 18 | ``` 19 | 20 | Include this component into your app 21 | 22 | ```html 23 | 24 | ``` 25 | 26 | Inject colorContrast as a module dependency to your app. 27 | 28 | ```javascript 29 | var myApp = angular.module('myApp', ['colorContrast']); 30 | ``` 31 | 32 | Pass the background color of element to get the right color contrast for the text. 33 | 34 | ```html 35 | 40 | ``` 41 | 42 | ## License 43 | 44 | [MIT License](http://www.opensource.org/licenses/mit-license.php) 45 | -------------------------------------------------------------------------------- /codenerix/static/codenerix/lib/color-contrast.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | angular.module('colorContrast', []) 4 | .directive('colorContrast', function () { 5 | 6 | var DARK = '000000'; 7 | 8 | var LIGHT = 'FFFFFF'; 9 | 10 | // 24 WAYS - http://24ways.org/2010/calculating-color-contrast/ 11 | function getContrastYIQ(hexcolor){ 12 | var r = parseInt(hexcolor.substr(0,2),16); 13 | var g = parseInt(hexcolor.substr(2,2),16); 14 | var b = parseInt(hexcolor.substr(4,2),16); 15 | var yiq = ((r*299)+(g*587)+(b*114))/1000; 16 | return (yiq >= 128) ? DARK : LIGHT; 17 | }; 18 | 19 | function stripNumberSign(color){ 20 | if(color[0] === "#") { 21 | color = color.substring(1, color.length); 22 | } 23 | return color; 24 | }; 25 | 26 | return { 27 | restrict: 'A', 28 | link: function postLink(scope, element, attrs) { 29 | attrs.$observe('colorContrast', function(color) { 30 | if (color) { 31 | color = stripNumberSign(color); 32 | element.css("background-color", "#" + color); 33 | element.css("color", "#" + getContrastYIQ(color)); 34 | } 35 | }); 36 | } 37 | }; 38 | 39 | }); 40 | -------------------------------------------------------------------------------- /codenerix/static/codenerix/lib/file_validation.js: -------------------------------------------------------------------------------- 1 | // === File validation === 2 | angular.module('fileValidation', []) 3 | .directive('validFile', function () { 4 | return { 5 | require: 'ngModel', 6 | link: function (scope, el, attrs, ngModel) { 7 | ngModel.$render = function () { 8 | ngModel.$setViewValue(el.val()); 9 | }; 10 | el.bind('change', function () { 11 | scope.$apply(function () { 12 | ngModel.$render(); 13 | }); 14 | }); 15 | } 16 | }; 17 | }) 18 | -------------------------------------------------------------------------------- /codenerix/static/codenerix/lib/fontawesome/fonts/FontAwesome.otf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codenerix/django-codenerix/80e8e43b3fae32b60a5d78d4e92fb2f74e51c89a/codenerix/static/codenerix/lib/fontawesome/fonts/FontAwesome.otf -------------------------------------------------------------------------------- /codenerix/static/codenerix/lib/fontawesome/fonts/fontawesome-webfont.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codenerix/django-codenerix/80e8e43b3fae32b60a5d78d4e92fb2f74e51c89a/codenerix/static/codenerix/lib/fontawesome/fonts/fontawesome-webfont.eot -------------------------------------------------------------------------------- /codenerix/static/codenerix/lib/fontawesome/fonts/fontawesome-webfont.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codenerix/django-codenerix/80e8e43b3fae32b60a5d78d4e92fb2f74e51c89a/codenerix/static/codenerix/lib/fontawesome/fonts/fontawesome-webfont.ttf -------------------------------------------------------------------------------- /codenerix/static/codenerix/lib/fontawesome/fonts/fontawesome-webfont.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codenerix/django-codenerix/80e8e43b3fae32b60a5d78d4e92fb2f74e51c89a/codenerix/static/codenerix/lib/fontawesome/fonts/fontawesome-webfont.woff -------------------------------------------------------------------------------- /codenerix/static/codenerix/lib/fontawesome/fonts/fontawesome-webfont.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codenerix/django-codenerix/80e8e43b3fae32b60a5d78d4e92fb2f74e51c89a/codenerix/static/codenerix/lib/fontawesome/fonts/fontawesome-webfont.woff2 -------------------------------------------------------------------------------- /codenerix/static/codenerix/lib/html5shiv.js: -------------------------------------------------------------------------------- 1 | /* 2 | HTML5 Shiv v3.6.2 | @afarkas @jdalton @jon_neal @rem | MIT/GPL2 Licensed 3 | */ 4 | (function(l,f){function m(){var a=e.elements;return"string"==typeof a?a.split(" "):a}function i(a){var b=n[a[o]];b||(b={},h++,a[o]=h,n[h]=b);return b}function p(a,b,c){b||(b=f);if(g)return b.createElement(a);c||(c=i(b));b=c.cache[a]?c.cache[a].cloneNode():r.test(a)?(c.cache[a]=c.createElem(a)).cloneNode():c.createElem(a);return b.canHaveChildren&&!s.test(a)?c.frag.appendChild(b):b}function t(a,b){if(!b.cache)b.cache={},b.createElem=a.createElement,b.createFrag=a.createDocumentFragment,b.frag=b.createFrag(); 5 | a.createElement=function(c){return!e.shivMethods?b.createElem(c):p(c,a,b)};a.createDocumentFragment=Function("h,f","return function(){var n=f.cloneNode(),c=n.createElement;h.shivMethods&&("+m().join().replace(/\w+/g,function(a){b.createElem(a);b.frag.createElement(a);return'c("'+a+'")'})+");return n}")(e,b.frag)}function q(a){a||(a=f);var b=i(a);if(e.shivCSS&&!j&&!b.hasCSS){var c,d=a;c=d.createElement("p");d=d.getElementsByTagName("head")[0]||d.documentElement;c.innerHTML="x"; 6 | c=d.insertBefore(c.lastChild,d.firstChild);b.hasCSS=!!c}g||t(a,b);return a}var k=l.html5||{},s=/^<|^(?:button|map|select|textarea|object|iframe|option|optgroup)$/i,r=/^(?:a|b|code|div|fieldset|h1|h2|h3|h4|h5|h6|i|label|li|ol|p|q|span|strong|style|table|tbody|td|th|tr|ul)$/i,j,o="_html5shiv",h=0,n={},g;(function(){try{var a=f.createElement("a");a.innerHTML="";j="hidden"in a;var b;if(!(b=1==a.childNodes.length)){f.createElement("a");var c=f.createDocumentFragment();b="undefined"==typeof c.cloneNode|| 7 | "undefined"==typeof c.createDocumentFragment||"undefined"==typeof c.createElement}g=b}catch(d){g=j=!0}})();var e={elements:k.elements||"abbr article aside audio bdi canvas data datalist details figcaption figure footer header hgroup main mark meter nav output progress section summary time video",version:"3.6.2",shivCSS:!1!==k.shivCSS,supportsUnknownElements:g,shivMethods:!1!==k.shivMethods,type:"default",shivDocument:q,createElement:p,createDocumentFragment:function(a,b){a||(a=f);if(g)return a.createDocumentFragment(); 8 | for(var b=b||i(a),c=b.frag.cloneNode(),d=0,e=m(),h=e.length;d .container { 26 | /* EDITOR: total height */ 27 | padding: 50px 15px 0; 28 | } 29 | .container .text-muted { 30 | /* EDITORS: margin is counted 2 times, margin-top, margin-bottom*/ 31 | margin: 15px 0; 32 | } 33 | 34 | #footer > .container { 35 | padding-right: 15px; 36 | padding-left: 15px; 37 | } 38 | 39 | code { 40 | font-size: 80%; 41 | } 42 | -------------------------------------------------------------------------------- /codenerix/static/codenerix/lib/sticky-footer.css: -------------------------------------------------------------------------------- 1 | /* Sticky footer styles 2 | -------------------------------------------------- */ 3 | html { 4 | position: relative; 5 | min-height: 100%; 6 | } 7 | body { 8 | /* EDITOR: Margin bottom by footer height, total height */ 9 | margin-bottom: 50px; 10 | } 11 | #footer { 12 | position: absolute; 13 | bottom: 0; 14 | width: 100%; 15 | /* EDITOR: Set the fixed height of the footer here, total height */ 16 | height: 50px; 17 | background-color: #f5f5f5; 18 | } 19 | 20 | 21 | /* Custom page CSS 22 | -------------------------------------------------- */ 23 | /* Not required for template or sticky footer method. */ 24 | 25 | .container { 26 | width: auto; 27 | max-width: 680px; 28 | padding: 0 15px; 29 | } 30 | /* EDITORS: margin is counted 2 times, margin-top, margin-bottom*/ 31 | .container .text-muted { 32 | margin: 15px 0; 33 | } 34 | -------------------------------------------------------------------------------- /codenerix/static/codenerix/logs_rows.html: -------------------------------------------------------------------------------- 1 | 22 | {{row.action_time|codenerix}} 23 | {{row.user__username|codenerix}} 24 | {{row.username|codenerix}} 25 | {{row.content_type|codenerix}} 26 | {{row.get_action_flag_display|codenerix}} 27 | 29 | {{row.object_id|codenerix}} 30 |
{{row.show|codenerix}}
31 | -------------------------------------------------------------------------------- /codenerix/static/codenerix/partials/detail.html: -------------------------------------------------------------------------------- 1 | 22 |
23 |
24 | Details here, please!!! 25 |
26 | {{data}} 27 |
28 |
29 | -------------------------------------------------------------------------------- /codenerix/static/codenerix/partials/rows.html: -------------------------------------------------------------------------------- 1 | 22 | 23 | 24 | 25 | 26 | 27 |
    28 |
  • -
  • 29 |
  • {{info}}
  • 30 |
31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | -------------------------------------------------------------------------------- /codenerix/static/codenerix/partials/summary.html: -------------------------------------------------------------------------------- 1 | 22 | 23 | 24 | 25 | 26 | 27 |
    28 |
  • {{info}}
  • 29 |
30 | 31 | 32 | {{row[column.id]|codenerix:column.filter}} 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | -------------------------------------------------------------------------------- /codenerix/static/djangular/css/bootstrap3.css: -------------------------------------------------------------------------------- 1 | .djng-form-control-feedback { 2 | position: absolute; 3 | text-align: right; 4 | top: -5px; 5 | right: 10px; 6 | } 7 | .djng-line-spreader { 8 | height: 20px; 9 | margin-bottom: 10px; 10 | } 11 | -------------------------------------------------------------------------------- /codenerix/static/djangular/css/styles.css: -------------------------------------------------------------------------------- 1 | [ng\:cloak], [ng-cloak], [data-ng-cloak], [x-ng-cloak], .ng-cloak, .x-ng-cloak { 2 | display: none !important; 3 | } 4 | 5 | form .ng-invalid-bound.ng-pristine, form .ng-invalid.ng-dirty { 6 | border-color: #e9322d; 7 | } 8 | form .ng-invalid-bound.ng-pristine:focus, form .ng-invalid.ng-dirty:focus { 9 | box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075), 0 0 6px #ce8483; 10 | } 11 | 12 | ul.djng-form-errors, ul.djng-field-errors { 13 | display: inline-block; 14 | list-style-type: none; 15 | margin: 5px 0 0 0; 16 | padding: 0; 17 | } 18 | ul.djng-form-errors li, ul.djng-field-errors li { 19 | color: #e9322d; 20 | } 21 | ul.djng-field-errors li.invalid:before { 22 | content: "\2716"; 23 | margin-right: 10px; 24 | } 25 | ul.djng-field-errors li.valid:before { 26 | color: #00c900; 27 | content: "\2714"; 28 | } 29 | -------------------------------------------------------------------------------- /codenerix/templates/codenerix/addmodal.html: -------------------------------------------------------------------------------- 1 | {% extends "codenerix/form.html" %} 2 | {% load i18n %} 3 | {% comment %} 4 | 5 | django-codenerix 6 | 7 | Codenerix GNU 8 | 9 | Project URL : http://www.codenerix.com 10 | 11 | Licensed under the Apache License, Version 2.0 (the "License"); 12 | you may not use this file except in compliance with the License. 13 | You may obtain a copy of the License at 14 | 15 | http://www.apache.org/licenses/LICENSE-2.0 16 | 17 | Unless required by applicable law or agreed to in writing, software 18 | distributed under the License is distributed on an "AS IS" BASIS, 19 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 20 | See the License for the specific language governing permissions and 21 | limitations under the License. 22 | 23 | {% endcomment %} 24 | 25 | {% block form_head %} 26 | 29 |
30 | 39 |
40 | 46 | {% endblock %} 47 | -------------------------------------------------------------------------------- /codenerix/templates/codenerix/detailsmodal.html: -------------------------------------------------------------------------------- 1 | {% extends "codenerix/details.html" %} 2 | {% comment %} 3 | 4 | django-codenerix 5 | 6 | Codenerix GNU 7 | 8 | Project URL : http://www.codenerix.com 9 | 10 | Licensed under the Apache License, Version 2.0 (the "License"); 11 | you may not use this file except in compliance with the License. 12 | You may obtain a copy of the License at 13 | 14 | http://www.apache.org/licenses/LICENSE-2.0 15 | 16 | Unless required by applicable law or agreed to in writing, software 17 | distributed under the License is distributed on an "AS IS" BASIS, 18 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 19 | See the License for the specific language governing permissions and 20 | limitations under the License. 21 | 22 | {% endcomment %} 23 | 24 | 25 | {% block angular_app_libraries %}{% endblock %} 26 | 27 | {% block ini_modal %} 28 |
29 | 34 |
35 | {% endblock %} 36 | -------------------------------------------------------------------------------- /codenerix/templates/codenerix/list.html: -------------------------------------------------------------------------------- 1 | {% extends extends_base %} 2 | {% load static %} 3 | {% load i18n %} 4 | {% comment %} 5 | 6 | django-codenerix 7 | 8 | Codenerix GNU 9 | 10 | Project URL : http://www.codenerix.com 11 | 12 | Licensed under the Apache License, Version 2.0 (the "License"); 13 | you may not use this file except in compliance with the License. 14 | You may obtain a copy of the License at 15 | 16 | http://www.apache.org/licenses/LICENSE-2.0 17 | 18 | Unless required by applicable law or agreed to in writing, software 19 | distributed under the License is distributed on an "AS IS" BASIS, 20 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 21 | See the License for the specific language governing permissions and 22 | limitations under the License. 23 | 24 | {% endcomment %} 25 | 26 | {% block javascript_constants %} 27 | 30 | {{block.super}} 31 | {% endblock %} 32 | 33 | {% block angular_app_libraries %} 34 | 35 | 36 | 37 | {% if static_controllers_row %}{% endif %} 38 | {% for tab in tabs_js_obj %} 39 | {% if tab.static_controllers_row %}{% endif %} 40 | {% endfor %} 41 | {% block angular_app_service %} 42 | 55 | {% endblock %} 56 | {% endblock %} 57 | -------------------------------------------------------------------------------- /codenerix/templates/codenerix/listmodal.html: -------------------------------------------------------------------------------- 1 | {% load static %} 2 | {% load i18n %} 3 | {% load lists %} 4 | {% load codenerix_common %} 5 | {% comment %} 6 | 7 | django-codenerix 8 | 9 | Codenerix GNU 10 | 11 | Project URL : http://www.codenerix.com 12 | 13 | Licensed under the Apache License, Version 2.0 (the "License"); 14 | you may not use this file except in compliance with the License. 15 | You may obtain a copy of the License at 16 | 17 | http://www.apache.org/licenses/LICENSE-2.0 18 | 19 | Unless required by applicable law or agreed to in writing, software 20 | distributed under the License is distributed on an "AS IS" BASIS, 21 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 22 | See the License for the specific language governing permissions and 23 | limitations under the License. 24 | 25 | {% endcomment %} 26 | 27 | {% block angular_app_libraries %} 28 | 29 | 30 | 31 | {% block angular_app_service %} 32 | 45 | {% endblock %} 46 | {% endblock %} 47 | 48 | {% with langcode=LANGUAGE_CODE|default:"en" %} 49 |
50 | 53 |
54 | {% endwith %} 55 | -------------------------------------------------------------------------------- /codenerix/templates/codenerix/remote_log.html: -------------------------------------------------------------------------------- 1 | {% load i18n %} 2 | {% comment %} 3 | 4 | django-codenerix 5 | 6 | Codenerix GNU 7 | 8 | Project URL : http://www.codenerix.com 9 | 10 | Licensed under the Apache License, Version 2.0 (the "License"); 11 | you may not use this file except in compliance with the License. 12 | You may obtain a copy of the License at 13 | 14 | http://www.apache.org/licenses/LICENSE-2.0 15 | 16 | Unless required by applicable law or agreed to in writing, software 17 | distributed under the License is distributed on an "AS IS" BASIS, 18 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 19 | See the License for the specific language governing permissions and 20 | limitations under the License. 21 | 22 | {% endcomment %} 23 | 24 |
25 | 33 | 38 | 44 |
45 | -------------------------------------------------------------------------------- /codenerix/templates/codenerix/sublist.html: -------------------------------------------------------------------------------- 1 | {% load codenerix_common %} 2 | {% comment %} 3 | 4 | django-codenerix 5 | 6 | Codenerix GNU 7 | 8 | Project URL : http://www.codenerix.com 9 | 10 | Licensed under the Apache License, Version 2.0 (the "License"); 11 | you may not use this file except in compliance with the License. 12 | You may obtain a copy of the License at 13 | 14 | http://www.apache.org/licenses/LICENSE-2.0 15 | 16 | Unless required by applicable law or agreed to in writing, software 17 | distributed under the License is distributed on an "AS IS" BASIS, 18 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 19 | See the License for the specific language governing permissions and 20 | limitations under the License. 21 | 22 | {% endcomment %} 23 | 24 | 29 | {% block form_head %}{% endblock %} 30 | {% block table_content %} 31 |
32 | 33 | 34 | 35 | {% for column in columns %} 36 | 39 | {% endfor %} 40 | 41 | 42 | 43 | {% for obj in object_list %} 44 | 45 | {# sustituyo la funcion editrow por details, la funcion editrow no se encentra en el codigo #} 46 | {# se hace y testea para las sublistas de airport #} 47 | 48 | {##} 49 | 50 | {% for column in columns %} 51 | 55 | {% endfor %} 56 | 57 | {% endfor %} 58 | 59 |
37 | {{column.name}} 38 |
52 | {#{{obj|objectatrib:column.pk}}#} 53 | {{obj|objectatrib:column.id}} 54 |
60 |
61 | {% endblock %} 62 | -------------------------------------------------------------------------------- /codenerix/templatetags/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codenerix/django-codenerix/80e8e43b3fae32b60a5d78d4e92fb2f74e51c89a/codenerix/templatetags/__init__.py -------------------------------------------------------------------------------- /codenerix/urls.py: -------------------------------------------------------------------------------- 1 | # 2 | # django-codenerix 3 | # 4 | # Codenerix GNU 5 | # 6 | # Project URL : http://www.codenerix.com 7 | # 8 | # Licensed under the Apache License, Version 2.0 (the "License"); 9 | # you may not use this file except in compliance with the License. 10 | # You may obtain a copy of the License at 11 | # 12 | # http://www.apache.org/licenses/LICENSE-2.0 13 | # 14 | # Unless required by applicable law or agreed to in writing, software 15 | # distributed under the License is distributed on an "AS IS" BASIS, 16 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 17 | # See the License for the specific language governing permissions and 18 | # limitations under the License. 19 | 20 | from django.urls import re_path 21 | 22 | from codenerix.views import ( 23 | LogDetails, 24 | LogList, 25 | RemoteLogCreate, 26 | RemoteLogDetails, 27 | RemoteLogList, 28 | status, 29 | ) 30 | 31 | urlpatterns = [ 32 | # Backward compatibility 33 | re_path( 34 | r"^status/(?P\w+)/(?P[a-zA-Z0-9+-_/]+)$", 35 | status, 36 | name="status", 37 | ), 38 | re_path(r"^logs$", LogList.as_view(), name="codenerix_log_list"), 39 | re_path( 40 | r"^logs/(?P\w+)$", 41 | LogDetails.as_view(), 42 | name="codenerix_log_details", 43 | ), 44 | re_path( 45 | r"^status/(?P\w+)/(?P[a-zA-Z0-9+-_/]+)$", 46 | status, 47 | name="CDNX_status", 48 | ), 49 | re_path(r"^logs$", LogList.as_view(), name="CDNX_codenerix_log_list"), 50 | re_path( 51 | r"^logs/(?P\w+)$", 52 | LogDetails.as_view(), 53 | name="CDNX_codenerix_log_details", 54 | ), 55 | re_path( 56 | r"^remotelogs$", 57 | RemoteLogList.as_view(), 58 | name="CDNX_remotelog_list", 59 | ), 60 | re_path( 61 | r"^remotelogs/add$", 62 | RemoteLogCreate.as_view(), 63 | name="CDNX_remotelog_create", 64 | ), 65 | re_path( 66 | r"^remotelogs/(?P\w+)$", 67 | RemoteLogDetails.as_view(), 68 | name="CDNX_remotelog_details", 69 | ), 70 | ] 71 | -------------------------------------------------------------------------------- /newsfragments/.gitignore: -------------------------------------------------------------------------------- 1 | !.gitignore 2 | -------------------------------------------------------------------------------- /setup.py: -------------------------------------------------------------------------------- 1 | import os 2 | 3 | from setuptools import setup 4 | 5 | import codenerix 6 | 7 | # from setuptools.command.install import install 8 | # class CustomInstallCommand(install): 9 | # """Customized setuptools install command - prints a friendly greeting.""" 10 | # def run(self): 11 | # print "Hello, developer, how are you? :)" 12 | # install.run(self) 13 | # #post-processing code 14 | 15 | with open(os.path.join(os.path.dirname(__file__), "README.rst")) as readme: 16 | README = readme.read() 17 | 18 | # allow setup.py to be run from any path 19 | os.chdir(os.path.normpath(os.path.join(os.path.abspath(__file__), os.pardir))) 20 | 21 | setup( 22 | name="django_codenerix", 23 | version=codenerix.__version__, 24 | packages=["codenerix"], 25 | include_package_data=True, 26 | zip_safe=False, 27 | license="Apache License Version 2.0", 28 | description="Codenerix it is a framework that goes on top of Django so " 29 | "it makes easier development and building of ERPs.", 30 | long_description=README, 31 | url="https://github.com/codenerix/django-codenerix", 32 | author=", ".join(codenerix.__authors__), 33 | author_email=", ".join(codenerix.__authors_email__), 34 | keywords=["django", "codenerix", "management", "erp", "crm"], 35 | platforms=["OS Independent"], 36 | classifiers=[ 37 | "Environment :: Web Environment", 38 | "Framework :: Django", 39 | "Framework :: Django :: 4.0", 40 | "Intended Audience :: Developers", 41 | "License :: Other/Proprietary License", 42 | "Operating System :: OS Independent", 43 | "Programming Language :: Python", 44 | "Programming Language :: Python :: 3", 45 | "Programming Language :: Python :: 3.9", 46 | "Programming Language :: Python :: 3.10", 47 | "Programming Language :: Python :: 3.11", 48 | "Topic :: Internet :: WWW/HTTP", 49 | "Topic :: Internet :: WWW/HTTP :: Dynamic Content", 50 | ], 51 | # cmdclass={ 'install': CustomInstallCommand, }, 52 | install_requires=[ 53 | "Django>=4.1.1", 54 | "Pillow", 55 | "Unidecode", 56 | "codenerix_lib>=1.0.27", 57 | "elasticsearch>=2.0.0,<3.0.0", 58 | "django-debug-toolbar>=4.4.2", 59 | "django-debug-toolbar-request-history", 60 | "django-haystack>=2.6.1", 61 | "django-stubs", 62 | "django-stubs-ext", 63 | "django-recaptcha>=1.2.1,<1.3", 64 | "django-rosetta>=0.9.8", 65 | "html5lib", 66 | "jsonfield", 67 | "ldap3", 68 | "openpyxl==3.1.2", 69 | "pyinstrument", 70 | "pymongo", 71 | "pyotp", 72 | "python-dateutil", 73 | "pytz", 74 | "types-pytz", 75 | "yattag", 76 | ], 77 | ) 78 | -------------------------------------------------------------------------------- /towncrier.md: -------------------------------------------------------------------------------- 1 | {% if top_line %} 2 | {% else %} 3 | ## [{{ versiondata.version }}] - {{ versiondata.date }} 4 | {% endif %} 5 | {% for section, _ in sections.items() %} 6 | {% if sections[section] %} 7 | {% for category, val in definitions.items() if category in sections[section]%} 8 | ### {{ definitions[category]['name'] }} 9 | {% if definitions[category]['showcontent'] %} 10 | {% for text, values in sections[section][category].items() %} 11 | {% if values %} 12 | - {{ text }} ({{ values|join(', ') }}) 13 | {% else %} 14 | - {{ text }} 15 | {% endif %} 16 | {% endfor %} 17 | {% else %} 18 | - {{ sections[section][category]['']|join(', ') }} 19 | {% endif %} 20 | {% if sections[section][category]|length == 0 %} 21 | No significant changes. 22 | {% else %} 23 | {% endif %} 24 | 25 | {% endfor %} 26 | {% else %} 27 | No significant changes. 28 | {% endif %} 29 | {% endfor %} 30 | -------------------------------------------------------------------------------- /towncrier.toml: -------------------------------------------------------------------------------- 1 | [tool.towncrier] 2 | filename = "CHANGELOG" 3 | directory = "newsfragments/" 4 | package = "_codenerix" # It will avoid reading the installed package 5 | underlines = ["", "", ""] 6 | start_string = "\n" 7 | template = "towncrier.md" 8 | --------------------------------------------------------------------------------