Skip to content
Snippets Groups Projects

Compare revisions

Changes are shown as if the source revision was being merged into the target revision. Learn more about comparing revisions.

Source

Select target project
No results found

Target

Select target project
  • AlekSIS/onboarding/AlekSIS-App-Tezor
  • sunweaver/AlekSIS-App-Tezor
  • 3lisvequii/AlekSIS-App-Tezor
3 results
Show changes
Commits on Source (21)
module.exports = {
root: true,
overrides: [
{
files: ["*.js", "*.vue"],
// parser: "vue-eslint-parser",
//processor: "@graphql-eslint/graphql",
extends: [
"eslint:recommended",
"plugin:vue/strongly-recommended",
"plugin:@intlify/vue-i18n/recommended",
],
rules: {
"no-unused-vars": "warn",
"vue/no-unused-vars": "off",
"vue/multi-word-component-names": "off",
"vue/attribute-hyphenation": "error",
"vue/v-slot-style": "error",
"@intlify/vue-i18n/key-format-style": [
"error",
"snake_case",
{
splitByDots: false,
},
],
// "@intlify/vue-i18n/no-unused-keys": ["warn", {}],
"@intlify/vue-i18n/no-raw-text": [
"error",
{
ignoreNodes: ["v-icon"],
ignorePattern: "^[-–—·#:()\\[\\]&\\.\\s]+$",
},
],
"@intlify/vue-i18n/no-deprecated-tc": "off",
// Fixes for prettier (avoid eslint-config-prettier)
// The following rules can be used in some cases. See the README for more
// information. (These are marked with `0` instead of `"off"` so that a
// script can distinguish them.)
curly: 0,
"lines-around-comment": 0,
"max-len": 0,
"no-confusing-arrow": 0,
"no-mixed-operators": 0,
"no-tabs": 0,
"no-unexpected-multiline": 0,
quotes: 0,
"@typescript-eslint/quotes": 0,
"babel/quotes": 0,
"vue/html-self-closing": 0,
"vue/max-len": 0,
// The rest are rules that you never need to enable when using Prettier.
"array-bracket-newline": "off",
"array-bracket-spacing": "off",
"array-element-newline": "off",
"arrow-parens": "off",
"arrow-spacing": "off",
"block-spacing": "off",
"brace-style": "off",
"comma-dangle": "off",
"comma-spacing": "off",
"comma-style": "off",
"computed-property-spacing": "off",
"dot-location": "off",
"eol-last": "off",
"func-call-spacing": "off",
"function-call-argument-newline": "off",
"function-paren-newline": "off",
"generator-star": "off",
"generator-star-spacing": "off",
"implicit-arrow-linebreak": "off",
indent: "off",
"jsx-quotes": "off",
"key-spacing": "off",
"keyword-spacing": "off",
"linebreak-style": "off",
"multiline-ternary": "off",
"newline-per-chained-call": "off",
"new-parens": "off",
"no-arrow-condition": "off",
"no-comma-dangle": "off",
"no-extra-parens": "off",
"no-extra-semi": "off",
"no-floating-decimal": "off",
"no-mixed-spaces-and-tabs": "off",
"no-multi-spaces": "off",
"no-multiple-empty-lines": "off",
"no-reserved-keys": "off",
"no-space-before-semi": "off",
"no-trailing-spaces": "off",
"no-whitespace-before-property": "off",
"no-wrap-func": "off",
"nonblock-statement-body-position": "off",
"object-curly-newline": "off",
"object-curly-spacing": "off",
"object-property-newline": "off",
"one-var-declaration-per-line": "off",
"operator-linebreak": "off",
"padded-blocks": "off",
"quote-props": "off",
"rest-spread-spacing": "off",
semi: "off",
"semi-spacing": "off",
"semi-style": "off",
"space-after-function-name": "off",
"space-after-keywords": "off",
"space-before-blocks": "off",
"space-before-function-paren": "off",
"space-before-function-parentheses": "off",
"space-before-keywords": "off",
"space-in-brackets": "off",
"space-in-parens": "off",
"space-infix-ops": "off",
"space-return-throw-case": "off",
"space-unary-ops": "off",
"space-unary-word-ops": "off",
"switch-colon-spacing": "off",
"template-curly-spacing": "off",
"template-tag-spacing": "off",
"unicode-bom": "off",
"wrap-iife": "off",
"wrap-regex": "off",
"yield-star-spacing": "off",
"@babel/object-curly-spacing": "off",
"@babel/semi": "off",
"@typescript-eslint/brace-style": "off",
"@typescript-eslint/comma-dangle": "off",
"@typescript-eslint/comma-spacing": "off",
"@typescript-eslint/func-call-spacing": "off",
"@typescript-eslint/indent": "off",
"@typescript-eslint/keyword-spacing": "off",
"@typescript-eslint/member-delimiter-style": "off",
"@typescript-eslint/no-extra-parens": "off",
"@typescript-eslint/no-extra-semi": "off",
"@typescript-eslint/object-curly-spacing": "off",
"@typescript-eslint/semi": "off",
"@typescript-eslint/space-before-blocks": "off",
"@typescript-eslint/space-before-function-paren": "off",
"@typescript-eslint/space-infix-ops": "off",
"@typescript-eslint/type-annotation-spacing": "off",
"babel/object-curly-spacing": "off",
"babel/semi": "off",
"flowtype/boolean-style": "off",
"flowtype/delimiter-dangle": "off",
"flowtype/generic-spacing": "off",
"flowtype/object-type-curly-spacing": "off",
"flowtype/object-type-delimiter": "off",
"flowtype/quotes": "off",
"flowtype/semi": "off",
"flowtype/space-after-type-colon": "off",
"flowtype/space-before-generic-bracket": "off",
"flowtype/space-before-type-colon": "off",
"flowtype/union-intersection-spacing": "off",
"react/jsx-child-element-spacing": "off",
"react/jsx-closing-bracket-location": "off",
"react/jsx-closing-tag-location": "off",
"react/jsx-curly-newline": "off",
"react/jsx-curly-spacing": "off",
"react/jsx-equals-spacing": "off",
"react/jsx-first-prop-new-line": "off",
"react/jsx-indent": "off",
"react/jsx-indent-props": "off",
"react/jsx-max-props-per-line": "off",
"react/jsx-newline": "off",
"react/jsx-one-expression-per-line": "off",
"react/jsx-props-no-multi-spaces": "off",
"react/jsx-tag-spacing": "off",
"react/jsx-wrap-multilines": "off",
"standard/array-bracket-even-spacing": "off",
"standard/computed-property-even-spacing": "off",
"standard/object-curly-even-spacing": "off",
"unicorn/empty-brace-spaces": "off",
"unicorn/no-nested-ternary": "off",
"unicorn/number-literal-case": "off",
"vue/array-bracket-newline": "off",
"vue/array-bracket-spacing": "off",
"vue/arrow-spacing": "off",
"vue/block-spacing": "off",
"vue/block-tag-newline": "off",
"vue/brace-style": "off",
"vue/comma-dangle": "off",
"vue/comma-spacing": "off",
"vue/comma-style": "off",
"vue/dot-location": "off",
"vue/func-call-spacing": "off",
"vue/html-closing-bracket-newline": "off",
"vue/html-closing-bracket-spacing": "off",
"vue/html-end-tags": "off",
"vue/html-indent": "off",
"vue/html-quotes": "off",
"vue/key-spacing": "off",
"vue/keyword-spacing": "off",
"vue/max-attributes-per-line": "off",
"vue/multiline-html-element-content-newline": "off",
"vue/multiline-ternary": "off",
"vue/mustache-interpolation-spacing": "off",
"vue/no-extra-parens": "off",
"vue/no-multi-spaces": "off",
"vue/no-spaces-around-equal-signs-in-attribute": "off",
"vue/object-curly-newline": "off",
"vue/object-curly-spacing": "off",
"vue/object-property-newline": "off",
"vue/operator-linebreak": "off",
"vue/quote-props": "off",
"vue/script-indent": "off",
"vue/singleline-html-element-content-newline": "off",
"vue/space-in-parens": "off",
"vue/space-infix-ops": "off",
"vue/space-unary-ops": "off",
"vue/template-curly-spacing": "off",
},
settings: {
"vue-i18n": {
localeDir: "./aleksis/core/frontend/messages/*.{json}",
messageSyntaxVersion: "^8.0.0",
},
},
env: {
es2021: true,
},
parserOptions: {
ecmaVersion: "latest",
},
},
{
files: ["*.graphql"],
parser: "@graphql-eslint/eslint-plugin",
plugins: ["@graphql-eslint"],
extends: "plugin:@graphql-eslint/operations-recommended",
parserOptions: {
graphQLConfig: {
schema: "./schema.json",
documents: "../aleksis/**/*/frontend/**/*.graphql",
},
},
rules: {
"@graphql-eslint/no-anonymous-operations": "error",
"@graphql-eslint/no-duplicate-fields": "error",
"@graphql-eslint/naming-convention": [
"error",
{
OperationDefinition: {
style: "camelCase",
forbiddenPrefixes: ["Query", "Mutation", "Subscription", "Get"],
forbiddenSuffixes: ["Query", "Mutation", "Subscription"],
},
},
],
},
},
],
};
...@@ -2,11 +2,13 @@ ...@@ -2,11 +2,13 @@
"name": "aleksis-builddeps", "name": "aleksis-builddeps",
"version": "1.0.0", "version": "1.0.0",
"dependencies": { "dependencies": {
"@intlify/eslint-plugin-vue-i18n": "^2.0.0", "@graphql-eslint/eslint-plugin": "^4.3.0",
"@intlify/eslint-plugin-vue-i18n": "^3.0.0",
"eslint": "^8.26.0", "eslint": "^8.26.0",
"eslint-config-prettier": "^9.0.0", "eslint-config-prettier": "^9.0.0",
"eslint-plugin-vue": "^9.7.0", "eslint-plugin-vue": "^9.7.0",
"prettier": "^3.0.0", "graphql": "^16.10.0",
"prettier": "^3.4.0",
"stylelint": "^15.0.0", "stylelint": "^15.0.0",
"stylelint-config-prettier": "^9.0.3", "stylelint-config-prettier": "^9.0.3",
"stylelint-config-standard": "^34.0.0" "stylelint-config-standard": "^34.0.0"
......
module.exports = {
extends: [
"eslint:recommended",
"plugin:vue/strongly-recommended",
"plugin:@intlify/vue-i18n/recommended",
],
rules: {
"no-unused-vars": "warn",
"vue/no-unused-vars": "off",
"vue/multi-word-component-names": "off",
"@intlify/vue-i18n/key-format-style": [
"error",
"snake_case",
{
splitByDots: false,
},
],
// "@intlify/vue-i18n/no-unused-keys": ["warn", {}],
"@intlify/vue-i18n/no-raw-text": [
"error",
{
ignoreNodes: ["v-icon"],
ignorePattern: "^[-–—·#:()\\[\\]&\\.\\s]+$",
},
],
// Fixes for prettier (avoid eslint-config-prettier)
// The following rules can be used in some cases. See the README for more
// information. (These are marked with `0` instead of `"off"` so that a
// script can distinguish them.)
curly: 0,
"lines-around-comment": 0,
"max-len": 0,
"no-confusing-arrow": 0,
"no-mixed-operators": 0,
"no-tabs": 0,
"no-unexpected-multiline": 0,
quotes: 0,
"@typescript-eslint/quotes": 0,
"babel/quotes": 0,
"vue/html-self-closing": 0,
"vue/max-len": 0,
// The rest are rules that you never need to enable when using Prettier.
"array-bracket-newline": "off",
"array-bracket-spacing": "off",
"array-element-newline": "off",
"arrow-parens": "off",
"arrow-spacing": "off",
"block-spacing": "off",
"brace-style": "off",
"comma-dangle": "off",
"comma-spacing": "off",
"comma-style": "off",
"computed-property-spacing": "off",
"dot-location": "off",
"eol-last": "off",
"func-call-spacing": "off",
"function-call-argument-newline": "off",
"function-paren-newline": "off",
"generator-star": "off",
"generator-star-spacing": "off",
"implicit-arrow-linebreak": "off",
indent: "off",
"jsx-quotes": "off",
"key-spacing": "off",
"keyword-spacing": "off",
"linebreak-style": "off",
"multiline-ternary": "off",
"newline-per-chained-call": "off",
"new-parens": "off",
"no-arrow-condition": "off",
"no-comma-dangle": "off",
"no-extra-parens": "off",
"no-extra-semi": "off",
"no-floating-decimal": "off",
"no-mixed-spaces-and-tabs": "off",
"no-multi-spaces": "off",
"no-multiple-empty-lines": "off",
"no-reserved-keys": "off",
"no-space-before-semi": "off",
"no-trailing-spaces": "off",
"no-whitespace-before-property": "off",
"no-wrap-func": "off",
"nonblock-statement-body-position": "off",
"object-curly-newline": "off",
"object-curly-spacing": "off",
"object-property-newline": "off",
"one-var-declaration-per-line": "off",
"operator-linebreak": "off",
"padded-blocks": "off",
"quote-props": "off",
"rest-spread-spacing": "off",
semi: "off",
"semi-spacing": "off",
"semi-style": "off",
"space-after-function-name": "off",
"space-after-keywords": "off",
"space-before-blocks": "off",
"space-before-function-paren": "off",
"space-before-function-parentheses": "off",
"space-before-keywords": "off",
"space-in-brackets": "off",
"space-in-parens": "off",
"space-infix-ops": "off",
"space-return-throw-case": "off",
"space-unary-ops": "off",
"space-unary-word-ops": "off",
"switch-colon-spacing": "off",
"template-curly-spacing": "off",
"template-tag-spacing": "off",
"unicode-bom": "off",
"wrap-iife": "off",
"wrap-regex": "off",
"yield-star-spacing": "off",
"@babel/object-curly-spacing": "off",
"@babel/semi": "off",
"@typescript-eslint/brace-style": "off",
"@typescript-eslint/comma-dangle": "off",
"@typescript-eslint/comma-spacing": "off",
"@typescript-eslint/func-call-spacing": "off",
"@typescript-eslint/indent": "off",
"@typescript-eslint/keyword-spacing": "off",
"@typescript-eslint/member-delimiter-style": "off",
"@typescript-eslint/no-extra-parens": "off",
"@typescript-eslint/no-extra-semi": "off",
"@typescript-eslint/object-curly-spacing": "off",
"@typescript-eslint/semi": "off",
"@typescript-eslint/space-before-blocks": "off",
"@typescript-eslint/space-before-function-paren": "off",
"@typescript-eslint/space-infix-ops": "off",
"@typescript-eslint/type-annotation-spacing": "off",
"babel/object-curly-spacing": "off",
"babel/semi": "off",
"flowtype/boolean-style": "off",
"flowtype/delimiter-dangle": "off",
"flowtype/generic-spacing": "off",
"flowtype/object-type-curly-spacing": "off",
"flowtype/object-type-delimiter": "off",
"flowtype/quotes": "off",
"flowtype/semi": "off",
"flowtype/space-after-type-colon": "off",
"flowtype/space-before-generic-bracket": "off",
"flowtype/space-before-type-colon": "off",
"flowtype/union-intersection-spacing": "off",
"react/jsx-child-element-spacing": "off",
"react/jsx-closing-bracket-location": "off",
"react/jsx-closing-tag-location": "off",
"react/jsx-curly-newline": "off",
"react/jsx-curly-spacing": "off",
"react/jsx-equals-spacing": "off",
"react/jsx-first-prop-new-line": "off",
"react/jsx-indent": "off",
"react/jsx-indent-props": "off",
"react/jsx-max-props-per-line": "off",
"react/jsx-newline": "off",
"react/jsx-one-expression-per-line": "off",
"react/jsx-props-no-multi-spaces": "off",
"react/jsx-tag-spacing": "off",
"react/jsx-wrap-multilines": "off",
"standard/array-bracket-even-spacing": "off",
"standard/computed-property-even-spacing": "off",
"standard/object-curly-even-spacing": "off",
"unicorn/empty-brace-spaces": "off",
"unicorn/no-nested-ternary": "off",
"unicorn/number-literal-case": "off",
"vue/array-bracket-newline": "off",
"vue/array-bracket-spacing": "off",
"vue/arrow-spacing": "off",
"vue/block-spacing": "off",
"vue/block-tag-newline": "off",
"vue/brace-style": "off",
"vue/comma-dangle": "off",
"vue/comma-spacing": "off",
"vue/comma-style": "off",
"vue/dot-location": "off",
"vue/func-call-spacing": "off",
"vue/html-closing-bracket-newline": "off",
"vue/html-closing-bracket-spacing": "off",
"vue/html-end-tags": "off",
"vue/html-indent": "off",
"vue/html-quotes": "off",
"vue/key-spacing": "off",
"vue/keyword-spacing": "off",
"vue/max-attributes-per-line": "off",
"vue/multiline-html-element-content-newline": "off",
"vue/multiline-ternary": "off",
"vue/mustache-interpolation-spacing": "off",
"vue/no-extra-parens": "off",
"vue/no-multi-spaces": "off",
"vue/no-spaces-around-equal-signs-in-attribute": "off",
"vue/object-curly-newline": "off",
"vue/object-curly-spacing": "off",
"vue/object-property-newline": "off",
"vue/operator-linebreak": "off",
"vue/quote-props": "off",
"vue/script-indent": "off",
"vue/singleline-html-element-content-newline": "off",
"vue/space-in-parens": "off",
"vue/space-infix-ops": "off",
"vue/space-unary-ops": "off",
"vue/template-curly-spacing": "off",
},
settings: {
"vue-i18n": {
localeDir: "./aleksis/core/frontend/messages/*.{json}",
messageSyntaxVersion: "^8.0.0",
},
},
env: {
es2021: true,
},
parserOptions: {
ecmaVersion: "latest",
},
};
...@@ -76,6 +76,8 @@ docs/_build/ ...@@ -76,6 +76,8 @@ docs/_build/
.dev-js/.yarn .dev-js/.yarn
.dev-js/.pnp.cjs .dev-js/.pnp.cjs
.dev-js/.pnp.loader.mjs .dev-js/.pnp.loader.mjs
.dev-js/.yarnrc.yml
.dev-js/schema.json
# Lock files # Lock files
poetry.lock poetry.lock
...@@ -92,3 +94,5 @@ htmlcov/ ...@@ -92,3 +94,5 @@ htmlcov/
# Data # Data
maintenance_mode_state.txt maintenance_mode_state.txt
media/ media/
aleksis/core/static/style.css
...@@ -92,3 +92,5 @@ aleksis/core/util/licenses.json ...@@ -92,3 +92,5 @@ aleksis/core/util/licenses.json
.pnp.cjs .pnp.cjs
.pnp.loader.mjs .pnp.loader.mjs
.git/
...@@ -8,8 +8,8 @@ msgstr "" ...@@ -8,8 +8,8 @@ msgstr ""
"Project-Id-Version: PACKAGE VERSION\n" "Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2024-08-10 13:42+0000\n" "POT-Creation-Date: 2024-08-10 13:42+0000\n"
"PO-Revision-Date: 2024-08-10 14:16+0000\n" "PO-Revision-Date: 2024-08-19 11:11+0000\n"
"Last-Translator: Tom Teichler <tom.teichler@teckids.org>\n" "Last-Translator: Jonathan Weth <teckids@jonathanweth.de>\n"
"Language-Team: German <https://translate.edugit.org/projects/aleksis/aleksis-app-tezor/de/>\n" "Language-Team: German <https://translate.edugit.org/projects/aleksis/aleksis-app-tezor/de/>\n"
"Language: de_DE\n" "Language: de_DE\n"
"MIME-Version: 1.0\n" "MIME-Version: 1.0\n"
......
...@@ -8,27 +8,23 @@ msgstr "" ...@@ -8,27 +8,23 @@ msgstr ""
"Project-Id-Version: PACKAGE VERSION\n" "Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2024-08-10 13:42+0000\n" "POT-Creation-Date: 2024-08-10 13:42+0000\n"
"PO-Revision-Date: 2023-01-25 05:58+0000\n" "PO-Revision-Date: 2024-08-24 13:10+0000\n"
"Last-Translator: Serhii Horichenko <m@sgg.im>\n" "Last-Translator: Serhii Horichenko <m@sgg.im>\n"
"Language-Team: Ukrainian <https://translate.edugit.org/projects/aleksis/" "Language-Team: Ukrainian <https://translate.edugit.org/projects/aleksis/aleksis-app-tezor/uk/>\n"
"aleksis-app-tezor/uk/>\n"
"Language: uk\n" "Language: uk\n"
"MIME-Version: 1.0\n" "MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n" "Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != " "Plural-Forms: nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != 11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % 100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || (n % 100 >=11 && n % 100 <=14 )) ? 2: 3);\n"
"11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % " "X-Generator: Weblate 5.0.2\n"
"100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || "
"(n % 100 >=11 && n % 100 <=14 )) ? 2: 3);\n"
"X-Generator: Weblate 4.12.1\n"
#: aleksis/apps/tezor/forms.py:21 #: aleksis/apps/tezor/forms.py:21
msgid "Send e-mails" msgid "Send e-mails"
msgstr "Відправити ел.листи" msgstr "Відправити е-листи"
#: aleksis/apps/tezor/forms.py:39 #: aleksis/apps/tezor/forms.py:39
msgid "Get SEPA XML" msgid "Get SEPA XML"
msgstr "" msgstr "Отримати SEPA XML"
#: aleksis/apps/tezor/forms.py:54 #: aleksis/apps/tezor/forms.py:54
msgid "Payment pledge" msgid "Payment pledge"
...@@ -64,7 +60,7 @@ msgstr "Повне ім'я" ...@@ -64,7 +60,7 @@ msgstr "Повне ім'я"
#: aleksis/apps/tezor/models/base.py:19 #: aleksis/apps/tezor/models/base.py:19
msgid "Email" msgid "Email"
msgstr "Ел.пошта" msgstr "Е-пошта"
#: aleksis/apps/tezor/models/base.py:21 #: aleksis/apps/tezor/models/base.py:21
msgid "Sofort / Klarna enabled" msgid "Sofort / Klarna enabled"
...@@ -147,16 +143,12 @@ msgid "Template to render invoices with as PDF" ...@@ -147,16 +143,12 @@ msgid "Template to render invoices with as PDF"
msgstr "Шаблон для створення інвойсів у PDF" msgstr "Шаблон для створення інвойсів у PDF"
#: aleksis/apps/tezor/models/invoice.py:32 #: aleksis/apps/tezor/models/invoice.py:32
#, fuzzy
#| msgid "Invoice group"
msgid "Invoice Group" msgid "Invoice Group"
msgstr "Група інвойсів" msgstr "Група інвойсів"
#: aleksis/apps/tezor/models/invoice.py:33 #: aleksis/apps/tezor/models/invoice.py:33
#, fuzzy
#| msgid "Invoice group"
msgid "Invoice Groups" msgid "Invoice Groups"
msgstr "Група інвойсів" msgstr "Групи інвойсів"
#: aleksis/apps/tezor/models/invoice.py:61 #: aleksis/apps/tezor/models/invoice.py:61
msgid "Invoice group" msgid "Invoice group"
...@@ -184,10 +176,8 @@ msgid "Invoice" ...@@ -184,10 +176,8 @@ msgid "Invoice"
msgstr "Інвойс" msgstr "Інвойс"
#: aleksis/apps/tezor/models/invoice.py:88 #: aleksis/apps/tezor/models/invoice.py:88
#, fuzzy
#| msgid "Invoice"
msgid "Invoices" msgid "Invoices"
msgstr "Інвойс" msgstr "Інвойси"
#: aleksis/apps/tezor/models/invoice.py:92 #: aleksis/apps/tezor/models/invoice.py:92
msgid "Can send invoice by email" msgid "Can send invoice by email"
...@@ -222,14 +212,10 @@ msgid "Tax rate" ...@@ -222,14 +212,10 @@ msgid "Tax rate"
msgstr "Розмір податку" msgstr "Розмір податку"
#: aleksis/apps/tezor/models/invoice.py:214 #: aleksis/apps/tezor/models/invoice.py:214
#, fuzzy
#| msgid "Invoice items"
msgid "Invoice Item" msgid "Invoice Item"
msgstr "Артикули в інвойсі" msgstr "Артикул в інвойсі"
#: aleksis/apps/tezor/models/invoice.py:215 #: aleksis/apps/tezor/models/invoice.py:215
#, fuzzy
#| msgid "Invoice items"
msgid "Invoice Items" msgid "Invoice Items"
msgstr "Артикули в інвойсі" msgstr "Артикули в інвойсі"
...@@ -258,16 +244,12 @@ msgid "Update Invoices if person data changes" ...@@ -258,16 +244,12 @@ msgid "Update Invoices if person data changes"
msgstr "Оновити інвойси якщо змінюються дані про особу" msgstr "Оновити інвойси якщо змінюються дані про особу"
#: aleksis/apps/tezor/preferences.py:54 #: aleksis/apps/tezor/preferences.py:54
#, fuzzy
#| msgid "SEPA Direct Debit"
msgid "SEPA Direct Debit - IBAN" msgid "SEPA Direct Debit - IBAN"
msgstr "Прямий дебет SEPA" msgstr "Прямий дебет SEPA - IBAN"
#: aleksis/apps/tezor/preferences.py:65 #: aleksis/apps/tezor/preferences.py:65
#, fuzzy
#| msgid "SEPA Direct Debit"
msgid "SEPA Direct Debit - BIC" msgid "SEPA Direct Debit - BIC"
msgstr "Прямий дебет SEPA" msgstr "Прямий дебет SEPA - BIC"
#: aleksis/apps/tezor/tables.py:10 #: aleksis/apps/tezor/tables.py:10
msgid "Art. No." msgid "Art. No."
...@@ -348,7 +330,7 @@ msgstr "Сплатити зараз" ...@@ -348,7 +330,7 @@ msgstr "Сплатити зараз"
#: aleksis/apps/tezor/templates/tezor/invoice/full.html:113 #: aleksis/apps/tezor/templates/tezor/invoice/full.html:113
msgid "Mark as paid" msgid "Mark as paid"
msgstr "" msgstr "Позначити як оплачений"
#: aleksis/apps/tezor/templates/tezor/invoice/list.html:6 #: aleksis/apps/tezor/templates/tezor/invoice/list.html:6
#: aleksis/apps/tezor/templates/tezor/invoice/list.html:7 #: aleksis/apps/tezor/templates/tezor/invoice/list.html:7
......
import graphene
class PaymentVariantChoiceType(graphene.ObjectType):
variant = graphene.String()
text = graphene.String()
def resolve_variant(root, info, **kwargs):
return root[0]
def resolve_text(root, info, **kwargs):
return root[1]
...@@ -22,7 +22,7 @@ classifiers = [ ...@@ -22,7 +22,7 @@ classifiers = [
"Intended Audience :: Education", "Intended Audience :: Education",
"Topic :: Education" "Topic :: Education"
] ]
maintainers = ["Jonathan Weth <dev@jonathanweth.de>", "Dominik George <dominik.george@teckids.org>"] maintainers = ["Jonathan Weth <jonathan.weth@teckids.org>", "Dominik George <dominik.george@teckids.org>"]
[[tool.poetry.source]] [[tool.poetry.source]]
name = "PyPI" name = "PyPI"
...@@ -32,12 +32,11 @@ priority = "primary" ...@@ -32,12 +32,11 @@ priority = "primary"
name = "gitlab" name = "gitlab"
url = "https://edugit.org/api/v4/projects/461/packages/pypi/simple" url = "https://edugit.org/api/v4/projects/461/packages/pypi/simple"
priority = "supplemental" priority = "supplemental"
[tool.poetry.dependencies] [tool.poetry.dependencies]
python = "^3.10" python = "^3.10"
django-payments-sepa = { version = "^1.2.dev0", allow-prereleases = true, extras = ["fints"] } django-payments-sepa = { version = "^1.2.dev0", allow-prereleases = true, extras = ["fints"] }
aleksis-core = "^4.0.0.dev11" aleksis-core = "^4.0.0.dev11"
django-payments = { version = "^1.0.0", extras = ["sofort"] } django-payments = { version = "^3.0.0", extras = ["sofort"] }
[tool.poetry.plugins."aleksis.app"] [tool.poetry.plugins."aleksis.app"]
tezor = "aleksis.apps.tezor.apps:DefaultConfig" tezor = "aleksis.apps.tezor.apps:DefaultConfig"
...@@ -46,18 +45,16 @@ tezor = "aleksis.apps.tezor.apps:DefaultConfig" ...@@ -46,18 +45,16 @@ tezor = "aleksis.apps.tezor.apps:DefaultConfig"
django-stubs = "^4.2" django-stubs = "^4.2"
safety = "^2.3.5" safety = "^2.3.5"
ruff = "^0.1.5" ruff = "^0.8.2"
curlylint = "^0.13.0"
[tool.poetry.group.test.dependencies] [tool.poetry.group.test.dependencies]
pytest = "^7.2" pytest = "^8.3"
pytest-django = "^4.1" pytest-django = "^4.9"
pytest-django-testing-postgresql = "^0.2" pytest-django-testing-postgresql = "^0.2"
pytest-cov = "^4.0.0" pytest-cov = "^6.0.0"
pytest-sugar = "^0.9.2" pytest-sugar = "^1.0.0"
selenium = "<4.10.0" selenium = "^4.27.0"
freezegun = "^1.1.0" freezegun = "^1.5.0"
[tool.poetry.group.docs] [tool.poetry.group.docs]
optional = true optional = true
...@@ -68,7 +65,6 @@ sphinxcontrib-django = "^2.3.0" ...@@ -68,7 +65,6 @@ sphinxcontrib-django = "^2.3.0"
sphinxcontrib-svg2pdfconverter = "^1.1.1" sphinxcontrib-svg2pdfconverter = "^1.1.1"
sphinx-autodoc-typehints = "^1.7" sphinx-autodoc-typehints = "^1.7"
sphinx_material = "^0.0.35" sphinx_material = "^0.0.35"
[tool.curlylint] [tool.curlylint]
include = '\.html' include = '\.html'
...@@ -83,18 +79,21 @@ tabindex_no_positive = true ...@@ -83,18 +79,21 @@ tabindex_no_positive = true
[tool.ruff] [tool.ruff]
exclude = ["migrations", "tests"] exclude = ["migrations"]
line-length = 100 line-length = 100
[tool.ruff.lint] [tool.ruff.lint]
select = ["E", "F", "UP", "B", "SIM", "I", "DJ", "A", "S"] select = ["E", "F", "UP", "B", "SIM", "I", "DJ", "A", "S"]
ignore = ["UP034", "UP015", "B028"] ignore = ["UP034", "UP015", "B028"]
[tool.ruff.lint.extend-per-file-ignores]
[tool.ruff.isort] "**/*/tests/**/*.py" = ["S101", "ARG", "FBT", "PLR2004", "S311", "S105"]
[tool.ruff.lint.isort]
known-first-party = ["aleksis"] known-first-party = ["aleksis"]
section-order = ["future", "standard-library", "django", "third-party", "first-party", "local-folder"] section-order = ["future", "standard-library", "django", "third-party", "first-party", "local-folder"]
[tool.ruff.isort.sections] [tool.ruff.lint.isort.sections]
django = ["django"] django = ["django"]
[build-system] [build-system]
requires = ["poetry-core>=1.0.0"] requires = ["poetry-core>=1.0.0"]
build-backend = "poetry.core.masonry.api"
[tox] [tox]
skipsdist = True skipsdist = True
skip_missing_interpreters = true skip_missing_interpreters = true
envlist = py39,py310,py311 envlist = py310,py311,py312
[testenv] [testenv]
allowlist_externals = allowlist_externals =
...@@ -24,11 +24,13 @@ setenv = ...@@ -24,11 +24,13 @@ setenv =
[testenv:lint] [testenv:lint]
commands_pre = commands_pre =
poetry install --only=dev poetry install
yarnpkg --cwd=.dev-js yarnpkg --cwd=.dev-js
commands = commands =
poetry run ruff check {posargs} aleksis/ poetry run ruff check {posargs} aleksis/
yarnpkg --cwd=.dev-js run prettier --ignore-path={toxinidir}/.prettierignore {posargs} --check .. yarnpkg --cwd=.dev-js run prettier --ignore-path={toxinidir}/.prettierignore {posargs} --check ..
poetry run aleksis-admin graphql_schema --schema aleksis.core.schema.schema --out .dev-js/schema.json
yarnpkg --cwd=.dev-js run eslint ../aleksis/**/*/frontend/**/*.{js,vue,graphql} --config={toxinidir}/.dev-js/.eslintrc.js
[testenv:security] [testenv:security]
commands_pre = commands_pre =
...@@ -41,6 +43,8 @@ commands = ...@@ -41,6 +43,8 @@ commands =
commands_pre = commands_pre =
poetry install poetry install
poetry run sh -c "cd aleksis; aleksis-admin compilemessages" poetry run sh -c "cd aleksis; aleksis-admin compilemessages"
poetry run aleksis-admin yarn install
poetry run aleksis-admin compile_scss
commands = poetry build commands = poetry build
[testenv:docs] [testenv:docs]
......