0002-misc-apply-isort-52224.patch
setup.py | ||
---|---|---|
3 | 3 |
import os |
4 | 4 |
import subprocess |
5 | 5 |
import sys |
6 | ||
7 | 6 |
from distutils.cmd import Command |
8 |
from distutils.errors import CompileError |
|
9 |
from distutils.spawn import find_executable |
|
10 | 7 |
from distutils.command.build import build as _build |
11 | 8 |
from distutils.command.sdist import sdist |
9 |
from distutils.errors import CompileError |
|
10 |
from distutils.spawn import find_executable |
|
11 | ||
12 |
from setuptools import find_packages |
|
13 |
from setuptools import setup |
|
12 | 14 |
from setuptools.command.install_lib import install_lib as _install_lib |
13 |
from setuptools import setup, find_packages |
|
14 | 15 | |
15 | 16 |
local_cfg = None |
16 | 17 |
if os.path.exists('wcs/wcs_cfg.py'): |
tests/admin_pages/test_all.py | ||
---|---|---|
3 | 3 |
import os |
4 | 4 | |
5 | 5 |
import pytest |
6 |
from utilities import clean_temporary_pub |
|
7 |
from utilities import create_temporary_pub |
|
8 |
from utilities import get_app |
|
9 |
from utilities import login |
|
6 | 10 | |
7 |
from wcs.qommon.ident.password_accounts import PasswordAccount |
|
8 | 11 |
from wcs.qommon.http_request import HTTPRequest |
9 | ||
10 |
from utilities import get_app, login, create_temporary_pub, clean_temporary_pub |
|
12 |
from wcs.qommon.ident.password_accounts import PasswordAccount |
|
11 | 13 | |
12 | 14 | |
13 | 15 |
def pytest_generate_tests(metafunc): |
tests/admin_pages/test_api_access.py | ||
---|---|---|
15 | 15 |
# along with this program; if not, see <http://www.gnu.org/licenses/>. |
16 | 16 | |
17 | 17 |
import pytest |
18 |
from utilities import clean_temporary_pub |
|
19 |
from utilities import create_temporary_pub |
|
20 |
from utilities import get_app |
|
21 |
from utilities import login |
|
18 | 22 | |
19 |
from wcs.qommon.http_request import HTTPRequest |
|
20 | 23 |
from wcs.api_access import ApiAccess |
24 |
from wcs.qommon.http_request import HTTPRequest |
|
21 | 25 | |
22 |
from utilities import get_app, login, create_temporary_pub, clean_temporary_pub |
|
23 | 26 |
from .test_all import create_superuser |
24 | 27 | |
25 | 28 |
tests/admin_pages/test_block.py | ||
---|---|---|
8 | 8 |
lasso = None |
9 | 9 | |
10 | 10 |
import pytest |
11 |
from utilities import clean_temporary_pub |
|
12 |
from utilities import create_temporary_pub |
|
13 |
from utilities import get_app |
|
14 |
from utilities import login |
|
11 | 15 |
from webtest import Upload |
12 | 16 | |
13 |
from wcs.qommon.http_request import HTTPRequest |
|
14 |
from wcs.formdef import FormDef |
|
15 |
from wcs.blocks import BlockDef |
|
16 | 17 |
from wcs import fields |
18 |
from wcs.blocks import BlockDef |
|
19 |
from wcs.formdef import FormDef |
|
20 |
from wcs.qommon.http_request import HTTPRequest |
|
17 | 21 | |
18 |
from utilities import get_app, login, create_temporary_pub, clean_temporary_pub
|
|
19 |
from .test_all import create_superuser, create_role
|
|
22 |
from .test_all import create_role
|
|
23 |
from .test_all import create_superuser |
|
20 | 24 | |
21 | 25 | |
22 | 26 |
def pytest_generate_tests(metafunc): |
tests/admin_pages/test_card.py | ||
---|---|---|
1 | 1 |
# -*- coding: utf-8 -*- |
2 | 2 | |
3 |
import pytest |
|
4 | 3 |
import re |
5 | 4 | |
5 |
import pytest |
|
6 |
from utilities import clean_temporary_pub |
|
7 |
from utilities import create_temporary_pub |
|
8 |
from utilities import get_app |
|
9 |
from utilities import login |
|
10 | ||
6 | 11 |
from wcs import fields |
7 | 12 |
from wcs.admin.settings import UserFieldsFormDef |
8 |
from wcs.categories import CardDefCategory |
|
9 | 13 |
from wcs.carddef import CardDef |
14 |
from wcs.categories import CardDefCategory |
|
10 | 15 |
from wcs.formdef import FormDef |
11 | 16 |
from wcs.qommon.http_request import HTTPRequest |
12 |
from wcs.wf.form import FormWorkflowStatusItem, WorkflowFormFieldsFormDef |
|
17 |
from wcs.wf.form import FormWorkflowStatusItem |
|
18 |
from wcs.wf.form import WorkflowFormFieldsFormDef |
|
13 | 19 |
from wcs.workflows import Workflow |
14 | 20 |
from wcs.workflows import WorkflowBackofficeFieldsFormDef |
15 | 21 |
from wcs.workflows import WorkflowVariablesFieldsFormDef |
16 | 22 | |
17 |
from utilities import get_app, login, create_temporary_pub, clean_temporary_pub |
|
18 | 23 |
from .test_all import create_superuser |
19 | 24 | |
20 | 25 |
tests/admin_pages/test_carddefcategory.py | ||
---|---|---|
1 | 1 |
# -*- coding: utf-8 -*- |
2 | 2 | |
3 | 3 |
import pytest |
4 |
from utilities import clean_temporary_pub |
|
5 |
from utilities import create_temporary_pub |
|
6 |
from utilities import get_app |
|
7 |
from utilities import login |
|
4 | 8 | |
5 |
from wcs.qommon.http_request import HTTPRequest |
|
6 | 9 |
from wcs.carddef import CardDef |
7 | 10 |
from wcs.categories import CardDefCategory |
11 |
from wcs.qommon.http_request import HTTPRequest |
|
8 | 12 | |
9 |
from utilities import get_app, login, create_temporary_pub, clean_temporary_pub |
|
10 | 13 |
from .test_all import create_superuser |
11 | 14 | |
12 | 15 |
tests/admin_pages/test_category.py | ||
---|---|---|
1 | 1 |
# -*- coding: utf-8 -*- |
2 | 2 | |
3 | 3 |
import pytest |
4 |
from utilities import clean_temporary_pub |
|
5 |
from utilities import create_temporary_pub |
|
6 |
from utilities import get_app |
|
7 |
from utilities import login |
|
4 | 8 | |
5 |
from wcs.qommon.http_request import HTTPRequest |
|
6 | 9 |
from wcs.categories import Category |
7 | 10 |
from wcs.formdef import FormDef |
11 |
from wcs.qommon.http_request import HTTPRequest |
|
8 | 12 | |
9 |
from utilities import get_app, login, create_temporary_pub, clean_temporary_pub |
|
10 | 13 |
from .test_all import create_superuser |
11 | 14 | |
12 | 15 |
tests/admin_pages/test_datasource.py | ||
---|---|---|
2 | 2 | |
3 | 3 |
import io |
4 | 4 |
import json |
5 |
import mock |
|
6 | 5 |
import os |
7 | 6 |
import xml.etree.ElementTree as ET |
8 | 7 | |
8 |
import mock |
|
9 | ||
9 | 10 |
try: |
10 | 11 |
import lasso |
11 | 12 |
except ImportError: |
12 | 13 |
lasso = None |
13 | 14 | |
14 | 15 |
import pytest |
16 |
from utilities import HttpRequestsMocking |
|
17 |
from utilities import clean_temporary_pub |
|
18 |
from utilities import create_temporary_pub |
|
19 |
from utilities import get_app |
|
20 |
from utilities import login |
|
15 | 21 |
from webtest import Upload |
16 | 22 | |
17 |
from wcs.qommon.http_request import HTTPRequest
|
|
23 |
from wcs import fields
|
|
18 | 24 |
from wcs.admin.settings import UserFieldsFormDef |
25 |
from wcs.carddef import CardDef |
|
19 | 26 |
from wcs.data_sources import NamedDataSource |
20 |
from wcs.workflows import Workflow, WorkflowBackofficeFieldsFormDef |
|
21 | 27 |
from wcs.formdef import FormDef |
22 |
from wcs.carddef import CardDef |
|
23 |
from wcs import fields |
|
28 |
from wcs.qommon.http_request import HTTPRequest |
|
29 |
from wcs.workflows import Workflow |
|
30 |
from wcs.workflows import WorkflowBackofficeFieldsFormDef |
|
24 | 31 | |
25 |
from utilities import get_app, login, create_temporary_pub, clean_temporary_pub, HttpRequestsMocking |
|
26 | 32 |
from .test_all import create_superuser |
27 | 33 | |
28 | 34 | |
... | ... | |
341 | 347 |
fields.ItemField(id='1', type='item', label='item', data_source={'type': data_source.slug}) |
342 | 348 |
) |
343 | 349 | |
344 |
from wcs.wf.form import FormWorkflowStatusItem, WorkflowFormFieldsFormDef |
|
350 |
from wcs.wf.form import FormWorkflowStatusItem |
|
351 |
from wcs.wf.form import WorkflowFormFieldsFormDef |
|
345 | 352 | |
346 | 353 |
baz_status = workflow.add_status(name='baz') |
347 | 354 |
display_form = FormWorkflowStatusItem() |
tests/admin_pages/test_form.py | ||
---|---|---|
2 | 2 | |
3 | 3 |
import datetime |
4 | 4 |
import io |
5 |
import mock |
|
6 | 5 |
import os |
7 | 6 |
import re |
8 | 7 |
import tarfile |
9 | 8 |
import time |
10 | 9 |
import xml.etree.ElementTree as ET |
11 | 10 | |
11 |
import mock |
|
12 | 12 |
import pytest |
13 |
from utilities import clean_temporary_pub |
|
14 |
from utilities import create_temporary_pub |
|
15 |
from utilities import get_app |
|
16 |
from utilities import login |
|
13 | 17 |
from webtest import Upload |
14 | 18 | |
15 |
from wcs.qommon.http_request import HTTPRequest
|
|
16 |
from wcs.qommon.errors import ConnectionError
|
|
19 |
from wcs import fields
|
|
20 |
from wcs.carddef import CardDef
|
|
17 | 21 |
from wcs.categories import Category |
18 | 22 |
from wcs.data_sources import NamedDataSource |
19 |
from wcs.wscalls import NamedWsCall |
|
20 |
from wcs.workflows import Workflow |
|
21 | 23 |
from wcs.formdef import FormDef |
22 |
from wcs.carddef import CardDef
|
|
23 |
from wcs import fields
|
|
24 | ||
25 |
from utilities import get_app, login, create_temporary_pub, clean_temporary_pub
|
|
24 |
from wcs.qommon.errors import ConnectionError
|
|
25 |
from wcs.qommon.http_request import HTTPRequest
|
|
26 |
from wcs.workflows import Workflow |
|
27 |
from wcs.wscalls import NamedWsCall
|
|
26 | 28 | |
27 |
from .test_all import create_superuser, create_role |
|
29 |
from .test_all import create_role |
|
30 |
from .test_all import create_superuser |
|
28 | 31 | |
29 | 32 | |
30 | 33 |
def pytest_generate_tests(metafunc): |
tests/admin_pages/test_logged_errors.py | ||
---|---|---|
3 | 3 |
import datetime |
4 | 4 | |
5 | 5 |
import pytest |
6 |
from utilities import clean_temporary_pub |
|
7 |
from utilities import create_temporary_pub |
|
8 |
from utilities import get_app |
|
9 |
from utilities import login |
|
6 | 10 | |
7 | 11 |
from wcs.carddef import CardDef |
8 | 12 |
from wcs.formdef import FormDef |
9 | 13 |
from wcs.qommon.http_request import HTTPRequest |
10 | 14 |
from wcs.workflows import Workflow |
11 | 15 | |
12 |
from utilities import get_app, login, create_temporary_pub, clean_temporary_pub |
|
13 | 16 |
from .test_all import create_superuser |
14 | 17 | |
15 | 18 |
tests/admin_pages/test_role.py | ||
---|---|---|
1 | 1 |
# -*- coding: utf-8 -*- |
2 | 2 | |
3 | 3 |
import pytest |
4 |
from utilities import clean_temporary_pub |
|
5 |
from utilities import create_temporary_pub |
|
6 |
from utilities import get_app |
|
7 |
from utilities import login |
|
4 | 8 | |
5 |
from wcs.qommon.http_request import HTTPRequest |
|
6 | 9 |
from wcs.formdef import FormDef |
10 |
from wcs.qommon.http_request import HTTPRequest |
|
7 | 11 | |
8 |
from utilities import get_app, login, create_temporary_pub, clean_temporary_pub |
|
9 | 12 |
from .test_all import create_superuser |
10 | 13 | |
11 | 14 |
tests/admin_pages/test_settings.py | ||
---|---|---|
11 | 11 |
except ImportError: |
12 | 12 |
lasso = None |
13 | 13 | |
14 |
import pytest |
|
15 |
from webtest import Upload |
|
16 | 14 |
import mock |
17 | ||
15 |
import pytest |
|
18 | 16 |
from quixote.http_request import Upload as QuixoteUpload |
17 |
from utilities import clean_temporary_pub |
|
18 |
from utilities import create_temporary_pub |
|
19 |
from utilities import get_app |
|
20 |
from utilities import login |
|
21 |
from webtest import Upload |
|
19 | 22 | |
23 |
from wcs import fields |
|
24 |
from wcs.api_access import ApiAccess |
|
25 |
from wcs.carddef import CardDef |
|
26 |
from wcs.categories import CardDefCategory |
|
27 |
from wcs.categories import Category |
|
28 |
from wcs.data_sources import NamedDataSource |
|
29 |
from wcs.formdef import FormDef |
|
20 | 30 |
from wcs.qommon.form import UploadedFile |
21 | 31 |
from wcs.qommon.http_request import HTTPRequest |
22 | 32 |
from wcs.qommon.template import get_current_theme |
23 |
from wcs.api_access import ApiAccess |
|
24 |
from wcs.categories import Category, CardDefCategory |
|
25 |
from wcs.data_sources import NamedDataSource |
|
26 |
from wcs.wscalls import NamedWsCall |
|
27 |
from wcs.workflows import Workflow, CommentableWorkflowStatusItem |
|
28 | 33 |
from wcs.wf.export_to_model import ExportToModel |
29 |
from wcs.formdef import FormDef
|
|
30 |
from wcs.carddef import CardDef
|
|
31 |
from wcs import fields
|
|
34 |
from wcs.workflows import CommentableWorkflowStatusItem
|
|
35 |
from wcs.workflows import Workflow
|
|
36 |
from wcs.wscalls import NamedWsCall
|
|
32 | 37 | |
33 |
from utilities import get_app, login, create_temporary_pub, clean_temporary_pub |
|
34 | 38 |
from .test_all import create_superuser |
35 | 39 | |
36 | 40 |
tests/admin_pages/test_user.py | ||
---|---|---|
1 | 1 |
# -*- coding: utf-8 -*- |
2 | 2 | |
3 | 3 |
import pytest |
4 |
from utilities import clean_temporary_pub |
|
5 |
from utilities import create_temporary_pub |
|
6 |
from utilities import get_app |
|
7 |
from utilities import login |
|
4 | 8 | |
5 |
from wcs.qommon.ident.password_accounts import PasswordAccount |
|
6 |
from wcs.qommon.http_request import HTTPRequest |
|
7 |
from wcs.admin.settings import UserFieldsFormDef |
|
8 | 9 |
from wcs import fields |
10 |
from wcs.admin.settings import UserFieldsFormDef |
|
11 |
from wcs.qommon.http_request import HTTPRequest |
|
12 |
from wcs.qommon.ident.password_accounts import PasswordAccount |
|
9 | 13 | |
10 |
from utilities import get_app, login, create_temporary_pub, clean_temporary_pub
|
|
11 |
from .test_all import create_superuser, create_role
|
|
14 |
from .test_all import create_role
|
|
15 |
from .test_all import create_superuser |
|
12 | 16 | |
13 | 17 | |
14 | 18 |
def pytest_generate_tests(metafunc): |
tests/admin_pages/test_workflow.py | ||
---|---|---|
1 | 1 |
# -*- coding: utf-8 -*- |
2 | 2 | |
3 | 3 |
import io |
4 |
import mock |
|
5 | 4 |
import os |
6 | 5 |
import re |
7 | 6 | |
7 |
import mock |
|
8 | ||
8 | 9 |
try: |
9 | 10 |
import lasso |
10 | 11 |
except ImportError: |
11 | 12 |
lasso = None |
12 | 13 | |
13 | 14 |
import pytest |
15 |
from utilities import clean_temporary_pub |
|
16 |
from utilities import create_temporary_pub |
|
17 |
from utilities import get_app |
|
18 |
from utilities import login |
|
14 | 19 |
from webtest import Upload |
15 | 20 | |
16 |
from wcs.qommon.http_request import HTTPRequest |
|
21 |
from wcs import fields |
|
22 |
from wcs.carddef import CardDef |
|
23 |
from wcs.formdef import FormDef |
|
17 | 24 |
from wcs.qommon.errors import ConnectionError |
18 |
from wcs.workflows import ( |
|
19 |
Workflow, |
|
20 |
WorkflowCriticalityLevel, |
|
21 |
DisplayMessageWorkflowStatusItem, |
|
22 |
WorkflowBackofficeFieldsFormDef, |
|
23 |
CommentableWorkflowStatusItem, |
|
24 |
ChoiceWorkflowStatusItem, |
|
25 |
JumpOnSubmitWorkflowStatusItem, |
|
26 |
WorkflowVariablesFieldsFormDef, |
|
27 |
item_classes, |
|
28 |
) |
|
25 |
from wcs.qommon.http_request import HTTPRequest |
|
29 | 26 |
from wcs.wf.create_carddata import CreateCarddataWorkflowStatusItem |
30 |
from wcs.wf.create_formdata import CreateFormdataWorkflowStatusItem, Mapping |
|
27 |
from wcs.wf.create_formdata import CreateFormdataWorkflowStatusItem |
|
28 |
from wcs.wf.create_formdata import Mapping |
|
31 | 29 |
from wcs.wf.dispatch import DispatchWorkflowStatusItem |
32 | 30 |
from wcs.wf.edit_carddata import EditCarddataWorkflowStatusItem |
33 | 31 |
from wcs.wf.export_to_model import ExportToModel |
34 | 32 |
from wcs.wf.external_workflow import ExternalWorkflowGlobalAction |
35 |
from wcs.wf.form import FormWorkflowStatusItem, WorkflowFormFieldsFormDef |
|
33 |
from wcs.wf.form import FormWorkflowStatusItem |
|
34 |
from wcs.wf.form import WorkflowFormFieldsFormDef |
|
36 | 35 |
from wcs.wf.jump import JumpWorkflowStatusItem |
37 | 36 |
from wcs.wf.redirect_to_url import RedirectToUrlWorkflowStatusItem |
38 | 37 |
from wcs.wf.register_comment import RegisterCommenterWorkflowStatusItem |
39 | 38 |
from wcs.wf.wscall import WebserviceCallStatusItem |
40 |
from wcs.carddef import CardDef |
|
41 |
from wcs.formdef import FormDef |
|
42 |
from wcs import fields |
|
39 |
from wcs.workflows import ChoiceWorkflowStatusItem |
|
40 |
from wcs.workflows import CommentableWorkflowStatusItem |
|
41 |
from wcs.workflows import DisplayMessageWorkflowStatusItem |
|
42 |
from wcs.workflows import JumpOnSubmitWorkflowStatusItem |
|
43 |
from wcs.workflows import Workflow |
|
44 |
from wcs.workflows import WorkflowBackofficeFieldsFormDef |
|
45 |
from wcs.workflows import WorkflowCriticalityLevel |
|
46 |
from wcs.workflows import WorkflowVariablesFieldsFormDef |
|
47 |
from wcs.workflows import item_classes |
|
43 | 48 | |
44 |
from utilities import get_app, login, create_temporary_pub, clean_temporary_pub |
|
45 | 49 |
from .test_all import create_superuser |
46 | 50 | |
47 | 51 |
tests/admin_pages/test_wscall.py | ||
---|---|---|
4 | 4 |
import xml.etree.ElementTree as ET |
5 | 5 | |
6 | 6 |
import pytest |
7 |
from utilities import clean_temporary_pub |
|
8 |
from utilities import create_temporary_pub |
|
9 |
from utilities import get_app |
|
10 |
from utilities import login |
|
7 | 11 |
from webtest import Upload |
8 | 12 | |
9 | 13 |
from wcs.qommon.http_request import HTTPRequest |
10 | 14 |
from wcs.wscalls import NamedWsCall |
11 | 15 | |
12 |
from utilities import get_app, login, create_temporary_pub, clean_temporary_pub |
|
13 | 16 |
from .test_all import create_superuser |
14 | 17 | |
15 | 18 |
tests/api/test_access.py | ||
---|---|---|
11 | 11 |
import pytest |
12 | 12 |
from django.utils.encoding import force_bytes |
13 | 13 |
from quixote import get_publisher |
14 |
from utilities import clean_temporary_pub, create_temporary_pub, get_app, login |
|
15 | ||
16 |
from wcs.api_utils import get_secret_and_orig, is_url_signed, sign_url |
|
14 |
from utilities import clean_temporary_pub |
|
15 |
from utilities import create_temporary_pub |
|
16 |
from utilities import get_app |
|
17 |
from utilities import login |
|
18 | ||
19 |
from wcs.api_utils import get_secret_and_orig |
|
20 |
from wcs.api_utils import is_url_signed |
|
21 |
from wcs.api_utils import sign_url |
|
17 | 22 |
from wcs.qommon.errors import AccessForbiddenError |
18 | 23 |
from wcs.qommon.http_request import HTTPRequest |
19 | 24 |
from wcs.qommon.ident.password_accounts import PasswordAccount |
tests/api/test_all.py | ||
---|---|---|
7 | 7 |
import mock |
8 | 8 |
import pytest |
9 | 9 |
from quixote import get_publisher |
10 |
from utilities import clean_temporary_pub, create_temporary_pub, get_app |
|
10 |
from utilities import clean_temporary_pub |
|
11 |
from utilities import create_temporary_pub |
|
12 |
from utilities import get_app |
|
11 | 13 | |
12 | 14 |
from wcs.api_utils import sign_url |
13 | 15 |
from wcs.formdef import FormDef |
tests/api/test_carddef.py | ||
---|---|---|
11 | 11 |
import pytest |
12 | 12 |
from django.utils.encoding import force_text |
13 | 13 |
from quixote import get_publisher |
14 |
from utilities import clean_temporary_pub, create_temporary_pub, get_app |
|
14 |
from utilities import clean_temporary_pub |
|
15 |
from utilities import create_temporary_pub |
|
16 |
from utilities import get_app |
|
15 | 17 | |
16 |
from wcs import fields, qommon |
|
18 |
from wcs import fields |
|
19 |
from wcs import qommon |
|
17 | 20 |
from wcs.api_utils import sign_url |
18 | 21 |
from wcs.carddef import CardDef |
19 | 22 |
from wcs.categories import CardDefCategory |
... | ... | |
21 | 24 |
from wcs.qommon.afterjobs import AfterJob |
22 | 25 |
from wcs.qommon.form import PicklableUpload |
23 | 26 |
from wcs.qommon.http_request import HTTPRequest |
24 |
from wcs.workflows import Workflow, WorkflowBackofficeFieldsFormDef |
|
27 |
from wcs.workflows import Workflow |
|
28 |
from wcs.workflows import WorkflowBackofficeFieldsFormDef |
|
25 | 29 | |
26 | 30 |
from .utils import sign_uri |
27 | 31 |
tests/api/test_category.py | ||
---|---|---|
4 | 4 | |
5 | 5 |
import pytest |
6 | 6 |
from quixote import get_publisher |
7 |
from utilities import clean_temporary_pub, create_temporary_pub, get_app |
|
7 |
from utilities import clean_temporary_pub |
|
8 |
from utilities import create_temporary_pub |
|
9 |
from utilities import get_app |
|
8 | 10 | |
9 | 11 |
from wcs.categories import Category |
10 | 12 |
from wcs.formdef import FormDef |
tests/api/test_custom_view.py | ||
---|---|---|
7 | 7 | |
8 | 8 |
import pytest |
9 | 9 |
from quixote import get_publisher |
10 |
from utilities import clean_temporary_pub, create_temporary_pub, get_app |
|
10 |
from utilities import clean_temporary_pub |
|
11 |
from utilities import create_temporary_pub |
|
12 |
from utilities import get_app |
|
11 | 13 | |
12 | 14 |
from wcs import fields |
13 | 15 |
from wcs.carddef import CardDef |
tests/api/test_formdata.py | ||
---|---|---|
12 | 12 |
import pytest |
13 | 13 |
from django.utils.encoding import force_bytes |
14 | 14 |
from quixote import get_publisher |
15 |
from utilities import clean_temporary_pub, create_temporary_pub, get_app, login |
|
15 |
from utilities import clean_temporary_pub |
|
16 |
from utilities import create_temporary_pub |
|
17 |
from utilities import get_app |
|
18 |
from utilities import login |
|
16 | 19 | |
17 | 20 |
from wcs import fields |
18 | 21 |
from wcs.blocks import BlockDef |
... | ... | |
23 | 26 |
from wcs.qommon.form import PicklableUpload |
24 | 27 |
from wcs.qommon.http_request import HTTPRequest |
25 | 28 |
from wcs.qommon.ident.password_accounts import PasswordAccount |
26 |
from wcs.workflows import EditableWorkflowStatusItem, Workflow, WorkflowBackofficeFieldsFormDef |
|
29 |
from wcs.workflows import EditableWorkflowStatusItem |
|
30 |
from wcs.workflows import Workflow |
|
31 |
from wcs.workflows import WorkflowBackofficeFieldsFormDef |
|
27 | 32 | |
28 | 33 |
from .utils import sign_uri |
29 | 34 |
tests/api/test_formdef.py | ||
---|---|---|
12 | 12 |
import pytest |
13 | 13 |
from django.utils.encoding import force_text |
14 | 14 |
from quixote import get_publisher |
15 |
from utilities import clean_temporary_pub, create_temporary_pub, get_app |
|
15 |
from utilities import clean_temporary_pub |
|
16 |
from utilities import create_temporary_pub |
|
17 |
from utilities import get_app |
|
16 | 18 | |
17 |
from wcs import fields, qommon |
|
19 |
from wcs import fields |
|
20 |
from wcs import qommon |
|
18 | 21 |
from wcs.api_utils import sign_url |
19 | 22 |
from wcs.data_sources import NamedDataSource |
20 | 23 |
from wcs.formdef import FormDef |
21 | 24 |
from wcs.qommon.form import PicklableUpload |
22 | 25 |
from wcs.qommon.http_request import HTTPRequest |
23 | 26 |
from wcs.wf.jump import JumpWorkflowStatusItem |
24 |
from wcs.workflows import Workflow, WorkflowBackofficeFieldsFormDef |
|
27 |
from wcs.workflows import Workflow |
|
28 |
from wcs.workflows import WorkflowBackofficeFieldsFormDef |
|
25 | 29 | |
26 | 30 |
from .utils import sign_uri |
27 | 31 |
tests/api/test_user.py | ||
---|---|---|
5 | 5 | |
6 | 6 |
import pytest |
7 | 7 |
from quixote import get_publisher |
8 |
from utilities import clean_temporary_pub, create_temporary_pub, get_app |
|
8 |
from utilities import clean_temporary_pub |
|
9 |
from utilities import create_temporary_pub |
|
10 |
from utilities import get_app |
|
9 | 11 | |
10 | 12 |
from wcs import fields |
11 | 13 |
from wcs.formdef import FormDef |
12 | 14 |
from wcs.qommon.form import PicklableUpload |
13 | 15 |
from wcs.qommon.http_request import HTTPRequest |
14 | 16 |
from wcs.qommon.ident.password_accounts import PasswordAccount |
15 |
from wcs.workflows import Workflow, WorkflowVariablesFieldsFormDef |
|
17 |
from wcs.workflows import Workflow |
|
18 |
from wcs.workflows import WorkflowVariablesFieldsFormDef |
|
16 | 19 | |
17 | 20 |
from .utils import sign_uri |
18 | 21 |
tests/api/test_utils.py | ||
---|---|---|
1 | 1 |
import pytest |
2 |
from quixote import cleanup, get_response |
|
3 |
from utilities import clean_temporary_pub, create_temporary_pub |
|
2 |
from quixote import cleanup |
|
3 |
from quixote import get_response |
|
4 |
from utilities import clean_temporary_pub |
|
5 |
from utilities import create_temporary_pub |
|
4 | 6 | |
5 | 7 |
from wcs import sessions |
6 | 8 |
from wcs.api_utils import get_query_flag |
tests/api/test_workflow.py | ||
---|---|---|
4 | 4 | |
5 | 5 |
import pytest |
6 | 6 |
from quixote import get_publisher |
7 |
from utilities import clean_temporary_pub, create_temporary_pub, get_app |
|
7 |
from utilities import clean_temporary_pub |
|
8 |
from utilities import create_temporary_pub |
|
9 |
from utilities import get_app |
|
8 | 10 | |
9 | 11 |
from wcs import fields |
10 | 12 |
from wcs.formdef import FormDef |
tests/backoffice_pages/test_all.py | ||
---|---|---|
4 | 4 |
import io |
5 | 5 |
import json |
6 | 6 |
import os |
7 |
import random |
|
7 | 8 |
import re |
8 | 9 |
import time |
9 |
import random |
|
10 | 10 |
import zipfile |
11 | 11 | |
12 | 12 |
import mock |
13 | 13 |
import pytest |
14 | ||
15 | 14 |
from quixote import get_publisher |
16 | 15 |
from quixote.http_request import Upload as QuixoteUpload |
16 |
from utilities import clean_temporary_pub |
|
17 |
from utilities import create_temporary_pub |
|
18 |
from utilities import get_app |
|
19 |
from utilities import login |
|
20 | ||
21 |
import wcs.qommon.storage as st |
|
22 |
from wcs import fields |
|
17 | 23 |
from wcs.blocks import BlockDef |
24 |
from wcs.carddef import CardDef |
|
25 |
from wcs.categories import Category |
|
26 |
from wcs.formdef import FormDef |
|
18 | 27 |
from wcs.qommon.form import PicklableUpload |
19 | 28 |
from wcs.qommon.form import UploadedFile |
20 |
from wcs.qommon.ident.password_accounts import PasswordAccount |
|
21 | 29 |
from wcs.qommon.http_request import HTTPRequest |
22 |
import wcs.qommon.storage as st
|
|
30 |
from wcs.qommon.ident.password_accounts import PasswordAccount
|
|
23 | 31 |
from wcs.roles import logged_users_role |
24 |
from wcs.workflows import ( |
|
25 |
Workflow, |
|
26 |
CommentableWorkflowStatusItem, |
|
27 |
ChoiceWorkflowStatusItem, |
|
28 |
EditableWorkflowStatusItem, |
|
29 |
DisplayMessageWorkflowStatusItem, |
|
30 |
JumpOnSubmitWorkflowStatusItem, |
|
31 |
WorkflowCriticalityLevel, |
|
32 |
WorkflowBackofficeFieldsFormDef, |
|
33 |
) |
|
34 | 32 |
from wcs.wf.backoffice_fields import SetBackofficeFieldsWorkflowStatusItem |
33 |
from wcs.wf.create_carddata import CreateCarddataWorkflowStatusItem |
|
34 |
from wcs.wf.create_formdata import CreateFormdataWorkflowStatusItem |
|
35 |
from wcs.wf.create_formdata import Mapping |
|
35 | 36 |
from wcs.wf.export_to_model import ExportToModel |
36 |
from wcs.wf.form import FormWorkflowStatusItem, WorkflowFormFieldsFormDef |
|
37 |
from wcs.wf.form import FormWorkflowStatusItem |
|
38 |
from wcs.wf.form import WorkflowFormFieldsFormDef |
|
37 | 39 |
from wcs.wf.jump import JumpWorkflowStatusItem |
38 |
from wcs.wf.wscall import WebserviceCallStatusItem |
|
39 | 40 |
from wcs.wf.redirect_to_url import RedirectToUrlWorkflowStatusItem |
40 | 41 |
from wcs.wf.register_comment import RegisterCommenterWorkflowStatusItem |
41 | 42 |
from wcs.wf.resubmit import ResubmitWorkflowStatusItem |
42 |
from wcs.wf.create_formdata import CreateFormdataWorkflowStatusItem, Mapping |
|
43 |
from wcs.wf.create_carddata import CreateCarddataWorkflowStatusItem |
|
44 |
from wcs.carddef import CardDef |
|
45 |
from wcs.categories import Category |
|
46 |
from wcs.formdef import FormDef |
|
47 |
from wcs import fields |
|
43 |
from wcs.wf.wscall import WebserviceCallStatusItem |
|
44 |
from wcs.workflows import ChoiceWorkflowStatusItem |
|
45 |
from wcs.workflows import CommentableWorkflowStatusItem |
|
46 |
from wcs.workflows import DisplayMessageWorkflowStatusItem |
|
47 |
from wcs.workflows import EditableWorkflowStatusItem |
|
48 |
from wcs.workflows import JumpOnSubmitWorkflowStatusItem |
|
49 |
from wcs.workflows import Workflow |
|
50 |
from wcs.workflows import WorkflowBackofficeFieldsFormDef |
|
51 |
from wcs.workflows import WorkflowCriticalityLevel |
|
48 | 52 |
from wcs.wscalls import NamedWsCall |
49 | 53 | |
50 |
from utilities import get_app, login, create_temporary_pub, clean_temporary_pub |
|
51 | ||
52 | 54 | |
53 | 55 |
def pytest_generate_tests(metafunc): |
54 | 56 |
if 'pub' in metafunc.fixturenames: |
... | ... | |
1755 | 1757 |
create_environment(pub) |
1756 | 1758 |
FormDef.wipe() |
1757 | 1759 |
if pub.is_using_postgresql(): |
1758 |
from wcs.sql import get_connection_and_cursor, drop_global_views |
|
1760 |
from wcs.sql import drop_global_views |
|
1761 |
from wcs.sql import get_connection_and_cursor |
|
1759 | 1762 | |
1760 | 1763 |
conn, cur = get_connection_and_cursor() |
1761 | 1764 |
drop_global_views(conn, cur) |
... | ... | |
3144 | 3147 |
create_environment(pub) |
3145 | 3148 |
FormDef.wipe() |
3146 | 3149 | |
3147 |
from wcs.sql import get_connection_and_cursor, drop_global_views |
|
3150 |
from wcs.sql import drop_global_views |
|
3151 |
from wcs.sql import get_connection_and_cursor |
|
3148 | 3152 | |
3149 | 3153 |
conn, cur = get_connection_and_cursor() |
3150 | 3154 |
drop_global_views(conn, cur) |
tests/backoffice_pages/test_carddata.py | ||
---|---|---|
4 | 4 |
import uuid |
5 | 5 | |
6 | 6 |
import pytest |
7 |
from utilities import clean_temporary_pub |
|
8 |
from utilities import create_temporary_pub |
|
9 |
from utilities import get_app |
|
10 |
from utilities import login |
|
7 | 11 |
from webtest import Upload |
8 | 12 | |
9 | 13 |
from wcs import fields |
... | ... | |
13 | 17 |
from wcs.formdef import FormDef |
14 | 18 |
from wcs.qommon.http_request import HTTPRequest |
15 | 19 |
from wcs.wf.wscall import WebserviceCallStatusItem |
16 |
from wcs.workflows import ChoiceWorkflowStatusItem, Workflow |
|
20 |
from wcs.workflows import ChoiceWorkflowStatusItem |
|
21 |
from wcs.workflows import Workflow |
|
17 | 22 | |
18 |
from utilities import clean_temporary_pub, create_temporary_pub, get_app, login |
|
19 | 23 |
from .test_all import create_user |
20 | 24 | |
21 | 25 |
tests/backoffice_pages/test_custom_view.py | ||
---|---|---|
3 | 3 |
import re |
4 | 4 | |
5 | 5 |
import pytest |
6 | ||
7 | 6 |
from quixote import get_publisher |
8 |
from wcs.qommon.ident.password_accounts import PasswordAccount |
|
9 |
from wcs.qommon.http_request import HTTPRequest |
|
7 |
from utilities import clean_temporary_pub |
|
8 |
from utilities import create_temporary_pub |
|
9 |
from utilities import get_app |
|
10 |
from utilities import login |
|
11 | ||
12 |
from wcs import fields |
|
10 | 13 |
from wcs.carddef import CardDef |
11 | 14 |
from wcs.formdef import FormDef |
12 |
from wcs import fields |
|
15 |
from wcs.qommon.http_request import HTTPRequest |
|
16 |
from wcs.qommon.ident.password_accounts import PasswordAccount |
|
13 | 17 | |
14 |
from utilities import get_app, login, create_temporary_pub, clean_temporary_pub
|
|
15 |
from .test_all import create_user, create_superuser
|
|
18 |
from .test_all import create_superuser
|
|
19 |
from .test_all import create_user |
|
16 | 20 | |
17 | 21 | |
18 | 22 |
def pytest_generate_tests(metafunc): |
tests/backoffice_pages/test_export.py | ||
---|---|---|
9 | 9 |
import zipfile |
10 | 10 | |
11 | 11 |
import pytest |
12 |
from utilities import clean_temporary_pub |
|
13 |
from utilities import create_temporary_pub |
|
14 |
from utilities import get_app |
|
15 |
from utilities import login |
|
12 | 16 | |
13 |
from wcs.qommon import ods
|
|
17 |
from wcs import fields
|
|
14 | 18 |
from wcs.blocks import BlockDef |
19 |
from wcs.formdef import FormDef |
|
20 |
from wcs.qommon import ods |
|
15 | 21 |
from wcs.qommon.form import PicklableUpload |
16 | 22 |
from wcs.qommon.http_request import HTTPRequest |
17 |
from wcs.formdef import FormDef |
|
18 |
from wcs import fields |
|
19 | 23 | |
20 |
from utilities import get_app, login, create_temporary_pub, clean_temporary_pub |
|
21 | 24 |
from .test_all import create_superuser |
22 | 25 | |
23 | 26 |
tests/backoffice_pages/test_submission.py | ||
---|---|---|
6 | 6 |
import urllib.parse |
7 | 7 | |
8 | 8 |
import pytest |
9 |
from utilities import clean_temporary_pub, create_temporary_pub, get_app, login |
|
9 |
from utilities import clean_temporary_pub |
|
10 |
from utilities import create_temporary_pub |
|
11 |
from utilities import get_app |
|
12 |
from utilities import login |
|
10 | 13 | |
11 | 14 |
from wcs import fields |
12 | 15 |
from wcs.api_utils import sign_url |
... | ... | |
16 | 19 |
from wcs.wf.dispatch import DispatchWorkflowStatusItem |
17 | 20 |
from wcs.wf.jump import JumpWorkflowStatusItem |
18 | 21 |
from wcs.wf.redirect_to_url import RedirectToUrlWorkflowStatusItem |
19 |
from wcs.workflows import Workflow, WorkflowBackofficeFieldsFormDef |
|
22 |
from wcs.workflows import Workflow |
|
23 |
from wcs.workflows import WorkflowBackofficeFieldsFormDef |
|
20 | 24 | |
21 |
from .test_all import create_superuser, create_user |
|
25 |
from .test_all import create_superuser |
|
26 |
from .test_all import create_user |
|
22 | 27 | |
23 | 28 | |
24 | 29 |
def pytest_generate_tests(metafunc): |
tests/conftest.py | ||
---|---|---|
2 | 2 |
import os |
3 | 3 | |
4 | 4 |
import pytest |
5 | ||
6 |
from utilities import EmailsMocking, SMSMocking, HttpRequestsMocking |
|
5 |
from utilities import EmailsMocking |
|
6 |
from utilities import HttpRequestsMocking |
|
7 |
from utilities import SMSMocking |
|
7 | 8 | |
8 | 9 | |
9 | 10 |
def site_options(request, pub, section, variable, value): |
tests/form_pages/test_all.py | ||
---|---|---|
1 | 1 |
# -*- coding: utf-8 -*- |
2 | 2 | |
3 |
import hashlib |
|
3 | 4 |
import io |
4 | 5 |
import json |
5 |
import pytest |
|
6 |
import hashlib |
|
7 | 6 |
import os |
8 | 7 |
import re |
9 | 8 |
import time |
10 | 9 |
import urllib.parse |
10 |
import xml.etree.ElementTree as ET |
|
11 | 11 |
import zipfile |
12 | 12 | |
13 |
from webtest import Upload, Hidden, Radio |
|
14 | 13 |
import mock |
15 |
import xml.etree.ElementTree as ET |
|
14 |
import pytest |
|
15 |
from webtest import Hidden |
|
16 |
from webtest import Radio |
|
17 |
from webtest import Upload |
|
16 | 18 | |
17 | 19 |
try: |
18 | 20 |
from PIL import Image |
19 | 21 |
except ImportError: |
20 | 22 |
Image = None |
21 | 23 | |
22 |
from django.utils.encoding import force_bytes, force_text |
|
24 |
from django.utils.encoding import force_bytes |
|
25 |
from django.utils.encoding import force_text |
|
26 |
from utilities import clean_temporary_pub |
|
27 |
from utilities import create_temporary_pub |
|
28 |
from utilities import get_app |
|
29 |
from utilities import login |
|
23 | 30 | |
31 |
from wcs import fields |
|
32 |
from wcs.blocks import BlockDef |
|
33 |
from wcs.carddef import CardDef |
|
34 |
from wcs.categories import Category |
|
35 |
from wcs.data_sources import NamedDataSource |
|
36 |
from wcs.formdef import FormDef |
|
37 |
from wcs.forms.root import PublicFormStatusPage |
|
24 | 38 |
from wcs.qommon import force_str |
25 | 39 |
from wcs.qommon.emails import docutils |
26 | 40 |
from wcs.qommon.ident.password_accounts import PasswordAccount |
27 | 41 |
from wcs.qommon.misc import ConnectionError |
28 |
from wcs.carddef import CardDef |
|
29 |
from wcs.formdef import FormDef |
|
30 |
from wcs.workflows import ( |
|
31 |
Workflow, |
|
32 |
EditableWorkflowStatusItem, |
|
33 |
DisplayMessageWorkflowStatusItem, |
|
34 |
WorkflowBackofficeFieldsFormDef, |
|
35 |
ChoiceWorkflowStatusItem, |
|
36 |
JumpOnSubmitWorkflowStatusItem, |
|
37 |
CommentableWorkflowStatusItem, |
|
38 |
WorkflowVariablesFieldsFormDef, |
|
39 |
) |
|
42 |
from wcs.roles import logged_users_role |
|
43 |
from wcs.tracking_code import TrackingCode |
|
40 | 44 |
from wcs.wf.backoffice_fields import SetBackofficeFieldsWorkflowStatusItem |
45 |
from wcs.wf.create_formdata import CreateFormdataWorkflowStatusItem |
|
46 |
from wcs.wf.create_formdata import Mapping |
|
47 |
from wcs.wf.form import FormWorkflowStatusItem |
|
48 |
from wcs.wf.form import WorkflowFormFieldsFormDef |
|
41 | 49 |
from wcs.wf.jump import JumpWorkflowStatusItem |
42 |
from wcs.wf.form import FormWorkflowStatusItem, WorkflowFormFieldsFormDef
|
|
50 |
from wcs.wf.redirect_to_url import RedirectToUrlWorkflowStatusItem
|
|
43 | 51 |
from wcs.wf.register_comment import RegisterCommenterWorkflowStatusItem |
44 | 52 |
from wcs.wf.resubmit import ResubmitWorkflowStatusItem |
45 |
from wcs.wf.create_formdata import CreateFormdataWorkflowStatusItem, Mapping |
|
46 |
from wcs.wf.redirect_to_url import RedirectToUrlWorkflowStatusItem |
|
47 |
from wcs.blocks import BlockDef |
|
48 |
from wcs.categories import Category |
|
49 |
from wcs.roles import logged_users_role |
|
50 |
from wcs.tracking_code import TrackingCode |
|
51 |
from wcs.data_sources import NamedDataSource |
|
52 |
from wcs import fields |
|
53 |
from wcs.forms.root import PublicFormStatusPage |
|
54 | ||
55 |
from utilities import get_app, login, create_temporary_pub, clean_temporary_pub |
|
53 |
from wcs.workflows import ChoiceWorkflowStatusItem |
|
54 |
from wcs.workflows import CommentableWorkflowStatusItem |
|
55 |
from wcs.workflows import DisplayMessageWorkflowStatusItem |
|
56 |
from wcs.workflows import EditableWorkflowStatusItem |
|
57 |
from wcs.workflows import JumpOnSubmitWorkflowStatusItem |
|
58 |
from wcs.workflows import Workflow |
|
59 |
from wcs.workflows import WorkflowBackofficeFieldsFormDef |
|
60 |
from wcs.workflows import WorkflowVariablesFieldsFormDef |
|
56 | 61 | |
57 | 62 | |
58 | 63 |
def assert_equal_zip(stream1, stream2): |
tests/form_pages/test_block.py | ||
---|---|---|
2 | 2 | |
3 | 3 |
import io |
4 | 4 |
import json |
5 |
import mock |
|
6 | 5 | |
6 |
import mock |
|
7 | 7 |
import pytest |
8 |
from utilities import clean_temporary_pub |
|
9 |
from utilities import create_temporary_pub |
|
10 |
from utilities import get_app |
|
11 |
from utilities import login |
|
8 | 12 |
from webtest import Upload |
9 | 13 | |
14 |
from wcs import fields |
|
10 | 15 |
from wcs.blocks import BlockDef |
11 |
from wcs.formdef import FormDef |
|
12 |
from wcs.workflows import Workflow |
|
13 |
from wcs.wf.form import FormWorkflowStatusItem, WorkflowFormFieldsFormDef |
|
14 | 16 |
from wcs.categories import Category |
15 | 17 |
from wcs.data_sources import NamedDataSource |
16 |
from wcs import fields |
|
18 |
from wcs.formdef import FormDef |
|
19 |
from wcs.wf.form import FormWorkflowStatusItem |
|
20 |
from wcs.wf.form import WorkflowFormFieldsFormDef |
|
21 |
from wcs.workflows import Workflow |
|
17 | 22 | |
18 |
from utilities import get_app, login, create_temporary_pub, clean_temporary_pub |
|
19 | 23 |
from .test_all import create_user |
20 | 24 | |
21 | 25 |
tests/form_pages/test_formdata.py | ||
---|---|---|
13 | 13 |
import pytest |
14 | 14 |
from django.utils.encoding import force_bytes |
15 | 15 |
from quixote.http_request import Upload as QuixoteUpload |
16 |
from webtest import Upload, Hidden |
|
16 |
from utilities import clean_temporary_pub |
|
17 |
from utilities import create_temporary_pub |
|
18 |
from utilities import get_app |
|
19 |
from utilities import login |
|
20 |
from webtest import Hidden |
|
21 |
from webtest import Upload |
|
17 | 22 | |
18 | 23 |
from wcs import fields |
19 | 24 |
from wcs.data_sources import NamedDataSource |
20 | 25 |
from wcs.formdef import FormDef |
21 | 26 |
from wcs.qommon.form import UploadedFile |
22 | 27 |
from wcs.wf.attachment import AddAttachmentWorkflowStatusItem |
23 |
from wcs.wf.export_to_model import ExportToModel, transform_to_pdf |
|
24 |
from wcs.wf.form import FormWorkflowStatusItem, WorkflowFormFieldsFormDef |
|
28 |
from wcs.wf.export_to_model import ExportToModel |
|
29 |
from wcs.wf.export_to_model import transform_to_pdf |
|
30 |
from wcs.wf.form import FormWorkflowStatusItem |
|
31 |
from wcs.wf.form import WorkflowFormFieldsFormDef |
|
25 | 32 |
from wcs.wf.jump import JumpWorkflowStatusItem |
26 | 33 |
from wcs.wf.register_comment import RegisterCommenterWorkflowStatusItem |
27 |
from wcs.workflows import ( |
|
28 |
ChoiceWorkflowStatusItem, |
|
29 |
DisplayMessageWorkflowStatusItem, |
|
30 |
Workflow, |
|
31 |
WorkflowBackofficeFieldsFormDef, |
|
32 |
) |
|
34 |
from wcs.workflows import ChoiceWorkflowStatusItem |
|
35 |
from wcs.workflows import DisplayMessageWorkflowStatusItem |
|
36 |
from wcs.workflows import Workflow |
|
37 |
from wcs.workflows import WorkflowBackofficeFieldsFormDef |
|
33 | 38 |
from wcs.wscalls import NamedWsCall |
34 | 39 | |
35 |
from .test_all import create_user, create_user_and_admin
|
|
36 |
from utilities import clean_temporary_pub, create_temporary_pub, get_app, login
|
|
40 |
from .test_all import create_user |
|
41 |
from .test_all import create_user_and_admin
|
|
37 | 42 | |
38 | 43 | |
39 | 44 |
def pytest_generate_tests(metafunc): |
tests/test_auth_pages.py | ||
---|---|---|
1 | 1 |
import pytest |
2 |
from utilities import clean_temporary_pub |
|
3 |
from utilities import create_temporary_pub |
|
4 |
from utilities import get_app |
|
5 |
from utilities import login |
|
2 | 6 | |
3 | 7 |
from wcs.qommon.ident.password_accounts import PasswordAccount |
4 |
from utilities import get_app, login, create_temporary_pub, clean_temporary_pub |
|
5 | 8 | |
6 | 9 | |
7 | 10 |
@pytest.fixture |
tests/test_carddef.py | ||
---|---|---|
1 | 1 |
import io |
2 |
import pytest |
|
3 | 2 |
import xml.etree.ElementTree as ET |
4 | 3 | |
5 |
from wcs.qommon.http_request import HTTPRequest
|
|
6 |
from wcs.qommon.misc import indent_xml as indent
|
|
7 |
from wcs.qommon.template import Template
|
|
8 |
from wcs.categories import CardDefCategory |
|
4 |
import pytest
|
|
5 |
from utilities import clean_temporary_pub
|
|
6 |
from utilities import create_temporary_pub
|
|
7 | ||
9 | 8 |
from wcs.carddef import CardDef |
9 |
from wcs.categories import CardDefCategory |
|
10 | 10 |
from wcs.fields import ItemField |
11 | 11 |
from wcs.fields import StringField |
12 | ||
13 |
from utilities import create_temporary_pub, clean_temporary_pub |
|
12 |
from wcs.qommon.http_request import HTTPRequest |
|
13 |
from wcs.qommon.misc import indent_xml as indent |
|
14 |
from wcs.qommon.template import Template |
|
14 | 15 | |
15 | 16 | |
16 | 17 |
def pytest_generate_tests(metafunc): |
tests/test_categories.py | ||
---|---|---|
4 | 4 |
import shutil |
5 | 5 | |
6 | 6 |
import pytest |
7 | ||
8 | 7 |
from quixote import cleanup |
9 | ||
10 |
from wcs.categories import Category, CardDefCategory |
|
11 | ||
12 | 8 |
from utilities import create_temporary_pub |
13 | 9 | |
10 |
from wcs.categories import CardDefCategory |
|
11 |
from wcs.categories import Category |
|
12 | ||
14 | 13 | |
15 | 14 |
def setup_module(module): |
16 | 15 |
cleanup() |
tests/test_convert_to_sql.py | ||
---|---|---|
1 | 1 |
import collections |
2 | 2 |
import os |
3 | 3 |
import random |
4 | ||
4 | 5 |
import psycopg2 |
5 | 6 |
import pytest |
6 | ||
7 |
from django.core.management import get_commands |
|
8 | 7 |
from django.core.management import call_command |
8 |
from django.core.management import get_commands |
|
9 | 9 |
from django.core.management.base import CommandError |
10 | 10 |
from quixote import get_publisher |
11 | ||
12 |
from wcs.sql import cleanup_connection |
|
13 |
from wcs.formdef import FormDef |
|
14 |
from wcs.fields import BoolField |
|
15 | ||
16 | 11 |
from utilities import clean_temporary_pub |
17 | 12 |
from utilities import create_temporary_pub |
18 | 13 |
from utilities import force_connections_close |
19 | 14 | |
15 |
from wcs.fields import BoolField |
|
16 |
from wcs.formdef import FormDef |
|
17 |
from wcs.sql import cleanup_connection |
|
18 | ||
20 | 19 | |
21 | 20 |
@pytest.fixture |
22 | 21 |
def formdeffix(): |
tests/test_ctl.py | ||
---|---|---|
1 |
import collections |
|
1 | 2 |
import os |
2 |
import pytest |
|
3 | 3 |
import sys |
4 |
import collections |
|
5 |
from email.mime.text import MIMEText |
|
6 | 4 |
from email.mime.multipart import MIMEMultipart |
7 |
import psycopg2 |
|
5 |
from email.mime.text import MIMEText |
|
8 | 6 | |
9 |
from django.core.management import call_command, CommandError |
|
7 |
import psycopg2 |
|
8 |
import pytest |
|
9 |
from django.core.management import CommandError |
|
10 |
from django.core.management import call_command |
|
11 |
from utilities import clean_temporary_pub |
|
12 |
from utilities import create_temporary_pub |
|
10 | 13 | |
11 |
from wcs.formdef import FormDef |
|
12 |
from wcs.workflows import Workflow |
|
13 |
from wcs.wf.jump import JumpWorkflowStatusItem |
|
14 |
from wcs.fields import StringField, EmailField |
|
15 | 14 |
import wcs.qommon.ctl |
15 |
from wcs.ctl.delete_tenant import CmdDeleteTenant |
|
16 |
from wcs.ctl.management.commands.runscript import Command as CmdRunScript |
|
17 |
from wcs.ctl.management.commands.trigger_jumps import select_and_jump_formdata |
|
18 |
from wcs.ctl.rebuild_indexes import rebuild_vhost_indexes |
|
19 |
from wcs.ctl.wipe_data import CmdWipeData |
|
20 |
from wcs.fields import EmailField |
|
21 |
from wcs.fields import StringField |
|
22 |
from wcs.formdef import FormDef |
|
16 | 23 |
from wcs.qommon.afterjobs import AfterJob |
17 | 24 |
from wcs.qommon.management.commands.collectstatic import Command as CmdCollectStatic |
25 |
from wcs.qommon.management.commands.makemessages import Command as CmdMakeMessages |
|
18 | 26 |
from wcs.qommon.management.commands.migrate import Command as CmdMigrate |
19 | 27 |
from wcs.qommon.management.commands.migrate_schemas import Command as CmdMigrateSchemas |
20 |
from wcs.qommon.management.commands.makemessages import Command as CmdMakeMessages |
|
21 |
from wcs.ctl.rebuild_indexes import rebuild_vhost_indexes |
|
22 |
from wcs.ctl.wipe_data import CmdWipeData |
|
23 |
from wcs.ctl.management.commands.runscript import Command as CmdRunScript |
|
24 |
from wcs.ctl.management.commands.trigger_jumps import select_and_jump_formdata |
|
25 |
from wcs.ctl.delete_tenant import CmdDeleteTenant |
|
28 |
from wcs.sql import cleanup_connection |
|
29 |
from wcs.sql import get_connection_and_cursor |
|
30 |
from wcs.wf.jump import JumpWorkflowStatusItem |
|
31 |
from wcs.workflows import Workflow |
|
26 | 32 |
from wcs.workflows import WorkflowStatusItem |
27 |
from wcs.sql import get_connection_and_cursor, cleanup_connection |
|
28 | ||
29 |
from utilities import create_temporary_pub, clean_temporary_pub |
|
30 | 33 | |
31 | 34 | |
32 | 35 |
@pytest.fixture |
tests/test_datasource.py | ||
---|---|---|
2 | 2 | |
3 | 3 |
import codecs |
4 | 4 |
import io |
5 |
import pytest |
|
6 |
import os |
|
7 | 5 |
import json |
6 |
import os |
|
8 | 7 |
import shutil |
9 | 8 |
import urllib.parse |
10 | 9 | |
10 |
import mock |
|
11 |
import pytest |
|
11 | 12 |
from quixote import cleanup |
13 |
from test_widgets import MockHtmlForm |
|
14 |
from test_widgets import mock_form_submission |
|
15 |
from utilities import clean_temporary_pub |
|
16 |
from utilities import create_temporary_pub |
|
17 | ||
18 |
from wcs import data_sources |
|
19 |
from wcs import fields |
|
20 |
from wcs.data_sources import NamedDataSource |
|
21 |
from wcs.data_sources import register_data_source_function |
|
22 |
from wcs.qommon.form import Form |
|
23 |
from wcs.qommon.form import get_request |
|
12 | 24 |
from wcs.qommon.http_request import HTTPRequest |
13 |
from wcs.qommon.form import get_request, Form |
|
14 |
from wcs import fields, data_sources |
|
15 |
from wcs.data_sources import NamedDataSource, register_data_source_function |
|
16 | ||
17 |
import mock |
|
18 |
from test_widgets import MockHtmlForm, mock_form_submission |
|
19 |
from utilities import create_temporary_pub, clean_temporary_pub |
|
20 | 25 | |
21 | 26 | |
22 | 27 |
@pytest.fixture |
tests/test_datasource_chrono.py | ||
---|---|---|
1 | 1 |
# -*- coding: utf-8 -*- |
2 | 2 | |
3 | 3 |
import io |
4 |
import pytest |
|
5 | 4 |
import json |
6 | 5 |
import shutil |
7 | 6 | |
7 |
import mock |
|
8 |
import pytest |
|
8 | 9 |
from quixote import cleanup |
10 |
from utilities import create_temporary_pub |
|
11 | ||
9 | 12 |
from wcs import fields |
10 |
from wcs.data_sources import NamedDataSource, build_agenda_datasources, collect_agenda_data |
|
13 |
from wcs.data_sources import NamedDataSource |
|
14 |
from wcs.data_sources import build_agenda_datasources |
|
15 |
from wcs.data_sources import collect_agenda_data |
|
11 | 16 |
from wcs.formdef import FormDef |
12 |
from wcs.qommon.misc import ConnectionError |
|
13 | 17 |
from wcs.qommon.http_request import HTTPRequest |
14 | ||
15 |
import mock |
|
16 |
from utilities import create_temporary_pub |
|
18 |
from wcs.qommon.misc import ConnectionError |
|
17 | 19 | |
18 | 20 | |
19 | 21 |
def setup_module(module): |
tests/test_ezt.py | ||
---|---|---|
1 | 1 |
import datetime |
2 | 2 |
import io |
3 |
import pytest |
|
4 | 3 |
import os |
5 | 4 | |
5 |
import pytest |
|
6 | 6 |
from quixote import cleanup |
7 |
from wcs.qommon.ezt import ( |
|
8 |
Template, |
|
9 |
UnclosedBlocksError, |
|
10 |
UnmatchedEndError, |
|
11 |
UnmatchedElseError, |
|
12 |
ArgCountSyntaxError, |
|
13 |
_re_parse, |
|
14 |
) |
|
7 |
from utilities import clean_temporary_pub |
|
8 |
from utilities import create_temporary_pub |
|
9 |
from utilities import get_app |
|
10 | ||
11 |
from wcs.qommon.ezt import ArgCountSyntaxError |
|
12 |
from wcs.qommon.ezt import Template |
|
13 |
from wcs.qommon.ezt import UnclosedBlocksError |
|
14 |
from wcs.qommon.ezt import UnmatchedElseError |
|
15 |
from wcs.qommon.ezt import UnmatchedEndError |
|
16 |
from wcs.qommon.ezt import _re_parse |
|
15 | 17 |
from wcs.scripts import ScriptsSubstitutionProxy |
16 | 18 | |
17 |
from utilities import get_app, create_temporary_pub, clean_temporary_pub |
|
18 | ||
19 | 19 | |
20 | 20 |
def setup_module(module): |
21 | 21 |
cleanup() |
tests/test_fc_auth.py | ||
---|---|---|
2 | 2 |
import json |
3 | 3 |
import urllib.parse |
4 | 4 | |
5 |
from django.utils.encoding import force_bytes, force_text |
|
6 |
from quixote import cleanup, get_session_manager |
|
7 | ||
8 |
from utilities import get_app, create_temporary_pub |
|
9 | 5 |
import mock |
6 |
from django.utils.encoding import force_bytes |
|
7 |
from django.utils.encoding import force_text |
|
8 |
from quixote import cleanup |
|
9 |
from quixote import get_session_manager |
|
10 |
from utilities import create_temporary_pub |
|
11 |
from utilities import get_app |
|
10 | 12 | |
11 | 13 |
PROFILE = { |
12 | 14 |
'fields': [ |
tests/test_fields.py | ||
---|---|---|
3 | 3 |
import re |
4 | 4 |
import shutil |
5 | 5 | |
6 |
from bs4 import BeautifulSoup |
|
7 | 6 |
import pytest |
8 | ||
7 |
from bs4 import BeautifulSoup |
|
9 | 8 |
from quixote import cleanup |
10 | 9 |
from quixote.http_request import Upload |
11 |
from wcs.qommon.http_request import HTTPRequest |
|
12 |
from wcs.qommon import sessions |
|
10 |
from utilities import MockSubstitutionVariables |
|
11 |
from utilities import create_temporary_pub |
|
12 | ||
13 | 13 |
from wcs import fields |
14 |
from wcs.qommon.form import Form, PicklableUpload |
|
15 | 14 |
from wcs.formdef import FormDef |
15 |
from wcs.qommon import sessions |
|
16 |
from wcs.qommon.form import Form |
|
17 |
from wcs.qommon.form import PicklableUpload |
|
18 |
from wcs.qommon.http_request import HTTPRequest |
|
16 | 19 |
from wcs.variables import LazyFormData |
17 | 20 | |
18 |
from utilities import create_temporary_pub, MockSubstitutionVariables |
|
19 | ||
20 | 21 | |
21 | 22 |
def setup_module(module): |
22 | 23 |
cleanup() |
tests/test_formdata.py | ||
---|---|---|
2 | 2 | |
3 | 3 |
import collections |
4 | 4 |
import datetime |
5 |
import pytest |
|
6 | 5 |
import time |
7 | 6 | |
8 | 7 |
import mock |
8 |
import pytest |
|
9 | 9 |
from quixote import get_publisher |
10 | 10 |
from quixote.http_request import Upload |
11 |
from wcs.qommon import force_str |
|
12 |
from wcs.qommon.template import Template |
|
13 |
from wcs.qommon.form import PicklableUpload |
|
14 |
from wcs.qommon.http_request import HTTPRequest |
|
15 |
from wcs import fields, formdef |
|
11 |
from utilities import clean_temporary_pub |
|
12 |
from utilities import create_temporary_pub |
|
13 | ||
14 |
from wcs import fields |
|
15 |
from wcs import formdef |
|
16 |
from wcs import sessions |
|
16 | 17 |
from wcs.blocks import BlockDef |
17 | 18 |
from wcs.carddef import CardDef |
18 | 19 |
from wcs.categories import Category |
19 | 20 |
from wcs.conditions import Condition |
20 |
from wcs.formdef import FormDef |
|
21 | 21 |
from wcs.formdata import Evolution |
22 |
from wcs import sessions |
|
22 |
from wcs.formdef import FormDef |
|
23 |
from wcs.qommon import force_str |
|
24 |
from wcs.qommon.form import PicklableUpload |
|
25 |
from wcs.qommon.http_request import HTTPRequest |
|
26 |
from wcs.qommon.template import Template |
|
23 | 27 |
from wcs.variables import LazyFormData |
24 |
from wcs.workflows import ( |
|
25 |
Workflow, |
|
26 |
WorkflowStatusItem, |
|
27 |
WorkflowCriticalityLevel, |
|
28 |
WorkflowBackofficeFieldsFormDef, |
|
29 |
) |
|
30 |
from wcs.wf.wscall import JournalWsCallErrorPart |
|
31 | ||
32 | 28 |
from wcs.wf.register_comment import JournalEvolutionPart |
33 | ||
34 |
from utilities import create_temporary_pub, clean_temporary_pub |
|
29 |
from wcs.wf.wscall import JournalWsCallErrorPart |
|
30 |
from wcs.workflows import Workflow |
|
31 |
from wcs.workflows import WorkflowBackofficeFieldsFormDef |
|
32 |
from wcs.workflows import WorkflowCriticalityLevel |
|
33 |
from wcs.workflows import WorkflowStatusItem |
|
35 | 34 | |
36 | 35 | |
37 | 36 |
def pytest_generate_tests(metafunc): |
tests/test_formdef.py | ||
---|---|---|
4 | 4 |
import json |
5 | 5 |
import os |
6 | 6 |
import pickle |
7 |
import sys |
|
8 | 7 |
import shutil |
8 |
import sys |
|
9 | 9 |
import time |
10 | 10 | |
11 | 11 |
import pytest |
12 | ||
13 | 12 |
from django.utils.encoding import force_bytes |
14 | 13 |
from quixote import cleanup |
14 |
from utilities import clean_temporary_pub |
|
15 |
from utilities import create_temporary_pub |
|
16 | ||
15 | 17 |
from wcs import fields |
16 | 18 |
from wcs.blocks import BlockDef |
17 |
from wcs.formdef import FormDef, get_formdefs_of_all_kinds |
|
18 |
from wcs.qommon.http_request import HTTPRequest |
|
19 |
from wcs.fields import DateField |
|
20 |
from wcs.fields import FileField |
|
21 |
from wcs.fields import ItemField |
|
22 |
from wcs.fields import PageField |
|
23 |
from wcs.fields import StringField |
|
24 |
from wcs.formdef import FormDef |
|
25 |
from wcs.formdef import get_formdefs_of_all_kinds |
|
19 | 26 |
from wcs.qommon.form import PicklableUpload |
20 |
from wcs.workflows import Workflow, AttachmentEvolutionPart, WorkflowBackofficeFieldsFormDef |
|
21 |
from wcs.wf.form import FormWorkflowStatusItem, WorkflowFormFieldsFormDef |
|
22 |
from wcs.fields import StringField, FileField, DateField, ItemField, PageField |
|
23 | ||
24 |
from utilities import create_temporary_pub, clean_temporary_pub |
|
27 |
from wcs.qommon.http_request import HTTPRequest |
|
28 |
from wcs.wf.form import FormWorkflowStatusItem |
|
29 |
from wcs.wf.form import WorkflowFormFieldsFormDef |
|
30 |
from wcs.workflows import AttachmentEvolutionPart |
|
31 |
from wcs.workflows import Workflow |
|
32 |
from wcs.workflows import WorkflowBackofficeFieldsFormDef |
|
25 | 33 | |
26 | 34 | |
27 | 35 |
def pytest_generate_tests(metafunc): |
... | ... | |
496 | 504 |
def test_get_formdefs_of_all_kinds(pub): |
497 | 505 |
from wcs.admin.settings import UserFieldsFormDef |
498 | 506 |
from wcs.carddef import CardDef |
499 |
from wcs.wf.form import FormWorkflowStatusItem, WorkflowFormFieldsFormDef |
|
500 |
from wcs.workflows import WorkflowBackofficeFieldsFormDef, WorkflowVariablesFieldsFormDef |
|
507 |
from wcs.wf.form import FormWorkflowStatusItem |
|
508 |
from wcs.wf.form import WorkflowFormFieldsFormDef |
|
509 |
from wcs.workflows import WorkflowBackofficeFieldsFormDef |
|
510 |
from wcs.workflows import WorkflowVariablesFieldsFormDef |
|
501 | 511 | |
502 | 512 |
BlockDef.wipe() |
503 | 513 |
FormDef.wipe() |
tests/test_formdef_import.py | ||
---|---|---|
1 | 1 |
# -*- coding: utf-8 -*- |
2 | 2 | |
3 | 3 |
import io |
4 |
import pytest |
|
5 | 4 |
import shutil |
6 | 5 |
import time |
7 | 6 |
import xml.etree.ElementTree as ET |
8 | 7 | |
8 |
import pytest |
|
9 | 9 |
from quixote import cleanup |
10 |
from utilities import create_temporary_pub |
|
10 | 11 | |
11 |
from wcs.categories import Category |
|
12 | 12 |
from wcs.carddef import CardDef |
13 |
from wcs.formdef import FormDef, fields, FormdefImportError |
|
14 |
from wcs.workflows import Workflow |
|
13 |
from wcs.categories import Category |
|
14 |
from wcs.formdef import FormDef |
|
15 |
from wcs.formdef import FormdefImportError |
|
16 |
from wcs.formdef import fields |
|
15 | 17 |
from wcs.qommon.misc import indent_xml as indent |
16 | ||
17 |
from utilities import create_temporary_pub |
|
18 |
from wcs.workflows import Workflow |
|
18 | 19 | |
19 | 20 | |
20 | 21 |
def setup_module(module): |
... | ... | |
211 | 212 | |
212 | 213 |
def test_workflow_options_with_file(): |
213 | 214 |
from quixote.http_request import Upload |
215 | ||
214 | 216 |
from wcs.qommon.form import UploadedFile |
215 | 217 | |
216 | 218 |
upload = Upload('/foo/bar', content_type='application/vnd.oasis.opendocument.text') |
tests/test_hobo.py | ||
---|---|---|
4 | 4 |
import json |
5 | 5 |
import os |
6 | 6 |
import pickle |
7 |
import pytest |
|
8 | 7 |
import shutil |
9 | 8 |
import sys |
10 | 9 |
import tempfile |
11 | 10 |
import urllib.parse |
12 | 11 | |
13 | 12 |
import mock |
14 | ||
15 |
from utilities import create_temporary_pub, clean_temporary_pub |
|
16 | ||
13 |
import pytest |
|
17 | 14 |
from quixote import cleanup |
15 |
from utilities import clean_temporary_pub |
|
16 |
from utilities import create_temporary_pub |
|
18 | 17 | |
19 |
from wcs.qommon import force_str |
|
20 |
from wcs.ctl.check_hobos import CmdCheckHobos |
|
21 |
from wcs.publisher import WcsPublisher |
|
22 | 18 |
from wcs import fields |
23 | 19 |
from wcs import sql |
20 |
from wcs.ctl.check_hobos import CmdCheckHobos |
|
21 |
from wcs.publisher import WcsPublisher |
|
22 |
from wcs.qommon import force_str |
|
24 | 23 | |
25 | 24 |
HOBO_JSON = { |
26 | 25 |
'services': [ |
tests/test_hobo_notify.py | ||
---|---|---|
1 | 1 |
# -*- coding: utf-8 -*- |
2 | 2 |
import uuid |
3 | 3 | |
4 |
from wcs.qommon import force_str |
|
5 |
from wcs.qommon.http_request import HTTPRequest |
|
6 |
from wcs.ctl.hobo_notify import CmdHoboNotify |
|
7 |
from wcs.qommon import storage as st |
|
8 | ||
4 |
import pytest |
|
9 | 5 |
from utilities import create_temporary_pub |
10 | 6 | |
11 |
import pytest |
|
7 |
from wcs.ctl.hobo_notify import CmdHoboNotify |
|
8 |
from wcs.qommon import force_str |
|
9 |
from wcs.qommon import storage as st |
|
10 |
from wcs.qommon.http_request import HTTPRequest |
|
12 | 11 | |
13 | 12 | |
14 | 13 |
def pytest_generate_tests(metafunc): |
tests/test_mail_templates.py | ||
---|---|---|
3 | 3 |
import base64 |
4 | 4 |
import io |
5 | 5 |
import os |
6 |
import pytest |
|
7 |
from webtest import Upload |
|
8 | 6 |
import xml.etree.ElementTree as ET |
9 | 7 | |
8 |
import pytest |
|
10 | 9 |
from django.utils.encoding import force_bytes |
11 | 10 |
from quixote import cleanup |
12 |
from wcs.formdef import FormDef |
|
11 |
from utilities import clean_temporary_pub |
|
12 |
from utilities import create_temporary_pub |
|
13 |
from utilities import get_app |
|
14 |
from utilities import login |
|
15 |
from webtest import Upload |
|
16 | ||
13 | 17 |
from wcs.fields import FileField |
18 |
from wcs.formdef import FormDef |
|
14 | 19 |
from wcs.mail_templates import MailTemplate |
15 |
from wcs.workflows import Workflow, SendmailWorkflowStatusItem |
|
16 |
from wcs.qommon.http_request import HTTPRequest |
|
17 | 20 |
from wcs.qommon.form import PicklableUpload |
21 |
from wcs.qommon.http_request import HTTPRequest |
|
18 | 22 |
from wcs.qommon.ident.password_accounts import PasswordAccount |
19 | ||
20 |
from utilities import get_app, login, create_temporary_pub, clean_temporary_pub
|
|
23 |
from wcs.workflows import SendmailWorkflowStatusItem |
|
24 |
from wcs.workflows import Workflow
|
|
21 | 25 | |
22 | 26 | |
23 | 27 |
def setup_module(module): |
tests/test_misc.py | ||
---|---|---|
1 | 1 |
# -*- coding: utf-8 -*- |
2 | 2 | |
3 |
import base64 |
|
4 |
import datetime |
|
3 | 5 |
import json |
4 |
import mock |
|
5 |
import pytest |
|
6 | 6 |
import os |
7 | 7 |
import pickle |
8 | 8 |
import pwd |
9 |
import socket |
|
10 | 9 |
import re |
10 |
import socket |
|
11 | 11 |
import time |
12 |
import datetime |
|
13 |
import base64 |
|
14 | 12 | |
13 |
import mock |
|
14 |
import pytest |
|
15 |
from django.core.cache import cache |
|
15 | 16 |
from django.utils import translation |
16 | ||
17 | 17 |
from quixote import cleanup |
18 |
from utilities import clean_temporary_pub |
|
19 |
from utilities import create_temporary_pub |
|
20 |
from utilities import get_app |
|
18 | 21 | |
19 | 22 |
import wcs.api # workaround against circular dependencies :/ |
20 |
from wcs.qommon.form import FileSizeWidget, PicklableUpload |
|
21 |
from wcs.qommon.humantime import humanduration2seconds, seconds2humanduration |
|
22 |
from wcs.qommon.misc import ( |
|
23 |
simplify, |
|
24 |
json_loads, |
|
25 |
parse_isotime, |
|
26 |
format_time, |
|
27 |
date_format, |
|
28 |
get_as_datetime, |
|
29 |
normalize_geolocation, |
|
30 |
ellipsize, |
|
31 |
) |
|
23 |
import wcs.qommon.storage |
|
32 | 24 |
from wcs.admin.settings import FileTypesDirectory |
33 |
from wcs.scripts import Script |
|
34 |
from wcs.qommon import force_str, evalutils |
|
35 |
from wcs.qommon.http_request import HTTPRequest |
|
36 |
from wcs.qommon.backoffice.listing import pagination_links |
|
37 |
from wcs.qommon.emails import email as send_email, docutils |
|
38 | 25 |
from wcs.fields import StringField |
39 |
from wcs.workflows import Workflow |
|
26 |
from wcs.qommon import evalutils |
|
27 |
from wcs.qommon import force_str |
|
28 |
from wcs.qommon.backoffice.listing import pagination_links |
|
29 |
from wcs.qommon.emails import docutils |
|
30 |
from wcs.qommon.emails import email as send_email |
|
31 |
from wcs.qommon.form import FileSizeWidget |
|
32 |
from wcs.qommon.form import PicklableUpload |
|
33 |
from wcs.qommon.http_request import HTTPRequest |
|
34 |
from wcs.qommon.humantime import humanduration2seconds |
|
35 |
from wcs.qommon.humantime import seconds2humanduration |
|
36 |
from wcs.qommon.misc import date_format |
|
37 |
from wcs.qommon.misc import ellipsize |
|
38 |
from wcs.qommon.misc import format_time |
|
39 |
from wcs.qommon.misc import get_as_datetime |
|
40 |
from wcs.qommon.misc import json_loads |
|
41 |
from wcs.qommon.misc import normalize_geolocation |
|
42 |
from wcs.qommon.misc import parse_isotime |
|
43 |
from wcs.qommon.misc import simplify |
|
44 |
from wcs.scripts import Script |
|
40 | 45 |
from wcs.wf.jump import JumpWorkflowStatusItem |
41 |
import wcs.qommon.storage |
|
42 | ||
43 |
from django.core.cache import cache |
|
44 | ||
45 | ||
46 |
from utilities import get_app, create_temporary_pub, clean_temporary_pub |
|
46 |
from wcs.workflows import Workflow |
|
47 | 47 | |
48 | 48 | |
49 | 49 |
def setup_module(module): |
tests/test_prefill.py | ||
---|---|---|
2 | 2 |
import shutil |
3 | 3 | |
4 | 4 |
import pytest |
5 |
from quixote import cleanup |
|
6 |
from quixote import get_request |
|
7 |
from utilities import create_temporary_pub |
|
5 | 8 | |
6 |
from quixote import cleanup, get_request |
|
7 |
from wcs.qommon.http_request import HTTPRequest |
|
8 | 9 |
from wcs import fields |
9 | 10 |
from wcs.carddef import CardDef |
10 | ||
11 |
from utilities import create_temporary_pub |
|
11 |
from wcs.qommon.http_request import HTTPRequest |
|
12 | 12 | |
13 | 13 | |
14 | 14 |
def setup_module(module): |
tests/test_publisher.py | ||
---|---|---|
1 | 1 |
import io |
2 | 2 |
import json |
3 |
import os |
|
4 |
import pickle |
|
3 | 5 |
import re |
6 |
import shutil |
|
4 | 7 |
import stat |
5 | 8 |
import sys |
6 |
import time |
|
7 |
import pickle |
|
8 |
import shutil |
|
9 | 9 |
import tempfile |
10 |
import os
|
|
10 |
import time
|
|
11 | 11 |
import zipfile |
12 | 12 | |
13 | 13 |
import mock |
14 | 14 |
import pytest |
15 | ||
16 | 15 |
from django.conf import settings |
17 | 16 |
from django.core.management import call_command |
18 | 17 |
from django.core.management.base import CommandError |
... | ... | |
20 | 19 |
from django.test import override_settings |
21 | 20 |
from django.utils.encoding import force_text |
22 | 21 |
from quixote import cleanup |
22 |
from utilities import create_temporary_pub |
|
23 | ||
23 | 24 |
from wcs.qommon import get_publisher_class |
24 | 25 |
from wcs.qommon.afterjobs import AfterJob |
25 |
from wcs.qommon.http_request import HTTPRequest |
|
26 | 26 |
from wcs.qommon.cron import CronJob |
27 | ||
28 |
from utilities import create_temporary_pub |
|
27 |
from wcs.qommon.http_request import HTTPRequest |
|
29 | 28 | |
30 | 29 | |
31 | 30 |
def setup_module(module): |
tests/test_register.py | ||
---|---|---|
1 | 1 |
# -*- coding: utf-8 -*- |
2 | 2 | |
3 |
import pytest |
|
4 | 3 |
import hashlib |
5 | 4 |
import re |
6 | 5 |
import shutil |
6 | ||
7 |
import pytest |
|
7 | 8 |
from quixote import cleanup |
9 |
from utilities import clean_temporary_pub |
|
10 |
from utilities import create_temporary_pub |
|
11 |
from utilities import get_app |
|
8 | 12 | |
9 | 13 |
from wcs.qommon import force_str |
10 | 14 |
from wcs.qommon.http_request import HTTPRequest |
11 | 15 |
from wcs.qommon.ident.password_accounts import PasswordAccount |
12 | 16 | |
13 |
from utilities import get_app, create_temporary_pub, clean_temporary_pub |
|
14 | ||
15 | 17 | |
16 | 18 |
def pytest_generate_tests(metafunc): |
17 | 19 |
if 'pub' in metafunc.fixturenames: |
tests/test_role.py | ||
---|---|---|
2 | 2 | |
3 | 3 |
import pickle |
4 | 4 | |
5 |
from utilities import create_temporary_pub, clean_temporary_pub |
|
5 |
from quixote import get_publisher |
|
6 |
from utilities import clean_temporary_pub |
|
7 |
from utilities import create_temporary_pub |
|
6 | 8 | |
7 | 9 |
from wcs.roles import get_user_roles |
8 | 10 | |
9 |
from quixote import get_publisher |
|
10 | ||
11 | 11 | |
12 | 12 |
def setup_module(module): |
13 | 13 |
pub = create_temporary_pub() |
tests/test_rootdirectory.py | ||
---|---|---|
1 | 1 |
import os |
2 |
import sys |
|
3 | 2 |
import shutil |
3 |
import sys |
|
4 | 4 | |
5 | 5 |
import pytest |
6 | ||
7 | 6 |
from quixote import cleanup |
8 |
from wcs.qommon import sessions |
|
7 |
from utilities import create_temporary_pub |
|
8 |
from utilities import get_app |
|
9 | ||
10 |
import wcs.forms.root |
|
9 | 11 |
from wcs import formdef |
10 |
from wcs.qommon.http_request import HTTPRequest |
|
11 |
from wcs.formdef import FormDef |
|
12 | 12 |
from wcs.categories import Category |
13 |
import wcs.forms.root |
|
14 | ||
15 |
from utilities import get_app, create_temporary_pub
|
|
13 |
from wcs.formdef import FormDef |
|
14 |
from wcs.qommon import sessions |
|
15 |
from wcs.qommon.http_request import HTTPRequest
|
|
16 | 16 | |
17 | 17 | |
18 | 18 |
def setup_module(module): |
tests/test_saml2utils.py | ||
---|---|---|
1 | 1 |
import shutil |
2 | 2 | |
3 | 3 |
from quixote import cleanup |
4 |
from utilities import create_temporary_pub |
|
4 | 5 | |
5 | 6 |
from wcs.qommon import x509utils |
6 | 7 |
from wcs.qommon.saml2utils import Metadata |
7 | 8 | |
8 |
from utilities import create_temporary_pub |
|
9 | ||
10 | 9 | |
11 | 10 |
def setup_module(module): |
12 | 11 |
cleanup() |
tests/test_saml_auth.py | ||
---|---|---|
1 | 1 |
import datetime |
2 | 2 |
import os |
3 | 3 |
import shutil |
4 |
import uuid |
|
5 | 4 |
import urllib.parse |
5 |
import uuid |
|
6 | 6 | |
7 | 7 |
try: |
8 | 8 |
import lasso |
... | ... | |
10 | 10 |
lasso = None |
11 | 11 | |
12 | 12 |
import pytest |
13 | ||
14 | 13 |
from quixote import cleanup |
15 |
from quixote import get_session, get_session_manager |
|
14 |
from quixote import get_session |
|
15 |
from quixote import get_session_manager |
|
16 |
from test_hobo_notify import PROFILE |
|
17 |
from utilities import clean_temporary_pub |
|
18 |
from utilities import create_temporary_pub |
|
19 |
from utilities import get_app |
|
20 | ||
21 |
from wcs.qommon import sessions |
|
22 |
from wcs.qommon import x509utils |
|
23 |
from wcs.qommon.errors import RequestError |
|
16 | 24 |
from wcs.qommon.http_request import HTTPRequest |
25 |
from wcs.qommon.ident.idp import AdminIDPDir |
|
26 |
from wcs.qommon.ident.idp import MethodAdminDirectory |
|
17 | 27 |
from wcs.qommon.misc import get_lasso_server |
18 | 28 |
from wcs.qommon.saml2 import Saml2Directory |
19 |
from wcs.qommon.ident.idp import MethodAdminDirectory, AdminIDPDir |
|
20 |
from wcs.qommon import sessions, x509utils |
|
21 |
from wcs.qommon.errors import RequestError |
|
22 | ||
23 |
from utilities import get_app, create_temporary_pub, clean_temporary_pub |
|
24 | ||
25 |
from test_hobo_notify import PROFILE |
|
26 | 29 | |
27 | 30 |
pytestmark = pytest.mark.skipif('lasso is None') |
28 | 31 |
tests/test_sessions.py | ||
---|---|---|
2 | 2 |
import os |
3 | 3 |
import shutil |
4 | 4 |
import time |
5 |
import pytest |
|
6 | 5 | |
6 |
import pytest |
|
7 | 7 |
from quixote import cleanup |
8 |
from utilities import clean_temporary_pub |
|
9 |
from utilities import create_temporary_pub |
|
10 |
from utilities import get_app |
|
11 |
from utilities import login |
|
8 | 12 | |
9 |
from wcs.qommon.ident.password_accounts import PasswordAccount |
|
10 |
from wcs.qommon.http_request import HTTPRequest |
|
11 |
from wcs.formdef import FormDef |
|
12 | 13 |
from wcs import fields |
13 | ||
14 |
from utilities import create_temporary_pub, clean_temporary_pub, get_app, login |
|
14 |
from wcs.formdef import FormDef |
|
15 |
from wcs.qommon.http_request import HTTPRequest |
|
16 |
from wcs.qommon.ident.password_accounts import PasswordAccount |
|
15 | 17 | |
16 | 18 | |
17 | 19 |
def setup_module(): |
tests/test_snapshots.py | ||
---|---|---|
4 | 4 |
import xml.etree.ElementTree as ET |
5 | 5 | |
6 | 6 |
import pytest |
7 | ||
7 |
from admin_pages.test_all import create_role |
|
8 |
from admin_pages.test_all import create_superuser |
|
8 | 9 |
from quixote.http_request import Upload |
10 |
from utilities import clean_temporary_pub |
|
11 |
from utilities import create_temporary_pub |
|
12 |
from utilities import get_app |
|
13 |
from utilities import login |
|
9 | 14 | |
10 | 15 |
from wcs.blocks import BlockDef |
11 | 16 |
from wcs.carddef import CardDef |
... | ... | |
14 | 19 |
from wcs.formdef import FormDef |
15 | 20 |
from wcs.qommon.form import UploadedFile |
16 | 21 |
from wcs.qommon.misc import localstrftime |
17 |
from wcs.wf.form import FormWorkflowStatusItem, WorkflowFormFieldsFormDef
|
|
18 |
from wcs.workflows import Workflow
|
|
22 |
from wcs.wf.form import FormWorkflowStatusItem |
|
23 |
from wcs.wf.form import WorkflowFormFieldsFormDef
|
|
19 | 24 |
from wcs.workflows import ExportToModel |
25 |
from wcs.workflows import Workflow |
|
20 | 26 |
from wcs.wscalls import NamedWsCall |
21 | 27 | |
22 |
from utilities import get_app, login, create_temporary_pub, clean_temporary_pub |
|
23 |
from admin_pages.test_all import create_superuser, create_role |
|
24 | ||
25 | 28 | |
26 | 29 |
@pytest.fixture |
27 | 30 |
def pub(request, emails): |
tests/test_sql.py | ||
---|---|---|
10 | 10 |
import sys |
11 | 11 |
import time |
12 | 12 | |
13 |
import pytest |
|
13 | 14 |
from django.core.management import call_command |
14 | ||
15 | 15 |
from quixote import cleanup |
16 |
from utilities import clean_temporary_pub |
|
17 |
from utilities import create_temporary_pub |
|
16 | 18 | |
17 |
from wcs.qommon import force_str |
|
18 |
from wcs import publisher, fields |
|
19 |
from wcs.formdef import FormDef |
|
19 |
import wcs.qommon.storage as st |
|
20 |
from wcs import fields |
|
21 |
from wcs import publisher |
|
22 |
from wcs import sql |
|
20 | 23 |
from wcs.formdata import Evolution |
21 |
from wcs.workflows import Workflow, CommentableWorkflowStatusItem, WorkflowCriticalityLevel |
|
24 |
from wcs.formdef import FormDef |
|
25 |
from wcs.qommon import force_str |
|
22 | 26 |
from wcs.wf.jump import JumpWorkflowStatusItem |
23 | 27 |
from wcs.wf.register_comment import RegisterCommenterWorkflowStatusItem |
24 |
from wcs import sql |
|
25 |
import wcs.qommon.storage as st |
|
26 | ||
27 |
from utilities import create_temporary_pub, clean_temporary_pub |
|
28 | ||
29 |
import pytest |
|
28 |
from wcs.workflows import CommentableWorkflowStatusItem |
|
29 |
from wcs.workflows import Workflow |
|
30 |
from wcs.workflows import WorkflowCriticalityLevel |
|
30 | 31 | |
31 | 32 |
postgresql = pytest.mark.postgresql |
32 | 33 |
tests/test_storage.py | ||
---|---|---|
1 | 1 |
import datetime |
2 | 2 |
import os |
3 |
import random |
|
3 | 4 |
import shutil |
4 | 5 |
import time |
5 |
import random |
|
6 | 6 | |
7 | 7 |
import pytest |
8 | ||
9 | 8 |
from quixote import cleanup |
9 |
from utilities import create_temporary_pub |
|
10 | ||
11 |
import wcs.qommon.storage as st |
|
10 | 12 |
from wcs.carddef import CardDef |
11 | 13 |
from wcs.formdef import FormDef |
12 |
from wcs.qommon.storage import StorableObject, cache_umask |
|
13 |
import wcs.qommon.storage as st |
|
14 | ||
15 |
from utilities import create_temporary_pub |
|
14 |
from wcs.qommon.storage import StorableObject |
|
15 |
from wcs.qommon.storage import cache_umask |
|
16 | 16 | |
17 | 17 | |
18 | 18 |
def setup_module(module): |
tests/test_templates.py | ||
---|---|---|
2 | 2 | |
3 | 3 |
import datetime |
4 | 4 |
import os |
5 |
import pytest |
|
6 | 5 |
import string |
7 | 6 | |
7 |
import pytest |
|
8 | ||
8 | 9 |
try: |
9 | 10 |
import langdetect |
10 | 11 |
except ImportError: |
... | ... | |
12 | 13 | |
13 | 14 |
from django.test import override_settings |
14 | 15 |
from django.utils.timezone import now |
16 |
from utilities import clean_temporary_pub |
|
17 |
from utilities import create_temporary_pub |
|
15 | 18 | |
19 |
from wcs import fields |
|
20 |
from wcs.formdef import FormDef |
|
16 | 21 |
from wcs.qommon.http_request import HTTPRequest |
17 | 22 |
from wcs.qommon.substitution import CompatibilityNamesDict |
18 |
from wcs.qommon.template import Template, TemplateError |
|
23 |
from wcs.qommon.template import Template |
|
24 |
from wcs.qommon.template import TemplateError |
|
19 | 25 |
from wcs.variables import LazyFormData |
20 |
from wcs.formdef import FormDef |
|
21 |
from wcs import fields |
|
22 | ||
23 |
from utilities import create_temporary_pub, clean_temporary_pub |
|
24 | 26 | |
25 | 27 | |
26 | 28 |
@pytest.fixture |
tests/test_texts.py | ||
---|---|---|
1 |
import sys |
|
2 | 1 |
import shutil |
2 |
import sys |
|
3 | 3 | |
4 | 4 |
from quixote import cleanup |
5 |
from wcs.qommon.http_request import HTTPRequest
|
|
6 |
from wcs.qommon.admin.texts import TextsDirectory
|
|
5 |
from utilities import MockSubstitutionVariables
|
|
6 |
from utilities import create_temporary_pub
|
|
7 | 7 | |
8 |
from utilities import create_temporary_pub, MockSubstitutionVariables |
|
8 |
from wcs.qommon.admin.texts import TextsDirectory |
|
9 |
from wcs.qommon.http_request import HTTPRequest |
|
9 | 10 | |
10 | 11 | |
11 | 12 |
def setup_module(module): |
tests/test_tracking_code.py | ||
---|---|---|
1 | 1 |
import pytest |
2 |
from utilities import clean_temporary_pub |
|
3 |
from utilities import create_temporary_pub |
|
2 | 4 | |
3 | 5 |
from wcs.formdef import FormDef |
4 | 6 | |
5 |
from utilities import create_temporary_pub, clean_temporary_pub |
|
6 | ||
7 | 7 | |
8 | 8 |
def pytest_generate_tests(metafunc): |
9 | 9 |
if 'pub' in metafunc.fixturenames: |
tests/test_upload_storage.py | ||
---|---|---|
1 | 1 |
# -*- coding: utf-8 -*- |
2 | 2 | |
3 |
import os |
|
4 | 3 |
import json |
4 |
import os |
|
5 | ||
5 | 6 |
import mock |
6 | 7 |
import pytest |
7 | ||
8 |
from utilities import clean_temporary_pub |
|
9 |
from utilities import create_temporary_pub |
|
10 |
from utilities import get_app |
|
11 |
from utilities import login |
|
8 | 12 |
from webtest import Upload |
9 | 13 | |
10 |
from wcs.qommon.ident.password_accounts import PasswordAccount |
|
11 |
from wcs.formdef import FormDef |
|
12 |
from wcs.categories import Category |
|
13 | 14 |
from wcs import fields |
15 |
from wcs.categories import Category |
|
16 |
from wcs.formdef import FormDef |
|
17 |
from wcs.qommon.ident.password_accounts import PasswordAccount |
|
14 | 18 |
from wcs.wf.register_comment import RegisterCommenterWorkflowStatusItem |
15 | 19 | |
16 |
from utilities import get_app, login, create_temporary_pub, clean_temporary_pub |
|
17 | ||
18 | 20 | |
19 | 21 |
def pytest_generate_tests(metafunc): |
20 | 22 |
if 'pub' in metafunc.fixturenames: |
tests/test_users.py | ||
---|---|---|
6 | 6 |
import time |
7 | 7 | |
8 | 8 |
import pytest |
9 | ||
10 | 9 |
from quixote import cleanup |
10 |
from utilities import create_temporary_pub |
|
11 | 11 | |
12 |
from wcs import publisher |
|
13 | 12 |
from wcs import fields |
13 |
from wcs import publisher |
|
14 | 14 |
from wcs.variables import LazyUser |
15 | 15 | |
16 |
from utilities import create_temporary_pub |
|
17 | ||
18 | 16 | |
19 | 17 |
def setup_module(module): |
20 | 18 |
cleanup() |
tests/test_variadic_url.py | ||
---|---|---|
1 | 1 |
import pytest |
2 |
from utilities import clean_temporary_pub |
|
3 |
from utilities import create_temporary_pub |
|
2 | 4 | |
3 |
from wcs.qommon.misc import get_variadic_url |
|
4 | 5 |
from wcs.qommon.ezt import EZTException |
5 | ||
6 |
from utilities import create_temporary_pub, clean_temporary_pub |
|
6 |
from wcs.qommon.misc import get_variadic_url |
|
7 | 7 | |
8 | 8 | |
9 | 9 |
@pytest.fixture |
tests/test_widgets.py | ||
---|---|---|
1 | 1 |
# -*- coding: utf-8 -*- |
2 | 2 | |
3 |
import copy |
|
3 | 4 |
import datetime |
4 | 5 |
import shutil |
5 |
import copy |
|
6 | 6 | |
7 |
from quixote import cleanup, get_response |
|
8 |
from quixote.http_request import parse_query |
|
9 | 7 |
import mechanize |
10 | ||
11 | 8 |
import pytest |
9 |
from quixote import cleanup |
|
10 |
from quixote import get_response |
|
11 |
from quixote.http_request import parse_query |
|
12 |
from utilities import create_temporary_pub |
|
12 | 13 | |
13 | 14 |
from wcs.qommon import sessions |
14 | 15 |
from wcs.qommon.form import * |
15 | 16 |
from wcs.qommon.http_request import HTTPRequest |
16 | 17 |
from wcs.wf.profile import ProfileUpdateRowWidget |
17 | 18 | |
18 |
from utilities import create_temporary_pub |
|
19 | ||
20 | 19 | |
21 | 20 |
def setup_module(module): |
22 | 21 |
cleanup() |
tests/test_workflow_import.py | ||
---|---|---|
1 | 1 |
# -*- coding: utf-8 -*- |
2 | 2 | |
3 | 3 |
import io |
4 |
import pytest |
|
5 | 4 |
import xml.etree.ElementTree as ET |
6 | 5 | |
6 |
import pytest |
|
7 | 7 |
from quixote.http_request import Upload |
8 |
from utilities import clean_temporary_pub |
|
9 |
from utilities import create_temporary_pub |
|
8 | 10 | |
9 | 11 |
from wcs.carddef import CardDef |
12 |
from wcs.fields import FileField |
|
13 |
from wcs.fields import StringField |
|
10 | 14 |
from wcs.formdef import FormDef |
11 | 15 |
from wcs.mail_templates import MailTemplate |
12 |
from wcs.workflows import ( |
|
13 |
Workflow, |
|
14 |
CommentableWorkflowStatusItem, |
|
15 |
WorkflowCriticalityLevel, |
|
16 |
WorkflowBackofficeFieldsFormDef, |
|
17 |
SendmailWorkflowStatusItem, |
|
18 |
SendSMSWorkflowStatusItem, |
|
19 |
WorkflowImportError, |
|
20 |
ChoiceWorkflowStatusItem, |
|
21 |
JumpOnSubmitWorkflowStatusItem, |
|
22 |
) |
|
16 |
from wcs.qommon.form import UploadedFile |
|
17 |
from wcs.qommon.misc import indent_xml as indent |
|
23 | 18 |
from wcs.wf.attachment import AddAttachmentWorkflowStatusItem |
24 |
from wcs.wf.wscall import WebserviceCallStatusItem |
|
25 |
from wcs.wf.dispatch import DispatchWorkflowStatusItem |
|
26 |
from wcs.wf.register_comment import RegisterCommenterWorkflowStatusItem |
|
27 |
from wcs.wf.profile import UpdateUserProfileStatusItem |
|
28 | 19 |
from wcs.wf.backoffice_fields import SetBackofficeFieldsWorkflowStatusItem |
29 |
from wcs.wf.redirect_to_url import RedirectToUrlWorkflowStatusItem |
|
30 |
from wcs.wf.create_formdata import CreateFormdataWorkflowStatusItem, Mapping |
|
20 |
from wcs.wf.create_formdata import CreateFormdataWorkflowStatusItem |
|
21 |
from wcs.wf.create_formdata import Mapping |
|
22 |
from wcs.wf.dispatch import DispatchWorkflowStatusItem |
|
31 | 23 |
from wcs.wf.external_workflow import ExternalWorkflowGlobalAction |
32 |
from wcs.wf.form import FormWorkflowStatusItem, WorkflowFormFieldsFormDef |
|
24 |
from wcs.wf.form import FormWorkflowStatusItem |
|
25 |
from wcs.wf.form import WorkflowFormFieldsFormDef |
|
33 | 26 |
from wcs.wf.jump import JumpWorkflowStatusItem |
34 |
from wcs.fields import StringField, FileField |
|
35 |
from wcs.qommon.form import UploadedFile |
|
36 |
from wcs.workflows import ExportToModel, WorkflowVariablesFieldsFormDef, DisplayMessageWorkflowStatusItem |
|
37 | ||
38 | ||
39 |
from wcs.qommon.misc import indent_xml as indent |
|
40 | ||
41 |
from utilities import create_temporary_pub, clean_temporary_pub |
|
27 |
from wcs.wf.profile import UpdateUserProfileStatusItem |
|
28 |
from wcs.wf.redirect_to_url import RedirectToUrlWorkflowStatusItem |
|
29 |
from wcs.wf.register_comment import RegisterCommenterWorkflowStatusItem |
|
30 |
from wcs.wf.wscall import WebserviceCallStatusItem |
|
31 |
from wcs.workflows import ChoiceWorkflowStatusItem |
|
32 |
from wcs.workflows import CommentableWorkflowStatusItem |
|
33 |
from wcs.workflows import DisplayMessageWorkflowStatusItem |
|
34 |
from wcs.workflows import ExportToModel |
|
35 |
from wcs.workflows import JumpOnSubmitWorkflowStatusItem |
|
36 |
from wcs.workflows import SendmailWorkflowStatusItem |
|
37 |
from wcs.workflows import SendSMSWorkflowStatusItem |
|
38 |
from wcs.workflows import Workflow |
|
39 |
from wcs.workflows import WorkflowBackofficeFieldsFormDef |
|
40 |
from wcs.workflows import WorkflowCriticalityLevel |
|
41 |
from wcs.workflows import WorkflowImportError |
|
42 |
from wcs.workflows import WorkflowVariablesFieldsFormDef |
|
42 | 43 | |
43 | 44 | |
44 | 45 |
@pytest.fixture |
tests/test_workflows.py | ||
---|---|---|
1 | 1 |
import base64 |
2 |
import datetime |
|
2 | 3 |
import io |
3 | 4 |
import json |
4 |
import datetime |
|
5 | 5 |
import os |
6 |
import pytest |
|
7 | 6 |
import shutil |
8 | 7 |
import time |
9 | 8 |
import urllib.parse |
10 | 9 |
import zipfile |
11 | 10 | |
12 | 11 |
import mock |
12 |
import pytest |
|
13 | 13 | |
14 | 14 |
try: |
15 | 15 |
from PIL import Image |
16 | 16 |
except ImportError: |
17 | 17 |
Image = None |
18 | 18 | |
19 |
from django.utils.encoding import force_bytes, force_text
|
|
20 | ||
21 |
from quixote import cleanup, get_response
|
|
22 |
from wcs.qommon.errors import ConnectionError
|
|
19 |
from django.utils.encoding import force_bytes |
|
20 |
from django.utils.encoding import force_text |
|
21 |
from quixote import cleanup |
|
22 |
from quixote import get_response
|
|
23 | 23 |
from quixote.http_request import Upload as QuixoteUpload |
24 |
from wcs.qommon.http_request import HTTPRequest
|
|
25 |
from wcs.qommon.form import PicklableUpload
|
|
26 |
from wcs.qommon.form import *
|
|
24 |
from utilities import MockSubstitutionVariables
|
|
25 |
from utilities import clean_temporary_pub
|
|
26 |
from utilities import create_temporary_pub
|
|
27 | 27 | |
28 |
from wcs import sessions |
|
28 | 29 |
from wcs.blocks import BlockDef |
29 |
from wcs.formdef import FormDef |
|
30 | 30 |
from wcs.carddef import CardDef |
31 |
from wcs import sessions |
|
32 |
from wcs.fields import ( |
|
33 |
StringField, |
|
34 |
DateField, |
|
35 |
MapField, |
|
36 |
FileField, |
|
37 |
ItemField, |
|
38 |
ItemsField, |
|
39 |
CommentField, |
|
40 |
EmailField, |
|
41 |
PageField, |
|
42 |
TitleField, |
|
43 |
SubtitleField, |
|
44 |
TextField, |
|
45 |
BoolField, |
|
46 |
TableField, |
|
47 |
BlockField, |
|
48 |
) |
|
31 |
from wcs.fields import BlockField |
|
32 |
from wcs.fields import BoolField |
|
33 |
from wcs.fields import CommentField |
|
34 |
from wcs.fields import DateField |
|
35 |
from wcs.fields import EmailField |
|
36 |
from wcs.fields import FileField |
|
37 |
from wcs.fields import ItemField |
|
38 |
from wcs.fields import ItemsField |
|
39 |
from wcs.fields import MapField |
|
40 |
from wcs.fields import PageField |
|
41 |
from wcs.fields import StringField |
|
42 |
from wcs.fields import SubtitleField |
|
43 |
from wcs.fields import TableField |
|
44 |
from wcs.fields import TextField |
|
45 |
from wcs.fields import TitleField |
|
49 | 46 |
from wcs.formdata import Evolution |
50 |
from wcs.workflows import ( |
|
51 |
Workflow, |
|
52 |
WorkflowStatusItem, |
|
53 |
SendmailWorkflowStatusItem, |
|
54 |
SendSMSWorkflowStatusItem, |
|
55 |
CommentableWorkflowStatusItem, |
|
56 |
ChoiceWorkflowStatusItem, |
|
57 |
DisplayMessageWorkflowStatusItem, |
|
58 |
AbortActionException, |
|
59 |
WorkflowCriticalityLevel, |
|
60 |
AttachmentEvolutionPart, |
|
61 |
WorkflowBackofficeFieldsFormDef, |
|
62 |
WorkflowVariablesFieldsFormDef, |
|
63 |
perform_items, |
|
64 |
) |
|
65 |
from wcs.wf.aggregation_email import ( |
|
66 |
AggregationEmailWorkflowStatusItem, |
|
67 |
AggregationEmail, |
|
68 |
send_aggregation_emails, |
|
69 |
) |
|
47 |
from wcs.formdef import FormDef |
|
48 |
from wcs.qommon.errors import ConnectionError |
|
49 |
from wcs.qommon.form import PicklableUpload |
|
50 |
from wcs.qommon.form import * |
|
51 |
from wcs.qommon.http_request import HTTPRequest |
|
52 |
from wcs.wf.aggregation_email import AggregationEmail |
|
53 |
from wcs.wf.aggregation_email import AggregationEmailWorkflowStatusItem |
|
54 |
from wcs.wf.aggregation_email import send_aggregation_emails |
|
70 | 55 |
from wcs.wf.anonymise import AnonymiseWorkflowStatusItem |
71 |
from wcs.wf.criticality import ModifyCriticalityWorkflowStatusItem, MODE_INC, MODE_DEC, MODE_SET |
|
72 |
from wcs.wf.dispatch import DispatchWorkflowStatusItem |
|
73 |
from wcs.wf.form import FormWorkflowStatusItem, WorkflowFormFieldsFormDef |
|
74 |
from wcs.wf.jump import JumpWorkflowStatusItem, _apply_timeouts |
|
75 |
from wcs.wf.timeout_jump import TimeoutWorkflowStatusItem |
|
76 |
from wcs.wf.profile import UpdateUserProfileStatusItem |
|
77 |
from wcs.wf.register_comment import RegisterCommenterWorkflowStatusItem, JournalEvolutionPart |
|
78 |
from wcs.wf.remove import RemoveWorkflowStatusItem |
|
79 |
from wcs.wf.roles import AddRoleWorkflowStatusItem, RemoveRoleWorkflowStatusItem |
|
80 |
from wcs.wf.wscall import WebserviceCallStatusItem |
|
81 |
from wcs.wf.export_to_model import ExportToModel, transform_to_pdf |
|
82 |
from wcs.wf.geolocate import GeolocateWorkflowStatusItem |
|
83 | 56 |
from wcs.wf.backoffice_fields import SetBackofficeFieldsWorkflowStatusItem |
84 |
from wcs.wf.redirect_to_url import RedirectToUrlWorkflowStatusItem |
|
85 |
from wcs.wf.notification import SendNotificationWorkflowStatusItem |
|
86 |
from wcs.wf.create_formdata import CreateFormdataWorkflowStatusItem, Mapping |
|
87 | 57 |
from wcs.wf.create_carddata import CreateCarddataWorkflowStatusItem |
58 |
from wcs.wf.create_formdata import CreateFormdataWorkflowStatusItem |
|
59 |
from wcs.wf.create_formdata import Mapping |
|
60 |
from wcs.wf.criticality import MODE_DEC |
|
61 |
from wcs.wf.criticality import MODE_INC |
|
62 |
from wcs.wf.criticality import MODE_SET |
|
63 |
from wcs.wf.criticality import ModifyCriticalityWorkflowStatusItem |
|
64 |
from wcs.wf.dispatch import DispatchWorkflowStatusItem |
|
88 | 65 |
from wcs.wf.edit_carddata import EditCarddataWorkflowStatusItem |
66 |
from wcs.wf.export_to_model import ExportToModel |
|
67 |
from wcs.wf.export_to_model import transform_to_pdf |
|
89 | 68 |
from wcs.wf.external_workflow import ExternalWorkflowGlobalAction |
90 | ||
91 | ||
92 |
from utilities import create_temporary_pub, MockSubstitutionVariables, clean_temporary_pub |
|
69 |
from wcs.wf.form import FormWorkflowStatusItem |
|
70 |
from wcs.wf.form import WorkflowFormFieldsFormDef |
|
71 |
from wcs.wf.geolocate import GeolocateWorkflowStatusItem |
|
72 |
from wcs.wf.jump import JumpWorkflowStatusItem |
|
73 |
from wcs.wf.jump import _apply_timeouts |
|
74 |
from wcs.wf.notification import SendNotificationWorkflowStatusItem |
|
75 |
from wcs.wf.profile import UpdateUserProfileStatusItem |
|
76 |
from wcs.wf.redirect_to_url import RedirectToUrlWorkflowStatusItem |
|
77 |
from wcs.wf.register_comment import JournalEvolutionPart |
|
78 |
from wcs.wf.register_comment import RegisterCommenterWorkflowStatusItem |
|
79 |
from wcs.wf.remove import RemoveWorkflowStatusItem |
|
80 |
from wcs.wf.roles import AddRoleWorkflowStatusItem |
|
81 |
from wcs.wf.roles import RemoveRoleWorkflowStatusItem |
|
82 |
from wcs.wf.timeout_jump import TimeoutWorkflowStatusItem |
|
83 |
from wcs.wf.wscall import WebserviceCallStatusItem |
|
84 |
from wcs.workflows import AbortActionException |
|
85 |
from wcs.workflows import AttachmentEvolutionPart |
|
86 |
from wcs.workflows import ChoiceWorkflowStatusItem |
|
87 |
from wcs.workflows import CommentableWorkflowStatusItem |
|
88 |
from wcs.workflows import DisplayMessageWorkflowStatusItem |
|
89 |
from wcs.workflows import SendmailWorkflowStatusItem |
|
90 |
from wcs.workflows import SendSMSWorkflowStatusItem |
|
91 |
from wcs.workflows import Workflow |
|
92 |
from wcs.workflows import WorkflowBackofficeFieldsFormDef |
|
93 |
from wcs.workflows import WorkflowCriticalityLevel |
|
94 |
from wcs.workflows import WorkflowStatusItem |
|
95 |
from wcs.workflows import WorkflowVariablesFieldsFormDef |
|
96 |
from wcs.workflows import perform_items |
|
93 | 97 | |
94 | 98 | |
95 | 99 |
def setup_module(module): |
tests/test_wscall.py | ||
---|---|---|
1 | 1 |
import json |
2 | ||
2 | 3 |
import pytest |
4 |
from utilities import clean_temporary_pub |
|
5 |
from utilities import create_temporary_pub |
|
6 |
from utilities import get_app |
|
3 | 7 | |
4 | 8 |
from wcs import fields |
5 | 9 |
from wcs.formdef import FormDef |
... | ... | |
7 | 11 |
from wcs.qommon.template import Template |
8 | 12 |
from wcs.wscalls import NamedWsCall |
9 | 13 | |
10 |
from utilities import get_app, create_temporary_pub, clean_temporary_pub |
|
11 | ||
12 | 14 | |
13 | 15 |
@pytest.fixture |
14 | 16 |
def pub(): |
tests/utilities.py | ||
---|---|---|
2 | 2 |
import email.parser |
3 | 3 |
import json |
4 | 4 |
import os |
5 |
import tempfile |
|
6 | 5 |
import random |
7 |
import psycopg2 |
|
8 | 6 |
import shutil |
9 | 7 |
import sys |
8 |
import tempfile |
|
10 | 9 |
import urllib.parse |
11 | 10 | |
12 |
from wcs import sql, sessions, custom_views |
|
13 | ||
14 |
from webtest import TestApp |
|
15 |
from quixote import cleanup, get_publisher |
|
11 |
import psycopg2 |
|
16 | 12 |
from django.conf import settings |
17 |
from django.utils.encoding import force_bytes, force_text |
|
13 |
from django.utils.encoding import force_bytes |
|
14 |
from django.utils.encoding import force_text |
|
15 |
from quixote import cleanup |
|
16 |
from quixote import get_publisher |
|
17 |
from webtest import TestApp |
|
18 | 18 | |
19 |
from wcs.qommon import force_str |
|
20 | 19 |
import wcs |
20 |
import wcs.middleware |
|
21 |
import wcs.qommon.emails |
|
22 |
import wcs.qommon.sms |
|
21 | 23 |
import wcs.wsgi |
22 | 24 |
from wcs import compat |
25 |
from wcs import custom_views |
|
26 |
from wcs import sessions |
|
27 |
from wcs import sql |
|
28 |
from wcs.qommon import force_str |
|
29 |
from wcs.qommon.errors import ConnectionError |
|
23 | 30 |
from wcs.roles import Role |
24 |
from wcs.users import User |
|
25 | 31 |
from wcs.tracking_code import TrackingCode |
26 |
import wcs.qommon.emails |
|
27 |
import wcs.qommon.sms |
|
28 |
from wcs.qommon.errors import ConnectionError |
|
29 | ||
30 |
import wcs.middleware |
|
32 |
from wcs.users import User |
|
31 | 33 | |
32 | 34 |
wcs.middleware.AfterJobsMiddleware.ASYNC = False |
33 | 35 |
wcs/__init__.py | ||
---|---|---|
14 | 14 |
# You should have received a copy of the GNU General Public License |
15 | 15 |
# along with this program; if not, see <http://www.gnu.org/licenses/>. |
16 | 16 | |
17 |
import sys |
|
18 | 17 |
import os |
18 |
import sys |
|
19 | 19 | |
20 | 20 |
sys.path.insert(0, os.path.dirname(__file__)) |
21 | 21 | |
22 |
from . import monkeypatch |
|
23 |
from . import compat |
|
22 |
from . import monkeypatch # isort: skip |
|
23 |
from . import compat # isort: skip |
wcs/admin/api_access.py | ||
---|---|---|
16 | 16 | |
17 | 17 |
import uuid |
18 | 18 | |
19 |
from quixote import get_response, redirect |
|
19 |
from quixote import get_response |
|
20 |
from quixote import redirect |
|
20 | 21 |
from quixote.directory import Directory |
21 |
from quixote.html import TemplateIO, htmltext |
|
22 |
from quixote.html import TemplateIO |
|
23 |
from quixote.html import htmltext |
|
22 | 24 | |
23 |
from wcs.qommon import _, errors, template |
|
24 |
from wcs.qommon.form import Form, StringWidget, TextWidget, HtmlWidget |
|
25 |
from wcs.qommon.backoffice.menu import html_top |
|
26 | 25 |
from wcs.api_access import ApiAccess |
26 |
from wcs.qommon import _ |
|
27 |
from wcs.qommon import errors |
|
28 |
from wcs.qommon import template |
|
29 |
from wcs.qommon.backoffice.menu import html_top |
|
30 |
from wcs.qommon.form import Form |
|
31 |
from wcs.qommon.form import HtmlWidget |
|
32 |
from wcs.qommon.form import StringWidget |
|
33 |
from wcs.qommon.form import TextWidget |
|
27 | 34 | |
28 | 35 | |
29 | 36 |
class ApiAccessUI(object): |
wcs/admin/blocks.py | ||
---|---|---|
16 | 16 | |
17 | 17 |
import xml.etree.ElementTree as ET |
18 | 18 | |
19 |
from quixote import get_publisher, get_response, get_session, redirect |
|
19 |
from quixote import get_publisher |
|
20 |
from quixote import get_response |
|
21 |
from quixote import get_session |
|
22 |
from quixote import redirect |
|
20 | 23 |
from quixote.directory import Directory |
21 |
from quixote.html import TemplateIO, htmltext |
|
24 |
from quixote.html import TemplateIO |
|
25 |
from quixote.html import htmltext |
|
22 | 26 | |
23 |
from wcs.blocks import BlockDef, BlockdefImportError |
|
24 | ||
25 |
from wcs.qommon.form import Form, StringWidget, HtmlWidget, FileWidget |
|
26 |
from wcs.qommon import _, N_, misc, template |
|
27 |
from wcs.qommon.backoffice.menu import html_top |
|
28 | ||
29 |
from wcs.admin.fields import FieldDefPage, FieldsDirectory |
|
30 | 27 |
from wcs.admin import utils |
28 |
from wcs.admin.fields import FieldDefPage |
|
29 |
from wcs.admin.fields import FieldsDirectory |
|
31 | 30 |
from wcs.backoffice.snapshots import SnapshotsDirectory |
31 |
from wcs.blocks import BlockDef |
|
32 |
from wcs.blocks import BlockdefImportError |
|
33 |
from wcs.qommon import N_ |
|
34 |
from wcs.qommon import _ |
|
35 |
from wcs.qommon import misc |
|
36 |
from wcs.qommon import template |
|
37 |
from wcs.qommon.backoffice.menu import html_top |
|
38 |
from wcs.qommon.form import FileWidget |
|
39 |
from wcs.qommon.form import Form |
|
40 |
from wcs.qommon.form import HtmlWidget |
|
41 |
from wcs.qommon.form import StringWidget |
|
32 | 42 | |
33 | 43 | |
34 | 44 |
class BlockFieldDefPage(FieldDefPage): |
wcs/admin/categories.py | ||
---|---|---|
16 | 16 | |
17 | 17 |
from quixote import redirect |
18 | 18 |
from quixote.directory import Directory |
19 |
from quixote.html import TemplateIO, htmltext |
|
20 | ||
21 |
from wcs.qommon import _, N_ |
|
22 |
from wcs.categories import Category, CardDefCategory |
|
23 |
from wcs.qommon.form import * |
|
24 |
from wcs.qommon.backoffice.menu import html_top |
|
19 |
from quixote.html import TemplateIO |
|
20 |
from quixote.html import htmltext |
|
25 | 21 | |
26 | 22 |
from wcs.carddef import CardDef |
23 |
from wcs.categories import CardDefCategory |
|
24 |
from wcs.categories import Category |
|
27 | 25 |
from wcs.formdef import FormDef |
26 |
from wcs.qommon import N_ |
|
27 |
from wcs.qommon import _ |
|
28 |
from wcs.qommon.backoffice.menu import html_top |
|
29 |
from wcs.qommon.form import * |
|
28 | 30 | |
29 | 31 | |
30 | 32 |
class CategoryUI(object): |
wcs/admin/data_sources.py | ||
---|---|---|
16 | 16 | |
17 | 17 |
import xml.etree.ElementTree as ET |
18 | 18 | |
19 |
from quixote import get_publisher, redirect |
|
19 |
from quixote import get_publisher |
|
20 |
from quixote import redirect |
|
20 | 21 |
from quixote.directory import Directory |
21 |
from quixote.html import TemplateIO, htmltext |
|
22 |
from quixote.html import TemplateIO |
|
23 |
from quixote.html import htmltext |
|
22 | 24 | |
23 | 25 |
from wcs.admin import utils |
24 |
from wcs.qommon import _, force_str |
|
25 |
from wcs.qommon import errors, template |
|
26 |
from wcs.qommon.form import * |
|
26 |
from wcs.backoffice.snapshots import SnapshotsDirectory |
|
27 |
from wcs.carddef import CardDef |
|
28 |
from wcs.data_sources import DataSourceSelectionWidget |
|
29 |
from wcs.data_sources import NamedDataSource |
|
30 |
from wcs.data_sources import RefreshAgendas |
|
31 |
from wcs.data_sources import get_structured_items |
|
32 |
from wcs.data_sources import has_chrono |
|
33 |
from wcs.formdef import FormDef |
|
34 |
from wcs.formdef import get_formdefs_of_all_kinds |
|
35 |
from wcs.qommon import _ |
|
36 |
from wcs.qommon import errors |
|
37 |
from wcs.qommon import force_str |
|
38 |
from wcs.qommon import misc |
|
39 |
from wcs.qommon import template |
|
40 |
from wcs.qommon.backoffice.menu import html_top |
|
27 | 41 |
from wcs.qommon.form import FileWidget |
28 | 42 |
from wcs.qommon.form import Form |
29 | 43 |
from wcs.qommon.form import UrlWidget |
44 |
from wcs.qommon.form import * |
|
30 | 45 |
from wcs.qommon.form import get_response |
31 | 46 |
from wcs.qommon.form import get_session |
32 |
from wcs.qommon import misc |
|
33 |
from wcs.qommon.backoffice.menu import html_top |
|
34 |
from wcs.carddef import CardDef |
|
35 |
from wcs.data_sources import ( |
|
36 |
NamedDataSource, |
|
37 |
DataSourceSelectionWidget, |
|
38 |
get_structured_items, |
|
39 |
has_chrono, |
|
40 |
RefreshAgendas, |
|
41 |
) |
|
42 |
from wcs.formdef import FormDef, get_formdefs_of_all_kinds |
|
43 |
from wcs.backoffice.snapshots import SnapshotsDirectory |
|
44 | 47 | |
45 | 48 | |
46 | 49 |
class NamedDataSourceUI(object): |
wcs/admin/fields.py | ||
---|---|---|
21 | 21 | |
22 | 22 |
from quixote import redirect |
23 | 23 |
from quixote.directory import Directory |
24 |
from quixote.html import TemplateIO, htmltext, htmlescape |
|
24 |
from quixote.html import TemplateIO |
|
25 |
from quixote.html import htmlescape |
|
26 |
from quixote.html import htmltext |
|
25 | 27 | |
28 |
from wcs import fields |
|
26 | 29 |
from wcs.admin import utils |
30 |
from wcs.fields import get_field_options |
|
31 |
from wcs.formdef import FormDef |
|
27 | 32 |
from wcs.qommon import _ |
28 |
from wcs.qommon.form import * |
|
29 |
from wcs.qommon import errors, misc |
|
33 |
from wcs.qommon import errors |
|
30 | 34 |
from wcs.qommon import get_cfg |
31 |
from wcs.qommon.backoffice.menu import html_top
|
|
35 |
from wcs.qommon import misc
|
|
32 | 36 |
from wcs.qommon.admin.menu import command_icon |
33 | ||
34 |
from wcs import fields |
|
35 |
from wcs.formdef import FormDef |
|
36 |
from wcs.fields import get_field_options |
|
37 |
from wcs.qommon.backoffice.menu import html_top |
|
38 |
from wcs.qommon.form import * |
|
37 | 39 | |
38 | 40 | |
39 | 41 |
class FieldDefPage(Directory): |
wcs/admin/forms.py | ||
---|---|---|
16 | 16 |
# You should have received a copy of the GNU General Public License |
17 | 17 |
# along with this program; if not, see <http://www.gnu.org/licenses/>. |
18 | 18 | |
19 |
import io |
|
20 |
import xml.etree.ElementTree as ET |
|
21 | 19 |
import datetime |
22 | 20 |
import difflib |
21 |
import io |
|
23 | 22 |
import tarfile |
24 | 23 |
import time |
24 |
import xml.etree.ElementTree as ET |
|
25 | 25 | |
26 |
from quixote import get_publisher, get_response, redirect |
|
27 |
from quixote.directory import Directory, AccessControlled |
|
28 |
from quixote.html import TemplateIO, htmltext |
|
26 |
from quixote import get_publisher |
|
27 |
from quixote import get_response |
|
28 |
from quixote import redirect |
|
29 |
from quixote.directory import AccessControlled |
|
30 |
from quixote.directory import Directory |
|
31 |
from quixote.html import TemplateIO |
|
32 |
from quixote.html import htmltext |
|
29 | 33 | |
30 |
from wcs.qommon import _, N_, force_str |
|
31 |
from wcs.qommon import misc, template |
|
34 |
from wcs.backoffice.snapshots import SnapshotsDirectory |
|
35 |
from wcs.carddef import CardDef |
|
36 |
from wcs.categories import Category |
|
37 |
from wcs.formdef import DRAFTS_DEFAULT_LIFESPAN |
|
38 |
from wcs.formdef import FormDef |
|
39 |
from wcs.formdef import FormdefImportError |
|
40 |
from wcs.formdef import FormdefImportRecoverableError |
|
41 |
from wcs.forms.root import qrcode |
|
42 |
from wcs.qommon import N_ |
|
43 |
from wcs.qommon import _ |
|
44 |
from wcs.qommon import force_str |
|
45 |
from wcs.qommon import get_logger |
|
46 |
from wcs.qommon import misc |
|
47 |
from wcs.qommon import template |
|
48 |
from wcs.qommon.afterjobs import AfterJob |
|
49 |
from wcs.qommon.backoffice.menu import html_top |
|
32 | 50 |
from wcs.qommon.errors import TraversalError |
33 | 51 |
from wcs.qommon.form import * |
34 |
from wcs.qommon.storage import Equal, NotEqual, Null |
|
35 |
from wcs.qommon.backoffice.menu import html_top |
|
36 |
from wcs.qommon import get_logger |
|
37 | 52 |
from wcs.qommon.misc import C_ |
38 | ||
39 |
from wcs.qommon.afterjobs import AfterJob |
|
40 | ||
41 |
from wcs.formdef import FormDef, FormdefImportError, FormdefImportRecoverableError, DRAFTS_DEFAULT_LIFESPAN |
|
42 |
from wcs.carddef import CardDef |
|
43 |
from wcs.categories import Category |
|
44 |
from wcs.roles import logged_users_role, get_user_roles |
|
53 |
from wcs.qommon.storage import Equal |
|
54 |
from wcs.qommon.storage import NotEqual |
|
55 |
from wcs.qommon.storage import Null |
|
56 |
from wcs.roles import get_user_roles |
|
57 |
from wcs.roles import logged_users_role |
|
45 | 58 |
from wcs.workflows import Workflow |
46 |
from wcs.forms.root import qrcode |
|
47 | 59 | |
48 | 60 |
from . import utils |
49 | 61 |
from .blocks import BlocksDirectory |
50 |
from .fields import FieldDefPage, FieldsDirectory |
|
51 | 62 |
from .categories import CategoriesDirectory |
52 | 63 |
from .data_sources import NamedDataSourcesDirectory |
64 |
from .fields import FieldDefPage |
|
65 |
from .fields import FieldsDirectory |
|
53 | 66 |
from .logged_errors import LoggedErrorsDirectory |
54 | 67 | |
55 |
from wcs.backoffice.snapshots import SnapshotsDirectory |
|
56 | ||
57 | 68 | |
58 | 69 |
def get_categories(category_class): |
59 | 70 |
t = sorted([(misc.simplify(x.name), x.id, x.name, x.id) for x in category_class.select()]) |
wcs/admin/logged_errors.py | ||
---|---|---|
17 | 17 |
import re |
18 | 18 | |
19 | 19 |
from django.utils.text import Truncator |
20 |
from quixote import get_response, get_publisher, redirect, get_request |
|
20 |
from quixote import get_publisher |
|
21 |
from quixote import get_request |
|
22 |
from quixote import get_response |
|
23 |
from quixote import redirect |
|
21 | 24 |
from quixote.directory import Directory |
22 |
from quixote.html import TemplateIO, htmltext |
|
23 |
from wcs.qommon import _, ngettext, N_, template |
|
25 |
from quixote.html import TemplateIO |
|
26 |
from quixote.html import htmltext |
|
27 | ||
28 |
from wcs.qommon import N_ |
|
29 |
from wcs.qommon import _ |
|
24 | 30 |
from wcs.qommon import errors |
25 | 31 |
from wcs.qommon import misc |
32 |
from wcs.qommon import ngettext |
|
33 |
from wcs.qommon import template |
|
26 | 34 |
from wcs.qommon.backoffice.listing import pagination_links |
27 |
from wcs.qommon.storage import Or, Equal, NotEqual, Null, NotNull |
|
35 |
from wcs.qommon.storage import Equal |
|
36 |
from wcs.qommon.storage import NotEqual |
|
37 |
from wcs.qommon.storage import NotNull |
|
38 |
from wcs.qommon.storage import Null |
|
39 |
from wcs.qommon.storage import Or |
|
28 | 40 | |
29 | 41 | |
30 | 42 |
class LoggedErrorDirectory(Directory): |
wcs/admin/mail_templates.py | ||
---|---|---|
16 | 16 | |
17 | 17 |
import xml.etree.ElementTree as ET |
18 | 18 | |
19 |
from quixote import get_publisher, get_response, redirect |
|
19 |
from quixote import get_publisher |
|
20 |
from quixote import get_response |
|
21 |
from quixote import redirect |
|
20 | 22 |
from quixote.directory import Directory |
21 |
from quixote.html import TemplateIO, htmltext |
|
23 |
from quixote.html import TemplateIO |
|
24 |
from quixote.html import htmltext |
|
22 | 25 | |
23 |
from wcs.qommon import _, errors, force_str, misc, template |
|
24 |
from wcs.qommon.backoffice.menu import html_top |
|
25 |
from wcs.qommon.form import ( |
|
26 |
Form, |
|
27 |
HtmlWidget, |
|
28 |
StringWidget, |
|
29 |
TextWidget, |
|
30 |
ComputedExpressionWidget, |
|
31 |
WidgetList, |
|
32 |
FileWidget, |
|
33 |
get_session, |
|
34 |
) |
|
35 | 26 |
from wcs.mail_templates import MailTemplate |
27 |
from wcs.qommon import _ |
|
28 |
from wcs.qommon import errors |
|
29 |
from wcs.qommon import force_str |
|
30 |
from wcs.qommon import misc |
|
31 |
from wcs.qommon import template |
|
32 |
from wcs.qommon.backoffice.menu import html_top |
|
33 |
from wcs.qommon.form import ComputedExpressionWidget |
|
34 |
from wcs.qommon.form import FileWidget |
|
35 |
from wcs.qommon.form import Form |
|
36 |
from wcs.qommon.form import HtmlWidget |
|
37 |
from wcs.qommon.form import StringWidget |
|
38 |
from wcs.qommon.form import TextWidget |
|
39 |
from wcs.qommon.form import WidgetList |
|
40 |
from wcs.qommon.form import get_session |
|
36 | 41 | |
37 | 42 | |
38 | 43 |
class MailTemplatesDirectory(Directory): |
wcs/admin/roles.py | ||
---|---|---|
16 | 16 | |
17 | 17 |
from quixote import redirect |
18 | 18 |
from quixote.directory import Directory |
19 |
from quixote.html import TemplateIO, htmltext |
|
19 |
from quixote.html import TemplateIO |
|
20 |
from quixote.html import htmltext |
|
20 | 21 | |
21 |
from wcs.qommon import _, get_cfg |
|
22 |
from wcs.formdef import FormDef |
|
23 |
from wcs.qommon import _ |
|
22 | 24 |
from wcs.qommon import errors |
23 |
from wcs.qommon.form import * |
|
24 | ||
25 |
from wcs.qommon import get_cfg |
|
25 | 26 |
from wcs.qommon.backoffice.menu import html_top |
26 | ||
27 |
from wcs.qommon.form import * |
|
27 | 28 |
from wcs.roles import get_user_roles |
28 |
from wcs.formdef import FormDef |
|
29 | 29 | |
30 | 30 | |
31 | 31 |
class RoleUI(object): |
wcs/admin/root.py | ||
---|---|---|
14 | 14 |
# You should have received a copy of the GNU General Public License |
15 | 15 |
# along with this program; if not, see <http://www.gnu.org/licenses/>. |
16 | 16 | |
17 |
from quixote import get_request, redirect |
|
17 |
from quixote import get_request |
|
18 |
from quixote import redirect |
|
18 | 19 |
from quixote.directory import Directory |
19 | 20 | |
20 | 21 |
wcs/admin/settings.py | ||
---|---|---|
24 | 24 |
import lasso |
25 | 25 |
except ImportError: |
26 | 26 |
lasso = None |
27 |
import zipfile |
|
28 | 27 |
import shutil |
29 | ||
30 | 28 |
import xml.etree.ElementTree as ET |
29 |
import zipfile |
|
31 | 30 | |
32 | 31 |
from django.utils.encoding import force_bytes |
33 | ||
34 |
from quixote import get_publisher, get_request, get_response, redirect |
|
32 |
from quixote import get_publisher |
|
33 |
from quixote import get_request |
|
34 |
from quixote import get_response |
|
35 |
from quixote import redirect |
|
35 | 36 |
from quixote.directory import Directory |
36 |
from quixote.html import TemplateIO, htmltext |
|
37 |
from quixote.html import TemplateIO |
|
38 |
from quixote.html import htmltext |
|
37 | 39 | |
38 |
from wcs.qommon import _, N_ |
|
39 |
from wcs.qommon import get_cfg |
|
40 |
from wcs.backoffice.studio import StudioDirectory |
|
41 |
from wcs.blocks import BlockDef |
|
42 |
from wcs.carddef import CardDef |
|
43 |
from wcs.data_sources import NamedDataSource |
|
44 |
from wcs.formdef import FormDef |
|
45 |
from wcs.qommon import N_ |
|
46 |
from wcs.qommon import _ |
|
40 | 47 |
from wcs.qommon import errors |
48 |
from wcs.qommon import get_cfg |
|
49 |
from wcs.qommon import ident |
|
41 | 50 |
from wcs.qommon import misc |
42 | 51 |
from wcs.qommon import template |
43 |
from wcs.qommon.form import * |
|
44 |
from wcs.qommon.sms import SMS |
|
45 | ||
46 |
from wcs.qommon.afterjobs import AfterJob |
|
47 |
from wcs.qommon.backoffice.menu import html_top |
|
48 |
from wcs.qommon.admin.menu import error_page |
|
49 | 52 |
from wcs.qommon.admin.cfg import cfg_submit |
50 | 53 |
from wcs.qommon.admin.emails import EmailsDirectory |
51 |
from wcs.qommon.admin.texts import TextsDirectory |
|
52 |
from wcs.qommon.admin.settings import SettingsDirectory as QommonSettingsDirectory |
|
53 | 54 |
from wcs.qommon.admin.logger import LoggerDirectory |
54 |
from wcs.qommon import ident |
|
55 | ||
56 |
from wcs.blocks import BlockDef |
|
57 |
from wcs.carddef import CardDef |
|
58 |
from wcs.data_sources import NamedDataSource |
|
59 |
from wcs.formdef import FormDef |
|
60 |
from wcs.workflows import Workflow, WorkflowImportError |
|
55 |
from wcs.qommon.admin.menu import error_page |
|
56 |
from wcs.qommon.admin.settings import SettingsDirectory as QommonSettingsDirectory |
|
57 |
from wcs.qommon.admin.texts import TextsDirectory |
|
58 |
from wcs.qommon.afterjobs import AfterJob |
|
59 |
from wcs.qommon.backoffice.menu import html_top |
|
60 |
from wcs.qommon.form import * |
|
61 |
from wcs.qommon.sms import SMS |
|
62 |
from wcs.workflows import Workflow |
|
63 |
from wcs.workflows import WorkflowImportError |
|
61 | 64 | |
62 |
from wcs.backoffice.studio import StudioDirectory |
|
63 |
from .fields import FieldDefPage, FieldsDirectory |
|
65 |
from .api_access import ApiAccessDirectory |
|
64 | 66 |
from .data_sources import NamedDataSourcesDirectory |
67 |
from .fields import FieldDefPage |
|
68 |
from .fields import FieldsDirectory |
|
65 | 69 |
from .wscalls import NamedWsCallsDirectory |
66 |
from .api_access import ApiAccessDirectory |
|
67 | 70 | |
68 | 71 | |
69 | 72 |
class UserFormDirectory(Directory): |
... | ... | |
935 | 938 |
return r.getvalue() |
936 | 939 | |
937 | 940 |
def template_submit(self, form=None): |
938 |
from wcs.qommon.template import DEFAULT_TEMPLATE_EZT, get_default_ezt_template |
|
941 |
from wcs.qommon.template import DEFAULT_TEMPLATE_EZT |
|
942 |
from wcs.qommon.template import get_default_ezt_template |
|
939 | 943 | |
940 | 944 |
theme_default_template_ezt = get_default_ezt_template() |
941 | 945 |
wcs/admin/users.py | ||
---|---|---|
14 | 14 |
# You should have received a copy of the GNU General Public License |
15 | 15 |
# along with this program; if not, see <http://www.gnu.org/licenses/>. |
16 | 16 | |
17 |
from quixote import get_publisher, get_response, get_request, get_session, redirect |
|
17 |
from quixote import get_publisher |
|
18 |
from quixote import get_request |
|
19 |
from quixote import get_response |
|
20 |
from quixote import get_session |
|
21 |
from quixote import redirect |
|
18 | 22 |
from quixote.directory import Directory |
19 |
from quixote.html import TemplateIO, htmltext |
|
23 |
from quixote.html import TemplateIO |
|
24 |
from quixote.html import htmltext |
|
20 | 25 | |
21 |
from wcs.qommon import _, N_, force_str |
|
22 | 26 |
import wcs.qommon.storage as st |
27 |
from wcs.qommon import N_ |
|
28 |
from wcs.qommon import _ |
|
23 | 29 |
from wcs.qommon import errors |
24 |
from wcs.qommon import misc, get_cfg |
|
25 |
from wcs.qommon.backoffice.listing import pagination_links |
|
26 | ||
30 |
from wcs.qommon import force_str |
|
31 |
from wcs.qommon import get_cfg |
|
27 | 32 |
from wcs.qommon import ident |
28 |
from wcs.qommon.ident.idp import is_idp_managing_user_attributes, is_idp_managing_user_roles |
|
29 |
from wcs.qommon.form import * |
|
33 |
from wcs.qommon import misc |
|
30 | 34 |
from wcs.qommon.admin.emails import EmailsDirectory |
31 |
from wcs.qommon.backoffice.menu import html_top |
|
32 | 35 |
from wcs.qommon.admin.menu import error_page |
36 |
from wcs.qommon.backoffice.listing import pagination_links |
|
37 |
from wcs.qommon.backoffice.menu import html_top |
|
38 |
from wcs.qommon.form import * |
|
39 |
from wcs.qommon.ident.idp import is_idp_managing_user_attributes |
|
40 |
from wcs.qommon.ident.idp import is_idp_managing_user_roles |
|
33 | 41 | |
34 | 42 | |
35 | 43 |
class UserUI(object): |
wcs/admin/utils.py | ||
---|---|---|
18 | 18 | |
19 | 19 |
import time |
20 | 20 | |
21 |
from quixote import get_publisher, get_request |
|
22 |
from quixote.html import TemplateIO, htmltext |
|
23 | ||
24 |
from qommon import _, misc |
|
21 |
from qommon import _ |
|
22 |
from qommon import misc |
|
23 |
from quixote import get_publisher |
|
24 |
from quixote import get_request |
|
25 |
from quixote.html import TemplateIO |
|
26 |
from quixote.html import htmltext |
|
25 | 27 | |
26 | 28 | |
27 | 29 |
def last_modification_block(obj): |
wcs/admin/workflows.py | ||
---|---|---|
19 | 19 |
from __future__ import print_function |
20 | 20 | |
21 | 21 |
import io |
22 |
import time |
|
23 |
from subprocess import Popen, PIPE |
|
24 | 22 |
import textwrap |
23 |
import time |
|
25 | 24 |
import xml.etree.ElementTree as ET |
25 |
from subprocess import PIPE |
|
26 |
from subprocess import Popen |
|
26 | 27 | |
27 | 28 |
from django.utils.encoding import force_bytes |
28 | ||
29 |
from quixote import redirect, get_publisher, get_response |
|
29 |
from quixote import get_publisher |
|
30 |
from quixote import get_response |
|
31 |
from quixote import redirect |
|
30 | 32 |
from quixote.directory import Directory |
31 |
from quixote.html import TemplateIO, htmltext |
|
33 |
from quixote.html import TemplateIO |
|
34 |
from quixote.html import htmltext |
|
32 | 35 | |
33 |
from wcs.qommon import _, force_str |
|
36 |
from wcs.backoffice.snapshots import SnapshotsDirectory |
|
37 |
from wcs.backoffice.studio import StudioDirectory |
|
38 |
from wcs.carddef import CardDef |
|
39 |
from wcs.formdata import Evolution |
|
40 |
from wcs.formdef import FormDef |
|
41 |
from wcs.qommon import _ |
|
34 | 42 |
from wcs.qommon import errors |
43 |
from wcs.qommon import force_str |
|
44 |
from wcs.qommon import get_logger |
|
35 | 45 |
from wcs.qommon import misc |
36 |
from wcs.qommon.form import * |
|
37 |
from wcs.qommon.backoffice.menu import html_top |
|
38 | 46 |
from wcs.qommon.admin.menu import command_icon |
39 |
from wcs.qommon import get_logger
|
|
40 | ||
47 |
from wcs.qommon.backoffice.menu import html_top
|
|
48 |
from wcs.qommon.form import * |
|
41 | 49 |
from wcs.workflows import * |
42 |
from wcs.carddef import CardDef |
|
43 |
from wcs.formdef import FormDef |
|
44 |
from wcs.formdata import Evolution |
|
45 | 50 | |
46 | 51 |
from . import utils |
47 |
from .fields import FieldDefPage, FieldsDirectory |
|
48 | 52 |
from .data_sources import NamedDataSourcesDirectory |
53 |
from .fields import FieldDefPage |
|
54 |
from .fields import FieldsDirectory |
|
49 | 55 |
from .logged_errors import LoggedErrorsDirectory |
50 | 56 |
from .mail_templates import MailTemplatesDirectory |
51 |
from wcs.backoffice.snapshots import SnapshotsDirectory |
|
52 |
from wcs.backoffice.studio import StudioDirectory |
|
53 | 57 | |
54 | 58 | |
55 | 59 |
def svg(tag): |
wcs/admin/wscalls.py | ||
---|---|---|
16 | 16 | |
17 | 17 |
import xml.etree.ElementTree as ET |
18 | 18 | |
19 |
from quixote import get_publisher, get_response, redirect |
|
19 |
from quixote import get_publisher |
|
20 |
from quixote import get_response |
|
21 |
from quixote import redirect |
|
20 | 22 |
from quixote.directory import Directory |
21 |
from quixote.html import TemplateIO, htmltext |
|
23 |
from quixote.html import TemplateIO |
|
24 |
from quixote.html import htmltext |
|
22 | 25 | |
23 | 26 |
from wcs.admin import utils |
24 |
from wcs.qommon import _, errors, template |
|
27 |
from wcs.backoffice.snapshots import SnapshotsDirectory |
|
28 |
from wcs.qommon import _ |
|
29 |
from wcs.qommon import errors |
|
25 | 30 |
from wcs.qommon import misc |
26 |
from wcs.qommon.form import *
|
|
31 |
from wcs.qommon import template
|
|
27 | 32 |
from wcs.qommon.backoffice.menu import html_top |
28 |
from wcs.wscalls import NamedWsCall, WsCallRequestWidget |
|
29 |
from wcs.backoffice.snapshots import SnapshotsDirectory |
|
33 |
from wcs.qommon.form import * |
|
34 |
from wcs.wscalls import NamedWsCall |
|
35 |
from wcs.wscalls import WsCallRequestWidget |
|
30 | 36 | |
31 | 37 | |
32 | 38 |
class NamedWsCallUI(object): |
wcs/api.py | ||
---|---|---|
21 | 21 |
import time |
22 | 22 |
import urllib.parse |
23 | 23 | |
24 |
from quixote import get_request, get_publisher, get_response, get_session |
|
25 |
from quixote.errors import MethodNotAllowedError |
|
26 |
from quixote.directory import Directory |
|
27 | ||
24 |
from django.http import HttpResponse |
|
25 |
from django.http import HttpResponseBadRequest |
|
26 |
from django.http import JsonResponse |
|
28 | 27 |
from django.utils.encoding import force_text |
29 |
from django.http import HttpResponse, HttpResponseBadRequest, JsonResponse |
|
30 | ||
31 |
from .qommon import _ |
|
32 |
from .qommon import misc |
|
33 |
from .qommon.errors import ( |
|
34 |
AccessForbiddenError, |
|
35 |
TraversalError, |
|
36 |
UnknownNameIdAccessForbiddenError, |
|
37 |
ConnectionError, |
|
38 |
) |
|
39 |
from .qommon.form import ComputedExpressionWidget |
|
40 |
from .qommon.storage import Equal, NotEqual |
|
28 |
from quixote import get_publisher |
|
29 |
from quixote import get_request |
|
30 |
from quixote import get_response |
|
31 |
from quixote import get_session |
|
32 |
from quixote.directory import Directory |
|
33 |
from quixote.errors import MethodNotAllowedError |
|
41 | 34 | |
42 |
from wcs.categories import Category |
|
43 |
from wcs.conditions import Condition, ValidationError |
|
35 |
import wcs.qommon.storage as st |
|
36 |
from wcs.api_utils import get_query_flag |
|
37 |
from wcs.api_utils import get_user_from_api_query_string |
|
38 |
from wcs.api_utils import is_url_signed |
|
39 |
from wcs.api_utils import sign_url_auto_orig |
|
44 | 40 |
from wcs.carddef import CardDef |
45 |
from wcs.formdef import FormDef |
|
41 |
from wcs.categories import Category |
|
42 |
from wcs.conditions import Condition |
|
43 |
from wcs.conditions import ValidationError |
|
46 | 44 |
from wcs.data_sources import NamedDataSource |
47 | 45 |
from wcs.data_sources import get_object as get_data_source_object |
48 |
from wcs.roles import logged_users_role
|
|
46 |
from wcs.formdef import FormDef
|
|
49 | 47 |
from wcs.forms.common import FormStatusPage |
50 | 48 |
from wcs.qommon.afterjobs import AfterJob |
51 |
import wcs.qommon.storage as st |
|
52 |
from wcs.api_utils import sign_url_auto_orig, is_url_signed, get_user_from_api_query_string, get_query_flag |
|
49 |
from wcs.roles import logged_users_role |
|
53 | 50 | |
51 |
from .backoffice.data_management import CardPage as BackofficeCardPage |
|
54 | 52 |
from .backoffice.management import FormPage as BackofficeFormPage |
55 | 53 |
from .backoffice.management import ManagementDirectory |
56 |
from .backoffice.data_management import CardPage as BackofficeCardPage |
|
57 | 54 |
from .backoffice.submission import SubmissionDirectory |
55 |
from .qommon import _ |
|
56 |
from .qommon import misc |
|
57 |
from .qommon.errors import AccessForbiddenError |
|
58 |
from .qommon.errors import ConnectionError |
|
59 |
from .qommon.errors import TraversalError |
|
60 |
from .qommon.errors import UnknownNameIdAccessForbiddenError |
|
61 |
from .qommon.form import ComputedExpressionWidget |
|
62 |
from .qommon.storage import Equal |
|
63 |
from .qommon.storage import NotEqual |
|
58 | 64 | |
59 | 65 | |
60 | 66 |
def posted_json_data_to_formdata_data(formdef, data): |
... | ... | |
848 | 854 | |
849 | 855 |
if get_publisher().is_using_postgresql() and not get_request().form.get('full') == 'on': |
850 | 856 |
from wcs import sql |
857 | ||
851 | 858 |
from .qommon.storage import Equal |
852 | 859 | |
853 | 860 |
order_by = 'receipt_time' |
wcs/api_utils.py | ||
---|---|---|
15 | 15 |
# along with this program; if not, see <http://www.gnu.org/licenses/>. |
16 | 16 | |
17 | 17 |
import base64 |
18 |
import hmac |
|
19 |
import hashlib |
|
18 |
import calendar |
|
20 | 19 |
import datetime |
21 |
import random |
|
20 |
import errno |
|
21 |
import hashlib |
|
22 |
import hmac |
|
22 | 23 |
import os |
24 |
import random |
|
23 | 25 |
import urllib.parse |
24 |
import errno |
|
25 |
import calendar |
|
26 | 26 | |
27 |
from django.utils.encoding import force_bytes, force_text |
|
27 |
import qommon.misc |
|
28 |
from django.utils.encoding import force_bytes |
|
29 |
from django.utils.encoding import force_text |
|
30 |
from quixote import get_publisher |
|
31 |
from quixote import get_request |
|
28 | 32 | |
29 |
from quixote import get_request, get_publisher |
|
30 | 33 |
from .api_access import ApiAccess |
31 |
from .qommon.errors import AccessForbiddenError, HttpResponse401Error, UnknownNameIdAccessForbiddenError |
|
32 |
import qommon.misc |
|
34 |
from .qommon.errors import AccessForbiddenError |
|
35 |
from .qommon.errors import HttpResponse401Error |
|
36 |
from .qommon.errors import UnknownNameIdAccessForbiddenError |
|
33 | 37 | |
34 | 38 |
DEFAULT_DURATION = 30 |
35 | 39 |
wcs/backoffice/cards.py | ||
---|---|---|
16 | 16 |
# You should have received a copy of the GNU General Public License |
17 | 17 |
# along with this program; if not, see <http://www.gnu.org/licenses/>. |
18 | 18 | |
19 |
from quixote import get_publisher, get_response, get_session, redirect |
|
19 |
from quixote import get_publisher |
|
20 |
from quixote import get_response |
|
21 |
from quixote import get_session |
|
22 |
from quixote import redirect |
|
20 | 23 |
from quixote.directory import Directory |
21 |
from quixote.html import TemplateIO, htmltext |
|
22 | ||
23 |
from ..qommon import _, N_ |
|
24 |
from ..qommon.misc import C_ |
|
25 |
from ..qommon.storage import NotEqual, Null |
|
24 |
from quixote.html import TemplateIO |
|
25 |
from quixote.html import htmltext |
|
26 | 26 | |
27 |
from wcs.admin import utils |
|
28 |
from wcs.admin.categories import CardDefCategoriesDirectory |
|
29 |
from wcs.admin.forms import FormDefPage |
|
30 |
from wcs.admin.forms import FormDefUI |
|
31 |
from wcs.admin.forms import FormsDirectory |
|
32 |
from wcs.admin.forms import OptionsDirectory |
|
33 |
from wcs.admin.forms import html_top |
|
34 |
from wcs.admin.logged_errors import LoggedErrorsDirectory |
|
27 | 35 |
from wcs.carddef import CardDef |
28 | 36 |
from wcs.categories import CardDefCategory |
29 | 37 |
from wcs.workflows import Workflow |
30 |
from wcs.admin.categories import CardDefCategoriesDirectory |
|
31 |
from wcs.admin.forms import FormsDirectory, FormDefPage, FormDefUI, html_top, OptionsDirectory |
|
32 |
from wcs.admin.logged_errors import LoggedErrorsDirectory |
|
33 |
from wcs.admin import utils |
|
38 | ||
39 |
from ..qommon import N_ |
|
40 |
from ..qommon import _ |
|
41 |
from ..qommon.misc import C_ |
|
42 |
from ..qommon.storage import NotEqual |
|
43 |
from ..qommon.storage import Null |
|
34 | 44 | |
35 | 45 | |
36 | 46 |
class CardDefUI(FormDefUI): |
wcs/backoffice/data_management.py | ||
---|---|---|
18 | 18 |
import datetime |
19 | 19 |
import io |
20 | 20 | |
21 |
from quixote import get_publisher, get_request, get_response, redirect |
|
22 |
from quixote.html import TemplateIO, htmltext, htmlescape |
|
23 | ||
24 | 21 |
from django.utils.encoding import force_text |
22 |
from quixote import get_publisher |
|
23 |
from quixote import get_request |
|
24 |
from quixote import get_response |
|
25 |
from quixote import redirect |
|
26 |
from quixote.html import TemplateIO |
|
27 |
from quixote.html import htmlescape |
|
28 |
from quixote.html import htmltext |
|
25 | 29 | |
30 |
from wcs import fields |
|
31 |
from wcs.carddef import CardDef |
|
32 |
from wcs.categories import CardDefCategory |
|
26 | 33 | |
27 |
from ..qommon import _, N_ |
|
34 |
from ..qommon import N_ |
|
35 |
from ..qommon import _ |
|
28 | 36 |
from ..qommon import errors |
29 | 37 |
from ..qommon import template |
30 |
from ..qommon.form import Form, FileWidget |
|
31 |
from ..qommon.backoffice.menu import html_top |
|
32 |
from ..qommon import template |
|
33 | 38 |
from ..qommon.afterjobs import AfterJob |
34 | ||
35 |
from wcs.carddef import CardDef |
|
36 |
from wcs.categories import CardDefCategory |
|
37 |
from wcs import fields |
|
38 | ||
39 |
from .management import ManagementDirectory, FormPage, FormFillPage, FormBackOfficeStatusPage |
|
39 |
from ..qommon.backoffice.menu import html_top |
|
40 |
from ..qommon.form import FileWidget |
|
41 |
from ..qommon.form import Form |
|
42 |
from .management import FormBackOfficeStatusPage |
|
43 |
from .management import FormFillPage |
|
44 |
from .management import FormPage |
|
45 |
from .management import ManagementDirectory |
|
40 | 46 | |
41 | 47 | |
42 | 48 |
class DataManagementDirectory(ManagementDirectory): |
wcs/backoffice/management.py | ||
---|---|---|
22 | 22 |
import time |
23 | 23 |
import types |
24 | 24 |
import urllib.parse |
25 |
import vobject |
|
26 | 25 |
import zipfile |
27 | 26 | |
27 |
import vobject |
|
28 | 28 |
from django.conf import settings |
29 | 29 |
from django.utils.encoding import force_text |
30 | ||
31 |
from quixote import get_session, get_publisher, get_request, get_response, redirect |
|
30 |
from quixote import get_publisher |
|
31 |
from quixote import get_request |
|
32 |
from quixote import get_response |
|
33 |
from quixote import get_session |
|
34 |
from quixote import redirect |
|
32 | 35 |
from quixote.directory import Directory |
33 |
from quixote.html import TemplateIO, htmltext, htmlescape |
|
34 | ||
35 |
from ..qommon import _, ngettext, N_, ezt, force_str |
|
36 |
from ..qommon.admin.emails import EmailsDirectory |
|
37 |
from ..qommon.admin.menu import command_icon |
|
38 |
from ..qommon.backoffice.menu import html_top |
|
39 |
from ..qommon.backoffice.listing import pagination_links |
|
40 |
from ..qommon import misc, get_logger |
|
41 |
from ..qommon.evalutils import make_datetime |
|
42 |
from ..qommon.misc import C_, ellipsize |
|
43 |
from ..qommon.afterjobs import AfterJob |
|
44 |
from ..qommon.substitution import CompatibilityNamesDict |
|
45 |
from ..qommon import emails |
|
46 |
from ..qommon import sms |
|
47 |
from ..qommon import errors |
|
48 |
from ..qommon import ods |
|
49 |
from ..qommon.form import * |
|
50 |
from ..qommon.form import PicklableUpload |
|
51 |
from ..qommon.storage import ( |
|
52 |
Equal, |
|
53 |
NotEqual, |
|
54 |
LessOrEqual, |
|
55 |
GreaterOrEqual, |
|
56 |
Or, |
|
57 |
Intersects, |
|
58 |
ILike, |
|
59 |
FtsMatch, |
|
60 |
Contains, |
|
61 |
Null, |
|
62 |
NotNull, |
|
63 |
) |
|
64 |
from ..qommon.template import Template |
|
36 |
from quixote.html import TemplateIO |
|
37 |
from quixote.html import htmlescape |
|
38 |
from quixote.html import htmltext |
|
65 | 39 | |
40 |
from wcs.admin.settings import UserFieldsFormDef |
|
66 | 41 |
from wcs.api_utils import get_user_from_api_query_string |
67 | 42 |
from wcs.carddef import CardDef |
68 |
from wcs.conditions import Condition |
|
69 |
from wcs.forms.backoffice import FormDefUI |
|
70 |
from wcs.forms.common import FormStatusPage |
|
71 |
from wcs.admin.settings import UserFieldsFormDef |
|
72 | 43 |
from wcs.categories import Category |
44 |
from wcs.conditions import Condition |
|
73 | 45 |
from wcs.formdata import FormData |
74 | 46 |
from wcs.formdef import FormDef |
47 |
from wcs.forms.backoffice import FormDefUI |
|
48 |
from wcs.forms.common import FormStatusPage |
|
75 | 49 |
from wcs.roles import logged_users_role |
76 | 50 |
from wcs.variables import LazyFieldVar |
77 |
from wcs.workflows import template_on_formdata, WorkflowStatusItem |
|
51 |
from wcs.workflows import WorkflowStatusItem |
|
52 |
from wcs.workflows import template_on_formdata |
|
78 | 53 | |
54 |
from ..qommon import N_ |
|
55 |
from ..qommon import _ |
|
56 |
from ..qommon import emails |
|
57 |
from ..qommon import errors |
|
58 |
from ..qommon import ezt |
|
59 |
from ..qommon import force_str |
|
60 |
from ..qommon import get_logger |
|
61 |
from ..qommon import misc |
|
62 |
from ..qommon import ngettext |
|
63 |
from ..qommon import ods |
|
64 |
from ..qommon import sms |
|
65 |
from ..qommon.admin.emails import EmailsDirectory |
|
66 |
from ..qommon.admin.menu import command_icon |
|
67 |
from ..qommon.afterjobs import AfterJob |
|
68 |
from ..qommon.backoffice.listing import pagination_links |
|
69 |
from ..qommon.backoffice.menu import html_top |
|
70 |
from ..qommon.evalutils import make_datetime |
|
71 |
from ..qommon.form import PicklableUpload |
|
72 |
from ..qommon.form import * |
|
73 |
from ..qommon.misc import C_ |
|
74 |
from ..qommon.misc import ellipsize |
|
75 |
from ..qommon.storage import Contains |
|
76 |
from ..qommon.storage import Equal |
|
77 |
from ..qommon.storage import FtsMatch |
|
78 |
from ..qommon.storage import GreaterOrEqual |
|
79 |
from ..qommon.storage import ILike |
|
80 |
from ..qommon.storage import Intersects |
|
81 |
from ..qommon.storage import LessOrEqual |
|
82 |
from ..qommon.storage import NotEqual |
|
83 |
from ..qommon.storage import NotNull |
|
84 |
from ..qommon.storage import Null |
|
85 |
from ..qommon.storage import Or |
|
86 |
from ..qommon.substitution import CompatibilityNamesDict |
|
87 |
from ..qommon.template import Template |
|
79 | 88 |
from .submission import FormFillPage |
80 | 89 | |
81 | 90 |
wcs/backoffice/root.py | ||
---|---|---|
15 | 15 |
# along with this program; if not, see <http://www.gnu.org/licenses/>. |
16 | 16 | |
17 | 17 |
from django.utils.translation import pgettext |
18 | ||
19 |
from quixote import get_publisher, get_request, get_response, redirect |
|
20 |
from quixote.html import TemplateIO, htmltext |
|
21 | ||
22 |
from ..qommon import _, N_ |
|
23 |
from ..qommon.backoffice import BackofficeRootDirectory |
|
24 |
from ..qommon.backoffice.menu import html_top |
|
25 | ||
26 |
from ..qommon import misc, get_cfg |
|
27 |
from ..qommon import errors |
|
28 |
from ..qommon import template |
|
29 |
from ..qommon.afterjobs import AfterJob |
|
30 |
from ..qommon.form import * |
|
31 | ||
32 |
from wcs.formdef import FormDef |
|
18 |
from quixote import get_publisher |
|
19 |
from quixote import get_request |
|
20 |
from quixote import get_response |
|
21 |
from quixote import redirect |
|
22 |
from quixote.html import TemplateIO |
|
23 |
from quixote.html import htmltext |
|
33 | 24 | |
34 | 25 |
import wcs.admin.categories |
35 | 26 |
import wcs.admin.forms |
... | ... | |
37 | 28 |
import wcs.admin.settings |
38 | 29 |
import wcs.admin.users |
39 | 30 |
import wcs.admin.workflows |
31 |
from wcs.formdef import FormDef |
|
40 | 32 | |
41 |
from . import studio |
|
33 |
from ..qommon import N_ |
|
34 |
from ..qommon import _ |
|
35 |
from ..qommon import errors |
|
36 |
from ..qommon import get_cfg |
|
37 |
from ..qommon import misc |
|
38 |
from ..qommon import template |
|
39 |
from ..qommon.afterjobs import AfterJob |
|
40 |
from ..qommon.backoffice import BackofficeRootDirectory |
|
41 |
from ..qommon.backoffice.menu import html_top |
|
42 |
from ..qommon.form import * |
|
42 | 43 |
from . import cards |
43 |
from . import submission |
|
44 |
from . import management |
|
45 | 44 |
from . import data_management |
45 |
from . import management |
|
46 |
from . import studio |
|
47 |
from . import submission |
|
46 | 48 | |
47 | 49 | |
48 | 50 |
class RootDirectory(BackofficeRootDirectory): |
wcs/backoffice/snapshots.py | ||
---|---|---|
14 | 14 |
# You should have received a copy of the GNU General Public License |
15 | 15 |
# along with this program; if not, see <http://www.gnu.org/licenses/>. |
16 | 16 | |
17 |
from quixote import get_publisher, get_response, redirect, get_session |
|
17 |
from quixote import get_publisher |
|
18 |
from quixote import get_response |
|
19 |
from quixote import get_session |
|
20 |
from quixote import redirect |
|
18 | 21 |
from quixote.directory import Directory |
19 |
from quixote.html import TemplateIO, htmltext |
|
22 |
from quixote.html import TemplateIO |
|
23 |
from quixote.html import htmltext |
|
20 | 24 | |
21 | 25 |
from wcs.blocks import BlockDef |
22 | 26 |
from wcs.carddef import CardDef |
23 | 27 |
from wcs.data_sources import NamedDataSource |
24 |
from wcs.formdef import FormDef, FormdefImportError |
|
28 |
from wcs.formdef import FormDef |
|
29 |
from wcs.formdef import FormdefImportError |
|
30 |
from wcs.qommon import _ |
|
31 |
from wcs.qommon import errors |
|
32 |
from wcs.qommon import misc |
|
33 |
from wcs.qommon import template |
|
34 |
from wcs.qommon.backoffice.menu import html_top |
|
35 |
from wcs.qommon.form import Form |
|
36 |
from wcs.qommon.form import RadiobuttonsWidget |
|
37 |
from wcs.qommon.form import StringWidget |
|
25 | 38 |
from wcs.workflows import Workflow |
26 | 39 |
from wcs.wscalls import NamedWsCall |
27 |
from wcs.qommon import _, errors, misc, template |
|
28 |
from wcs.qommon.backoffice.menu import html_top |
|
29 |
from wcs.qommon.form import Form, RadiobuttonsWidget, StringWidget |
|
30 | 40 | |
31 | 41 | |
32 | 42 |
class SnapshotsDirectory(Directory): |
wcs/backoffice/studio.py | ||
---|---|---|
16 | 16 | |
17 | 17 |
from quixote import get_publisher |
18 | 18 |
from quixote.directory import Directory |
19 |
from quixote.html import TemplateIO, htmltext |
|
19 |
from quixote.html import TemplateIO |
|
20 |
from quixote.html import htmltext |
|
20 | 21 | |
21 | 22 |
from wcs.admin.logged_errors import LoggedErrorsDirectory |
22 | 23 |
from wcs.qommon import _ |
wcs/backoffice/submission.py | ||
---|---|---|
17 | 17 |
import time |
18 | 18 | |
19 | 19 |
from django.utils.safestring import mark_safe |
20 | ||
21 |
from quixote import get_publisher, get_request, get_response, get_session, redirect |
|
20 |
from quixote import get_publisher |
|
21 |
from quixote import get_request |
|
22 |
from quixote import get_response |
|
23 |
from quixote import get_session |
|
24 |
from quixote import redirect |
|
22 | 25 |
from quixote.directory import Directory |
23 |
from quixote.html import TemplateIO, htmltext |
|
24 | ||
25 |
from ..qommon import _ |
|
26 |
from ..qommon.backoffice.menu import html_top |
|
27 |
from ..qommon.form import * |
|
28 |
from ..qommon.storage import Equal, NotEqual |
|
29 |
from ..qommon import errors, misc |
|
26 |
from quixote.html import TemplateIO |
|
27 |
from quixote.html import htmltext |
|
30 | 28 | |
29 |
from wcs.categories import Category |
|
31 | 30 |
from wcs.formdata import FormData |
32 | 31 |
from wcs.formdef import FormDef |
33 |
from wcs.categories import Category |
|
34 | 32 |
from wcs.forms.common import FormStatusPage |
35 | 33 |
from wcs.forms.root import FormPage as PublicFormFillPage |
36 | 34 | |
35 |
from ..qommon import _ |
|
36 |
from ..qommon import errors |
|
37 |
from ..qommon import misc |
|
38 |
from ..qommon.backoffice.menu import html_top |
|
39 |
from ..qommon.form import * |
|
40 |
from ..qommon.storage import Equal |
|
41 |
from ..qommon.storage import NotEqual |
|
42 | ||
37 | 43 | |
38 | 44 |
class RemoveDraftDirectory(Directory): |
39 | 45 |
def __init__(self, parent_directory): |
wcs/blocks.py | ||
---|---|---|
17 | 17 |
import uuid |
18 | 18 |
import xml.etree.ElementTree as ET |
19 | 19 | |
20 |
from quixote import get_request, get_publisher |
|
21 |
from quixote.html import htmltag, htmltext |
|
22 | ||
23 |
from .qommon import _, N_, misc |
|
24 |
from .qommon.form import CompositeWidget, WidgetList |
|
25 |
from .qommon.storage import StorableObject |
|
26 |
from .qommon.template import Template |
|
20 |
from quixote import get_publisher |
|
21 |
from quixote import get_request |
|
22 |
from quixote.html import htmltag |
|
23 |
from quixote.html import htmltext |
|
27 | 24 | |
28 | 25 |
from . import data_sources |
29 | 26 |
from . import fields |
27 |
from .qommon import N_ |
|
28 |
from .qommon import _ |
|
29 |
from .qommon import misc |
|
30 |
from .qommon.form import CompositeWidget |
|
31 |
from .qommon.form import WidgetList |
|
32 |
from .qommon.storage import StorableObject |
|
33 |
from .qommon.template import Template |
|
30 | 34 | |
31 | 35 | |
32 | 36 |
class BlockdefImportError(Exception): |
wcs/cache.py | ||
---|---|---|
14 | 14 |
# You should have received a copy of the GNU General Public License |
15 | 15 |
# along with this program; if not, see <http://www.gnu.org/licenses/>. |
16 | 16 | |
17 |
from django.core.cache.backends.base import InvalidCacheBackendError |
|
17 | 18 |
from django.core.exceptions import ImproperlyConfigured |
18 | 19 |
from django.utils.module_loading import import_string |
19 |
from django.core.cache.backends.base import InvalidCacheBackendError |
|
20 | ||
21 | 20 |
from quixote import get_publisher |
22 | 21 | |
23 | 22 |
wcs/carddef.py | ||
---|---|---|
18 | 18 |
import types |
19 | 19 | |
20 | 20 |
from quixote import get_publisher |
21 |
from .qommon import _, N_, misc |
|
22 |
from .qommon.storage import Contains, Equal, NotEqual, ILike |
|
23 |
from .qommon.template import Template |
|
24 | 21 | |
25 | 22 |
from wcs.carddata import CardData |
26 | 23 |
from wcs.categories import CardDefCategory |
27 |
from wcs.formdef import FormDef, get_formdefs_of_all_kinds |
|
24 |
from wcs.formdef import FormDef |
|
25 |
from wcs.formdef import get_formdefs_of_all_kinds |
|
26 | ||
27 |
from .qommon import N_ |
|
28 |
from .qommon import _ |
|
29 |
from .qommon import misc |
|
30 |
from .qommon.storage import Contains |
|
31 |
from .qommon.storage import Equal |
|
32 |
from .qommon.storage import ILike |
|
33 |
from .qommon.storage import NotEqual |
|
34 |
from .qommon.template import Template |
|
28 | 35 | |
29 | 36 |
if not hasattr(types, 'ClassType'): |
30 | 37 |
types.ClassType = type |
... | ... | |
89 | 96 | |
90 | 97 |
@classmethod |
91 | 98 |
def get_default_workflow(cls): |
92 |
from wcs.workflows import EditableWorkflowStatusItem, ChoiceWorkflowStatusItem, Workflow |
|
93 | 99 |
from wcs.wf.remove import RemoveWorkflowStatusItem |
100 |
from wcs.workflows import ChoiceWorkflowStatusItem |
|
101 |
from wcs.workflows import EditableWorkflowStatusItem |
|
102 |
from wcs.workflows import Workflow |
|
94 | 103 | |
95 | 104 |
workflow = Workflow(name=_('Default (cards)')) |
96 | 105 |
workflow.id = '_carddef_default' |
wcs/categories.py | ||
---|---|---|
18 | 18 |
from quixote.html import htmltext |
19 | 19 | |
20 | 20 |
from .qommon import N_ |
21 |
from .qommon.storage import StorableObject |
|
22 | 21 |
from .qommon.misc import simplify |
22 |
from .qommon.storage import StorableObject |
|
23 | 23 |
from .qommon.substitution import Substitutions |
24 | 24 |
from .qommon.xml_storage import XmlStorableObject |
25 | 25 |
wcs/compat.py | ||
---|---|---|
15 | 15 |
# along with this program; if not, see <http://www.gnu.org/licenses/>. |
16 | 16 | |
17 | 17 |
import os |
18 | ||
19 |
from threading import Lock |
|
20 | 18 |
from contextlib import contextmanager |
19 |
from threading import Lock |
|
21 | 20 | |
22 | 21 |
from django.utils.deprecation import MiddlewareMixin |
23 | ||
24 |
from quixote import get_publisher, get_request
|
|
22 |
from quixote import get_publisher |
|
23 |
from quixote import get_request |
|
25 | 24 |
from quixote.errors import PublishError |
26 | 25 |
from quixote.http_request import Upload |
27 | 26 | |
... | ... | |
30 | 29 |
except ImportError: |
31 | 30 |
sentry_sdk = None |
32 | 31 | |
33 |
from django.http import HttpResponse |
|
34 | 32 |
from django.conf import settings |
35 |
from django.template import loader, TemplateDoesNotExist |
|
33 |
from django.http import HttpResponse |
|
34 |
from django.template import TemplateDoesNotExist |
|
35 |
from django.template import loader |
|
36 | 36 |
from django.template.response import TemplateResponse |
37 | 37 |
from django.views.generic.base import TemplateView |
38 | 38 | |
39 |
from .qommon import force_str, template |
|
40 |
from .qommon.publisher import get_cfg, set_publisher_class |
|
41 | 39 |
from .publisher import WcsPublisher |
40 |
from .qommon import force_str |
|
41 |
from .qommon import template |
|
42 | 42 |
from .qommon.http_request import HTTPRequest |
43 |
from .qommon.publisher import get_cfg |
|
44 |
from .qommon.publisher import set_publisher_class |
|
43 | 45 | |
44 | 46 | |
45 | 47 |
def can_sentry(): |
wcs/conditions.py | ||
---|---|---|
14 | 14 |
# You should have received a copy of the GNU General Public License |
15 | 15 |
# along with this program; if not, see <http://www.gnu.org/licenses/>. |
16 | 16 | |
17 |
from quixote import get_publisher |
|
18 |
from django.template import Context, Template, TemplateSyntaxError |
|
19 | 17 |
import django.template.smartif |
18 |
from django.template import Context |
|
19 |
from django.template import Template |
|
20 |
from django.template import TemplateSyntaxError |
|
20 | 21 |
from django.utils.encoding import force_text |
22 |
from quixote import get_publisher |
|
21 | 23 | |
22 |
from .qommon import _, get_logger, force_str |
|
24 |
from .qommon import _ |
|
25 |
from .qommon import force_str |
|
26 |
from .qommon import get_logger |
|
23 | 27 | |
24 | 28 | |
25 | 29 |
class ValidationError(ValueError): |
wcs/context_processors.py | ||
---|---|---|
14 | 14 |
# You should have received a copy of the GNU General Public License |
15 | 15 |
# along with this program; if not, see <http://www.gnu.org/licenses/>. |
16 | 16 | |
17 |
from quixote import get_publisher, get_response, get_request, get_session |
|
17 |
from quixote import get_publisher |
|
18 |
from quixote import get_request |
|
19 |
from quixote import get_response |
|
20 |
from quixote import get_session |
|
18 | 21 | |
19 | 22 | |
20 | 23 |
def get_global_context(): |
wcs/ctl/backup.py | ||
---|---|---|
14 | 14 |
# You should have received a copy of the GNU General Public License |
15 | 15 |
# along with this program; if not, see <http://www.gnu.org/licenses/>. |
16 | 16 | |
17 |
import os |
|
17 | 18 |
import tarfile |
18 | 19 |
import time |
19 |
import os |
|
20 | 20 | |
21 |
from ..qommon.ctl import Command, make_option |
|
21 |
from ..qommon.ctl import Command |
|
22 |
from ..qommon.ctl import make_option |
|
22 | 23 | |
23 | 24 | |
24 | 25 |
class CmdBackup(Command): |
wcs/ctl/check_hobos.py | ||
---|---|---|
17 | 17 |
from __future__ import print_function |
18 | 18 | |
19 | 19 |
import configparser |
20 |
import hashlib |
|
20 | 21 |
import json |
21 | 22 |
import os |
22 | 23 |
import random |
23 | 24 |
import sys |
24 | 25 |
import tempfile |
25 |
import hashlib |
|
26 | 26 |
import urllib.parse |
27 | 27 | |
28 |
from django.utils.encoding import force_bytes, force_text
|
|
29 | ||
28 |
from django.utils.encoding import force_bytes |
|
29 |
from django.utils.encoding import force_text |
|
30 | 30 |
from quixote import cleanup |
31 | ||
32 |
from wcs.admin.settings import UserFieldsFormDef |
|
33 |
from wcs.fields import DateField |
|
34 |
from wcs.fields import EmailField |
|
35 |
from wcs.fields import StringField |
|
31 | 36 |
from wcs.qommon import force_str |
37 | ||
32 | 38 |
from ..qommon import misc |
33 |
from ..qommon.ctl import Command, make_option |
|
39 |
from ..qommon.ctl import Command |
|
40 |
from ..qommon.ctl import make_option |
|
34 | 41 |
from ..qommon.storage import atomic_write |
35 | 42 | |
36 |
from wcs.admin.settings import UserFieldsFormDef |
|
37 |
from wcs.fields import StringField, EmailField, DateField |
|
38 | ||
39 | 43 | |
40 | 44 |
class NoChange(Exception): |
41 | 45 |
pass |
wcs/ctl/delete_tenant.py | ||
---|---|---|
18 | 18 | |
19 | 19 |
import os |
20 | 20 |
import sys |
21 |
import psycopg2 |
|
22 |
import psycopg2.errorcodes |
|
23 | 21 |
from datetime import datetime |
24 | 22 |
from shutil import rmtree |
25 | 23 | |
26 |
from ..qommon.ctl import Command, make_option |
|
24 |
import psycopg2 |
|
25 |
import psycopg2.errorcodes |
|
26 | ||
27 |
from ..qommon.ctl import Command |
|
28 |
from ..qommon.ctl import make_option |
|
27 | 29 | |
28 | 30 | |
29 | 31 |
class CmdDeleteTenant(Command): |
wcs/ctl/hobo_notify.py | ||
---|---|---|
14 | 14 |
# You should have received a copy of the GNU General Public License |
15 | 15 |
# along with this program; if not, see <http://www.gnu.org/licenses/>. |
16 | 16 | |
17 |
import json |
|
17 | 18 |
import os |
18 | 19 |
import sys |
19 |
import json |
|
20 | 20 | |
21 | 21 |
from quixote import get_publisher |
22 |
from ..qommon.ctl import Command |
|
23 |
from ..qommon.publisher import get_cfg |
|
22 | ||
24 | 23 |
from wcs.admin.settings import UserFieldsFormDef |
25 | 24 |
from wcs.qommon import force_str |
26 | 25 |
from wcs.qommon.misc import json_encode_helper |
27 | 26 | |
27 |
from ..qommon.ctl import Command |
|
28 |
from ..qommon.publisher import get_cfg |
|
29 | ||
28 | 30 | |
29 | 31 |
class CmdHoboNotify(Command): |
30 | 32 |
name = 'hobo_notify' |
wcs/ctl/management/commands/__init__.py | ||
---|---|---|
16 | 16 | |
17 | 17 |
import os |
18 | 18 | |
19 |
from django.core.management.base import BaseCommand, CommandError |
|
19 |
from django.core.management.base import BaseCommand |
|
20 |
from django.core.management.base import CommandError |
|
20 | 21 | |
21 | 22 |
from wcs.qommon.publisher import get_publisher_class |
22 | 23 |
wcs/ctl/management/commands/convert_to_sql.py | ||
---|---|---|
17 | 17 |
import io |
18 | 18 |
import os |
19 | 19 |
import sys |
20 |
import psycopg2 |
|
21 | 20 |
import traceback |
22 | 21 | |
23 |
from django.utils.encoding import force_bytes |
|
22 |
import psycopg2 |
|
24 | 23 |
from django.core.management.base import BaseCommand |
25 | 24 |
from django.core.management.base import CommandError |
26 | ||
27 |
from wcs.qommon.publisher import get_publisher_class |
|
25 |
from django.utils.encoding import force_bytes |
|
28 | 26 | |
29 | 27 |
from wcs import sql |
30 | 28 |
from wcs.formdef import FormDef |
31 | 29 |
from wcs.qommon.misc import localstrftime |
30 |
from wcs.qommon.publisher import get_publisher_class |
|
32 | 31 |
from wcs.qommon.storage import atomic_write |
33 | 32 |
from wcs.users import User |
34 | 33 |
wcs/ctl/management/commands/import_site.py | ||
---|---|---|
18 | 18 | |
19 | 19 |
from django.core.management.base import CommandError |
20 | 20 | |
21 |
from wcs.formdef import FormDef |
|
22 | 21 |
from wcs.categories import Category |
22 |
from wcs.formdef import FormDef |
|
23 | 23 |
from wcs.workflows import Workflow |
24 | 24 | |
25 | 25 |
from . import TenantCommand |
wcs/ctl/management/commands/runjob.py | ||
---|---|---|
16 | 16 | |
17 | 17 |
import sys |
18 | 18 | |
19 |
from quixote import get_publisher |
|
20 | 19 |
from django.core.management import CommandError |
20 |
from quixote import get_publisher |
|
21 | 21 | |
22 | 22 |
from wcs.qommon.http_response import AfterJob |
23 | ||
23 | 24 |
from . import TenantCommand |
24 | 25 | |
25 | 26 |
wcs/ctl/management/commands/shell.py | ||
---|---|---|
15 | 15 |
# along with this program; if not, see <http://www.gnu.org/licenses/>. |
16 | 16 | |
17 | 17 |
from django.core.management.commands import shell |
18 | ||
18 | 19 |
from . import TenantCommand |
19 | 20 | |
20 | 21 |
wcs/ctl/management/commands/trigger_jumps.py | ||
---|---|---|
17 | 17 |
import json |
18 | 18 | |
19 | 19 |
from django.core.management.base import CommandError |
20 | ||
21 | 20 |
from quixote import get_publisher |
22 | 21 | |
23 | 22 |
from wcs.formdef import FormDef |
23 |
from wcs.wf.jump import JumpWorkflowStatusItem |
|
24 |
from wcs.wf.jump import jump_and_perform as wcs_jump_and_perform |
|
24 | 25 |
from wcs.workflows import Workflow |
25 |
from wcs.wf.jump import JumpWorkflowStatusItem, jump_and_perform as wcs_jump_and_perform |
|
26 | 26 | |
27 | 27 |
from . import TenantCommand |
28 | 28 |
wcs/ctl/rebuild_indexes.py | ||
---|---|---|
16 | 16 | |
17 | 17 |
import os |
18 | 18 | |
19 |
from ..qommon.ctl import Command, make_option |
|
19 |
from ..qommon.ctl import Command |
|
20 |
from ..qommon.ctl import make_option |
|
20 | 21 | |
21 | 22 | |
22 | 23 |
def rebuild_vhost_indexes(pub, destroy=False): |
wcs/ctl/restore.py | ||
---|---|---|
16 | 16 | |
17 | 17 |
from __future__ import print_function |
18 | 18 | |
19 |
import os |
|
19 | 20 |
import sys |
20 | 21 |
import tarfile |
21 |
import os |
|
22 | 22 | |
23 |
from ..qommon.ctl import Command, make_option |
|
23 |
from ..qommon.ctl import Command |
|
24 |
from ..qommon.ctl import make_option |
|
24 | 25 | |
25 | 26 | |
26 | 27 |
class CmdRestore(Command): |
wcs/ctl/runscript.py | ||
---|---|---|
16 | 16 | |
17 | 17 |
import os.path |
18 | 18 |
import runpy |
19 |
import warnings |
|
20 | 19 |
import sys |
20 |
import warnings |
|
21 | 21 | |
22 |
from ..qommon.ctl import Command, make_option |
|
22 |
from ..qommon.ctl import Command |
|
23 |
from ..qommon.ctl import make_option |
|
23 | 24 | |
24 | 25 | |
25 | 26 |
class CmdRunScript(Command): |
wcs/ctl/wipe_data.py | ||
---|---|---|
19 | 19 |
import os |
20 | 20 |
import sys |
21 | 21 | |
22 |
from ..qommon.ctl import Command, make_option |
|
22 |
from ..qommon.ctl import Command |
|
23 |
from ..qommon.ctl import make_option |
|
23 | 24 | |
24 | 25 | |
25 | 26 |
class CmdWipeData(Command): |
wcs/custom_views.py | ||
---|---|---|
22 | 22 | |
23 | 23 |
from wcs.carddef import CardDef |
24 | 24 |
from wcs.formdef import FormDef |
25 |
from wcs.qommon.storage import StorableObject, Equal, Contains |
|
26 | 25 |
from wcs.qommon.misc import simplify |
26 |
from wcs.qommon.storage import Contains |
|
27 |
from wcs.qommon.storage import Equal |
|
28 |
from wcs.qommon.storage import StorableObject |
|
29 | ||
27 | 30 |
from .qommon.misc import xml_node_text |
28 | 31 | |
29 | 32 |
wcs/data_sources.py | ||
---|---|---|
20 | 20 |
import urllib.parse |
21 | 21 |
import xml.etree.ElementTree as ET |
22 | 22 | |
23 |
from django.template import TemplateSyntaxError, VariableDoesNotExist |
|
24 |
from django.utils.encoding import force_text, force_bytes |
|
25 | ||
26 |
from quixote import get_publisher, get_request, get_session |
|
23 |
from django.template import TemplateSyntaxError |
|
24 |
from django.template import VariableDoesNotExist |
|
25 |
from django.utils.encoding import force_bytes |
|
26 |
from django.utils.encoding import force_text |
|
27 |
from quixote import get_publisher |
|
28 |
from quixote import get_request |
|
29 |
from quixote import get_session |
|
27 | 30 |
from quixote.html import TemplateIO |
28 | 31 | |
29 |
from .qommon import _, N_, force_str |
|
30 |
from .qommon import misc |
|
32 |
from .api_utils import sign_url_auto_orig |
|
33 |
from .qommon import N_ |
|
34 |
from .qommon import _ |
|
35 |
from .qommon import force_str |
|
31 | 36 |
from .qommon import get_logger |
37 |
from .qommon import misc |
|
38 |
from .qommon.afterjobs import AfterJob |
|
32 | 39 |
from .qommon.cron import CronJob |
33 | 40 |
from .qommon.form import * |
34 | 41 |
from .qommon.humantime import seconds2humanduration |
35 | 42 |
from .qommon.misc import get_variadic_url |
36 | 43 |
from .qommon.publisher import get_publisher_class |
37 |
from .qommon.afterjobs import AfterJob |
|
38 | 44 |
from .qommon.storage import StorableObject |
39 | 45 |
from .qommon.template import Template |
40 | 46 |
from .qommon.xml_storage import XmlStorableObject |
41 | 47 | |
42 |
from .api_utils import sign_url_auto_orig |
|
43 | ||
44 | ||
45 | 48 |
data_source_functions = {} |
46 | 49 | |
47 | 50 |
wcs/fields.py | ||
---|---|---|
16 | 16 |
# You should have received a copy of the GNU General Public License |
17 | 17 |
# along with this program; if not, see <http://www.gnu.org/licenses/>. |
18 | 18 | |
19 |
import base64 |
|
20 |
import collections |
|
19 | 21 |
import copy |
20 | 22 |
import datetime |
21 | 23 |
import html |
22 | 24 |
import os |
23 |
import time |
|
24 | 25 |
import random |
25 | 26 |
import re |
26 | 27 |
import sys |
27 |
import base64
|
|
28 |
import time
|
|
28 | 29 |
import xml.etree.ElementTree as ET |
29 |
import collections |
|
30 | ||
31 |
from quixote import get_request, get_publisher |
|
32 |
from quixote.html import htmltag, htmltext, TemplateIO |
|
33 | 30 | |
34 |
from django.utils.encoding import force_bytes, force_text, smart_text |
|
31 |
from django.utils.encoding import force_bytes |
|
32 |
from django.utils.encoding import force_text |
|
33 |
from django.utils.encoding import smart_text |
|
35 | 34 |
from django.utils.formats import date_format as django_date_format |
36 | 35 |
from django.utils.html import urlize |
37 | ||
38 |
from .qommon import _, N_, force_str |
|
39 |
from .qommon import evalutils |
|
40 |
from .qommon.form import * |
|
41 |
from .qommon.misc import ( |
|
42 |
strftime, |
|
43 |
date_format, |
|
44 |
ellipsize, |
|
45 |
xml_node_text, |
|
46 |
get_as_datetime, |
|
47 |
get_document_types, |
|
48 |
get_document_type_value_options, |
|
49 |
) |
|
50 |
from .qommon.ods import NS as OD_NS, clean_text as od_clean_text |
|
51 |
from .qommon.template import Template, TemplateError |
|
52 |
from .qommon import get_cfg |
|
36 |
from quixote import get_publisher |
|
37 |
from quixote import get_request |
|
38 |
from quixote.html import TemplateIO |
|
39 |
from quixote.html import htmltag |
|
40 |
from quixote.html import htmltext |
|
53 | 41 | |
54 | 42 |
from . import data_sources |
55 | 43 |
from . import portfolio |
44 |
from .blocks import BlockDef |
|
45 |
from .blocks import BlockWidget |
|
56 | 46 |
from .conditions import Condition |
57 |
from .blocks import BlockDef, BlockWidget |
|
47 |
from .qommon import N_ |
|
48 |
from .qommon import _ |
|
49 |
from .qommon import evalutils |
|
50 |
from .qommon import force_str |
|
51 |
from .qommon import get_cfg |
|
52 |
from .qommon.form import * |
|
53 |
from .qommon.misc import date_format |
|
54 |
from .qommon.misc import ellipsize |
|
55 |
from .qommon.misc import get_as_datetime |
|
56 |
from .qommon.misc import get_document_type_value_options |
|
57 |
from .qommon.misc import get_document_types |
|
58 |
from .qommon.misc import strftime |
|
59 |
from .qommon.misc import xml_node_text |
|
60 |
from .qommon.ods import NS as OD_NS |
|
61 |
from .qommon.ods import clean_text as od_clean_text |
|
62 |
from .qommon.template import Template |
|
63 |
from .qommon.template import TemplateError |
|
58 | 64 | |
59 | 65 | |
60 | 66 |
class PrefillSelectionWidget(CompositeWidget): |
wcs/formdata.py | ||
---|---|---|
22 | 22 |
import sys |
23 | 23 |
import time |
24 | 24 | |
25 |
from quixote import get_request, get_publisher, get_session |
|
25 |
from quixote import get_publisher |
|
26 |
from quixote import get_request |
|
27 |
from quixote import get_session |
|
26 | 28 |
from quixote.http_request import Upload |
27 | 29 | |
28 |
from .qommon import _, N_ |
|
29 |
from .qommon.storage import StorableObject, Intersects, Contains, Null |
|
30 |
from .fields import FileField |
|
31 |
from .qommon import N_ |
|
32 |
from .qommon import _ |
|
30 | 33 |
from .qommon import misc |
31 | 34 |
from .qommon.evalutils import make_datetime |
32 | 35 |
from .qommon.publisher import get_cfg |
33 |
from .qommon.substitution import Substitutions, invalidate_substitution_cache |
|
36 |
from .qommon.storage import Contains |
|
37 |
from .qommon.storage import Intersects |
|
38 |
from .qommon.storage import Null |
|
39 |
from .qommon.storage import StorableObject |
|
40 |
from .qommon.substitution import Substitutions |
|
41 |
from .qommon.substitution import invalidate_substitution_cache |
|
34 | 42 |
from .qommon.template import Template |
35 | 43 | |
36 |
from .fields import FileField |
|
37 | ||
38 | 44 | |
39 | 45 |
def get_dict_with_varnames(fields, data, formdata=None, varnames_only=False): |
40 | 46 |
new_data = {} |
... | ... | |
910 | 916 |
return LazyFormData(self) |
911 | 917 | |
912 | 918 |
def get_substitution_variables(self, minimal=False): |
913 |
from .qommon.substitution import CompatibilityNamesDict |
|
914 | 919 |
from wcs.workflows import AttachmentsSubstitutionProxy |
915 | 920 | |
921 |
from .qommon.substitution import CompatibilityNamesDict |
|
922 | ||
916 | 923 |
variables = CompatibilityNamesDict( |
917 | 924 |
{ |
918 | 925 |
'form': self.get_as_lazy(), |
... | ... | |
1296 | 1303 |
def iter_target_datas(self, objectdef=None, object_type=None, status_item=None): |
1297 | 1304 |
# objectdef, object_type and status_item are provided when called from a workflow action |
1298 | 1305 |
from wcs.wf.create_formdata import LinkedFormdataEvolutionPart |
1306 | ||
1299 | 1307 |
from .carddef import CardDef |
1300 | 1308 |
from .formdef import FormDef |
1301 | 1309 |
wcs/formdef.py | ||
---|---|---|
16 | 16 | |
17 | 17 |
import base64 |
18 | 18 |
import copy |
19 |
import datetime |
|
19 | 20 |
import glob |
20 | 21 |
import itertools |
22 |
import json |
|
21 | 23 |
import pickle |
22 | 24 |
import sys |
23 | 25 |
import time |
24 | 26 |
import types |
25 |
import json |
|
26 | 27 |
import xml.etree.ElementTree as ET |
27 |
import datetime |
|
28 | ||
29 |
from django.utils.encoding import force_bytes, force_text |
|
30 | 28 | |
31 |
from quixote import get_request, get_publisher |
|
29 |
from django.utils.encoding import force_bytes |
|
30 |
from django.utils.encoding import force_text |
|
31 |
from quixote import get_publisher |
|
32 |
from quixote import get_request |
|
32 | 33 |
from quixote.http_request import Upload |
33 | 34 | |
34 |
from .qommon import _, N_, force_str, PICKLE_KWARGS |
|
35 |
from .qommon.storage import StorableObject, fix_key, Equal |
|
35 |
from . import data_sources |
|
36 |
from . import fields |
|
37 |
from .categories import Category |
|
38 |
from .formdata import FormData |
|
39 |
from .qommon import N_ |
|
40 |
from .qommon import PICKLE_KWARGS |
|
41 |
from .qommon import _ |
|
42 |
from .qommon import force_str |
|
43 |
from .qommon import get_cfg |
|
36 | 44 |
from .qommon.cron import CronJob |
37 | 45 |
from .qommon.form import * |
38 |
from .qommon.misc import simplify, get_as_datetime, xml_node_text
|
|
39 |
from .qommon import get_cfg
|
|
40 |
from .qommon.substitution import Substitutions
|
|
46 |
from .qommon.misc import get_as_datetime
|
|
47 |
from .qommon.misc import simplify
|
|
48 |
from .qommon.misc import xml_node_text
|
|
41 | 49 |
from .qommon.publisher import get_publisher_class |
42 | ||
43 |
from .formdata import FormData |
|
50 |
from .qommon.storage import Equal |
|
51 |
from .qommon.storage import StorableObject |
|
52 |
from .qommon.storage import fix_key |
|
53 |
from .qommon.substitution import Substitutions |
|
44 | 54 |
from .roles import logged_users_role |
45 |
from .categories import Category |
|
46 |
from . import fields |
|
47 |
from . import data_sources |
|
48 | 55 | |
49 | 56 |
DRAFTS_DEFAULT_LIFESPAN = 100 # days |
50 | 57 | |
... | ... | |
1358 | 1365 |
return d |
1359 | 1366 | |
1360 | 1367 |
def get_substitution_variables(self, minimal=False): |
1361 |
from .qommon.substitution import CompatibilityNamesDict |
|
1362 | 1368 |
from wcs.variables import LazyFormDef |
1363 | 1369 | |
1370 |
from .qommon.substitution import CompatibilityNamesDict |
|
1371 | ||
1364 | 1372 |
return CompatibilityNamesDict({'form': LazyFormDef(self)}) |
1365 | 1373 | |
1366 | 1374 |
def get_detailed_evolution(self, formdata): |
... | ... | |
1764 | 1772 | |
1765 | 1773 | |
1766 | 1774 |
def get_formdefs_of_all_kinds(): |
1775 |
from wcs.admin.settings import UserFieldsFormDef |
|
1767 | 1776 |
from wcs.blocks import BlockDef |
1768 | 1777 |
from wcs.carddef import CardDef |
1769 | 1778 |
from wcs.wf.form import FormWorkflowStatusItem |
1770 |
from wcs.admin.settings import UserFieldsFormDef |
|
1771 | 1779 |
from wcs.workflows import Workflow |
1772 | 1780 | |
1773 | 1781 |
kwargs = { |
wcs/forms/actions.py | ||
---|---|---|
17 | 17 |
from quixote import redirect |
18 | 18 |
from quixote.directory import Directory |
19 | 19 | |
20 |
from wcs.formdef import FormDef |
|
21 |
from wcs.forms.common import FormTemplateMixin |
|
22 |
from wcs.wf.jump import jump_and_perform |
|
23 | ||
20 | 24 |
from ..qommon import N_ |
21 | 25 |
from ..qommon import errors |
22 | 26 |
from ..qommon import misc |
... | ... | |
24 | 28 |
from ..qommon import tokens |
25 | 29 |
from ..qommon.form import Form |
26 | 30 | |
27 |
from wcs.formdef import FormDef |
|
28 |
from wcs.forms.common import FormTemplateMixin |
|
29 |
from wcs.wf.jump import jump_and_perform |
|
30 | ||
31 | 31 | |
32 | 32 |
class MissingOrExpiredToken(errors.PublishError): |
33 | 33 |
status_code = 404 |
wcs/forms/backoffice.py | ||
---|---|---|
16 | 16 | |
17 | 17 |
import urllib.parse |
18 | 18 | |
19 |
from quixote import get_request, get_publisher, get_session, redirect |
|
20 |
from quixote.html import htmltext, TemplateIO |
|
19 |
from quixote import get_publisher |
|
20 |
from quixote import get_request |
|
21 |
from quixote import get_session |
|
22 |
from quixote import redirect |
|
23 |
from quixote.html import TemplateIO |
|
24 |
from quixote.html import htmltext |
|
25 | ||
26 |
from wcs.qommon.storage import Null |
|
27 |
from wcs.roles import logged_users_role |
|
21 | 28 | |
22 | 29 |
from ..qommon import _ |
23 | 30 |
from ..qommon import misc |
24 |
from ..qommon.form import * |
|
25 | 31 |
from ..qommon.backoffice.listing import pagination_links |
26 |
from wcs.qommon.storage import Null |
|
27 |
from wcs.roles import logged_users_role |
|
32 |
from ..qommon.form import * |
|
28 | 33 | |
29 | 34 | |
30 | 35 |
class FormDefUI(object): |
wcs/forms/common.py | ||
---|---|---|
17 | 17 |
import time |
18 | 18 |
import urllib.parse |
19 | 19 | |
20 |
from quixote import get_publisher, get_request, get_response, get_session, redirect |
|
20 |
from quixote import get_publisher |
|
21 |
from quixote import get_request |
|
22 |
from quixote import get_response |
|
23 |
from quixote import get_session |
|
24 |
from quixote import redirect |
|
21 | 25 |
from quixote.directory import Directory |
22 |
from quixote.html import TemplateIO, htmltext |
|
26 |
from quixote.html import TemplateIO |
|
27 |
from quixote.html import htmltext |
|
23 | 28 |
from quixote.util import randbytes |
24 | 29 | |
25 | 30 |
from wcs import data_sources |
26 |
from wcs.blocks import BlockWidget, BlockSubWidget |
|
27 |
from wcs.api_utils import get_user_from_api_query_string, is_url_signed, sign_url_auto_orig |
|
28 |
from wcs.fields import WidgetField, FileField |
|
31 |
from wcs.api_utils import get_user_from_api_query_string |
|
32 |
from wcs.api_utils import is_url_signed |
|
33 |
from wcs.api_utils import sign_url_auto_orig |
|
34 |
from wcs.blocks import BlockSubWidget |
|
35 |
from wcs.blocks import BlockWidget |
|
36 |
from wcs.fields import FileField |
|
37 |
from wcs.fields import WidgetField |
|
38 |
from wcs.qommon.admin.texts import TextsDirectory |
|
29 | 39 |
from wcs.workflows import EditableWorkflowStatusItem |
30 | 40 | |
31 | 41 |
from ..qommon import _ |
42 |
from ..qommon import errors |
|
43 |
from ..qommon import get_logger |
|
32 | 44 |
from ..qommon import misc |
33 | 45 |
from ..qommon import template |
34 |
from ..qommon import get_logger |
|
35 | 46 |
from ..qommon.form import * |
36 | 47 | |
37 |
from wcs.qommon.admin.texts import TextsDirectory |
|
38 | ||
39 |
from ..qommon import errors |
|
40 | ||
41 | 48 | |
42 | 49 |
class FileDirectory(Directory): |
43 | 50 |
_q_exports = [] |
wcs/forms/preview.py | ||
---|---|---|
15 | 15 |
# along with this program; if not, see <http://www.gnu.org/licenses/>. |
16 | 16 | |
17 | 17 |
from quixote import get_publisher |
18 |
from quixote.directory import Directory, AccessControlled |
|
19 |
from quixote.html import htmltext, TemplateIO |
|
20 |
from ..qommon import errors, _ |
|
18 |
from quixote.directory import AccessControlled |
|
19 |
from quixote.directory import Directory |
|
20 |
from quixote.html import TemplateIO |
|
21 |
from quixote.html import htmltext |
|
21 | 22 | |
23 |
from ..qommon import _ |
|
24 |
from ..qommon import errors |
|
22 | 25 |
from .root import FormPage |
23 | 26 | |
24 | 27 |
wcs/forms/root.py | ||
---|---|---|
24 | 24 |
except ImportError: |
25 | 25 |
qrcode = None |
26 | 26 | |
27 |
import ratelimit.utils |
|
27 | 28 |
from django.utils.http import quote |
28 | 29 |
from django.utils.safestring import mark_safe |
29 | ||
30 |
import ratelimit.utils |
|
31 | ||
32 |
from quixote import get_publisher, get_request, get_response, get_session, get_session_manager, redirect |
|
33 |
from quixote.directory import Directory, AccessControlled |
|
34 |
from quixote.util import randbytes |
|
30 |
from quixote import get_publisher |
|
31 |
from quixote import get_request |
|
32 |
from quixote import get_response |
|
33 |
from quixote import get_session |
|
34 |
from quixote import get_session_manager |
|
35 |
from quixote import redirect |
|
36 |
from quixote.directory import AccessControlled |
|
37 |
from quixote.directory import Directory |
|
35 | 38 |
from quixote.form.widget import * |
36 |
from quixote.html import TemplateIO, htmltext |
|
37 | ||
38 |
from ..qommon import _, N_ |
|
39 |
from ..qommon.admin.emails import EmailsDirectory |
|
40 |
from ..qommon import errors, get_cfg |
|
41 |
from ..qommon import misc, get_logger |
|
42 |
from ..qommon import template |
|
43 |
from ..qommon.form import * |
|
44 |
from ..qommon import emails |
|
39 |
from quixote.html import TemplateIO |
|
40 |
from quixote.html import htmltext |
|
41 |
from quixote.util import randbytes |
|
45 | 42 | |
46 | 43 |
from wcs.categories import Category |
47 |
from wcs.formdef import FormDef |
|
48 | 44 |
from wcs.formdata import FormData |
45 |
from wcs.formdef import FormDef |
|
49 | 46 |
from wcs.forms.common import FormTemplateMixin |
50 |
from wcs.variables import LazyFormDef
|
|
47 |
from wcs.qommon.admin.texts import TextsDirectory
|
|
51 | 48 |
from wcs.roles import logged_users_role |
52 |
from wcs.workflows import Workflow, WorkflowBackofficeFieldsFormDef |
|
49 |
from wcs.variables import LazyFormDef |
|
50 |
from wcs.workflows import Workflow |
|
51 |
from wcs.workflows import WorkflowBackofficeFieldsFormDef |
|
53 | 52 | |
54 |
from wcs.qommon.admin.texts import TextsDirectory |
|
53 |
from ..qommon import N_ |
|
54 |
from ..qommon import _ |
|
55 |
from ..qommon import emails |
|
56 |
from ..qommon import errors |
|
57 |
from ..qommon import get_cfg |
|
58 |
from ..qommon import get_logger |
|
59 |
from ..qommon import misc |
|
60 |
from ..qommon import template |
|
61 |
from ..qommon.admin.emails import EmailsDirectory |
|
62 |
from ..qommon.form import * |
|
55 | 63 | |
56 | 64 | |
57 | 65 |
class SubmittedDraftException(Exception): |
wcs/forms/workflows.py | ||
---|---|---|
16 | 16 | |
17 | 17 |
import json |
18 | 18 | |
19 |
from quixote import get_request, get_response |
|
19 |
from quixote import get_request |
|
20 |
from quixote import get_response |
|
20 | 21 |
from quixote.directory import Directory |
21 | 22 | |
22 |
from ..qommon import errors |
|
23 | ||
24 |
from wcs.api import get_user_from_api_query_string, is_url_signed |
|
23 |
from wcs.api import get_user_from_api_query_string |
|
24 |
from wcs.api import is_url_signed |
|
25 | 25 |
from wcs.roles import logged_users_role |
26 |
from wcs.workflows import WorkflowGlobalActionWebserviceTrigger, perform_items |
|
26 |
from wcs.workflows import WorkflowGlobalActionWebserviceTrigger |
|
27 |
from wcs.workflows import perform_items |
|
28 | ||
29 |
from ..qommon import errors |
|
27 | 30 | |
28 | 31 | |
29 | 32 |
class HookDirectory(Directory): |
wcs/logged_errors.py | ||
---|---|---|
16 | 16 | |
17 | 17 |
import datetime |
18 | 18 | |
19 |
from .qommon.misc import simplify |
|
20 | 19 |
from wcs.carddef import CardDef |
21 | 20 |
from wcs.formdef import FormDef |
22 | 21 |
from wcs.workflows import Workflow |
23 | 22 | |
23 |
from .qommon.misc import simplify |
|
24 | ||
24 | 25 | |
25 | 26 |
class LoggedError(object): |
26 | 27 |
_names = 'logged-errors' |
wcs/mail_templates.py | ||
---|---|---|
14 | 14 |
# You should have received a copy of the GNU General Public License |
15 | 15 |
# along with this program; if not, see <http://www.gnu.org/licenses/>. |
16 | 16 | |
17 |
from wcs.qommon import misc, get_logger |
|
17 |
from wcs.qommon import get_logger |
|
18 |
from wcs.qommon import misc |
|
18 | 19 |
from wcs.qommon.xml_storage import XmlStorableObject |
19 | 20 | |
20 | 21 |
wcs/middleware.py | ||
---|---|---|
19 | 19 |
import time |
20 | 20 |
import urllib.parse |
21 | 21 | |
22 |
from django.http import HttpResponseBadRequest, HttpResponseRedirect |
|
22 |
from django.http import HttpResponseBadRequest |
|
23 |
from django.http import HttpResponseRedirect |
|
23 | 24 |
from django.utils.deprecation import MiddlewareMixin |
24 | ||
25 | 25 |
from quixote import get_publisher |
26 | 26 |
from quixote.errors import RequestError |
27 |
from .qommon.publisher import ImmediateRedirectException |
|
27 | ||
28 |
from .compat import CompatHTTPRequest |
|
29 |
from .compat import CompatWcsPublisher |
|
28 | 30 |
from .qommon.http_response import HTTPResponse |
29 |
from .compat import CompatHTTPRequest, CompatWcsPublisher
|
|
31 |
from .qommon.publisher import ImmediateRedirectException
|
|
30 | 32 | |
31 | 33 | |
32 | 34 |
class PublisherInitialisationMiddleware(MiddlewareMixin): |
wcs/monkeypatch.py | ||
---|---|---|
20 | 20 | |
21 | 21 |
import django.template.base |
22 | 22 |
import django.template.defaulttags |
23 | ||
24 | 23 |
import quixote |
25 | 24 |
import quixote.publish |
26 | 25 |
wcs/myspace.py | ||
---|---|---|
14 | 14 |
# You should have received a copy of the GNU General Public License |
15 | 15 |
# along with this program; if not, see <http://www.gnu.org/licenses/>. |
16 | 16 | |
17 |
from quixote import get_request, redirect |
|
17 |
from quixote import get_request |
|
18 |
from quixote import redirect |
|
19 | ||
18 | 20 |
from .qommon import myspace |
19 | 21 | |
20 | 22 |
wcs/portfolio.py | ||
---|---|---|
14 | 14 |
# You should have received a copy of the GNU General Public License |
15 | 15 |
# along with this program; if not, see <http://www.gnu.org/licenses/>. |
16 | 16 | |
17 |
import json |
|
18 |
import hashlib |
|
19 | 17 |
import base64 |
18 |
import hashlib |
|
19 |
import json |
|
20 | 20 |
import urllib.parse |
21 | 21 | |
22 | 22 |
from django.utils.encoding import force_text |
23 | ||
24 |
from .qommon import N_, get_logger |
|
25 |
from .qommon.misc import http_get_page, json_loads, http_post_request, urlopen |
|
26 |
from quixote import get_publisher, get_request, get_response, redirect, get_session |
|
23 |
from quixote import get_publisher |
|
24 |
from quixote import get_request |
|
25 |
from quixote import get_response |
|
26 |
from quixote import get_session |
|
27 |
from quixote import redirect |
|
27 | 28 |
from quixote.directory import Directory |
28 |
from quixote.html import TemplateIO, htmltext |
|
29 | ||
30 |
from wcs.api_utils import get_secret_and_orig, sign_url |
|
29 |
from quixote.html import TemplateIO |
|
30 |
from quixote.html import htmltext |
|
31 | ||
32 |
from wcs.api_utils import get_secret_and_orig |
|
33 |
from wcs.api_utils import sign_url |
|
34 | ||
35 |
from .qommon import N_ |
|
36 |
from .qommon import get_logger |
|
37 |
from .qommon.misc import http_get_page |
|
38 |
from .qommon.misc import http_post_request |
|
39 |
from .qommon.misc import json_loads |
|
40 |
from .qommon.misc import urlopen |
|
31 | 41 | |
32 | 42 | |
33 | 43 |
def has_portfolio(): |
wcs/publisher.py | ||
---|---|---|
14 | 14 |
# You should have received a copy of the GNU General Public License |
15 | 15 |
# along with this program; if not, see <http://www.gnu.org/licenses/>. |
16 | 16 | |
17 |
from contextlib import contextmanager |
|
18 | 17 |
import decimal |
19 | 18 |
import json |
20 | 19 |
import os |
... | ... | |
25 | 24 |
import sys |
26 | 25 |
import traceback |
27 | 26 |
import zipfile |
27 |
from contextlib import contextmanager |
|
28 | 28 | |
29 | 29 |
from django.utils.encoding import force_text |
30 | 30 |
from django.utils.formats import localize |
... | ... | |
37 | 37 |
pass |
38 | 38 | |
39 | 39 |
from wcs.qommon import force_str |
40 |
from .qommon.publisher import set_publisher_class, QommonPublisher, get_request |
|
40 | ||
41 |
from .qommon.publisher import QommonPublisher |
|
42 |
from .qommon.publisher import get_request |
|
43 |
from .qommon.publisher import set_publisher_class |
|
44 | ||
41 | 45 | |
42 | 46 |
# this is terribly ugly but import RootDirectory will import a bunch of things, |
43 | 47 |
# and some of them need a publisher to be set |
... | ... | |
48 | 52 |
set_publisher_class(StubWcsPublisher) |
49 | 53 | |
50 | 54 | |
51 |
from .root import RootDirectory |
|
52 |
from .backoffice import RootDirectory as BackofficeRootDirectory |
|
53 |
from .admin import RootDirectory as AdminRootDirectory |
|
55 |
import pickle |
|
56 | ||
54 | 57 |
from . import custom_views |
55 | 58 |
from . import sessions |
59 |
from .admin import RootDirectory as AdminRootDirectory |
|
60 |
from .backoffice import RootDirectory as BackofficeRootDirectory |
|
56 | 61 |
from .qommon.cron import CronJob |
57 | ||
58 | 62 |
from .roles import Role |
59 |
from .users import User
|
|
63 |
from .root import RootDirectory
|
|
60 | 64 |
from .tracking_code import TrackingCode |
61 | ||
62 |
import pickle |
|
65 |
from .users import User |
|
63 | 66 | |
64 | 67 | |
65 | 68 |
class UnpicklerClass(pickle.Unpickler): |
... | ... | |
276 | 279 |
results['workflows'] += 1 |
277 | 280 | |
278 | 281 |
# fourth pass, forms and cards |
279 |
from wcs.formdef import FormDef |
|
280 | 282 |
from wcs.carddef import CardDef |
283 |
from wcs.formdef import FormDef |
|
281 | 284 | |
282 | 285 |
formdefs = [] |
283 | 286 |
carddefs = [] |
... | ... | |
357 | 360 |
sql.do_snapshots_table() |
358 | 361 |
sql.do_loggederrors_table() |
359 | 362 |
sql.do_meta_table() |
360 |
from .formdef import FormDef |
|
361 | 363 |
from .carddef import CardDef |
364 |
from .formdef import FormDef |
|
362 | 365 | |
363 | 366 |
conn, cur = sql.get_connection_and_cursor() |
364 | 367 |
sql.drop_views(None, conn, cur) |
... | ... | |
404 | 407 |
self.loggederror_class.record(*args, **kwargs) |
405 | 408 | |
406 | 409 |
def apply_global_action_timeouts(self): |
407 |
from wcs.workflows import Workflow, WorkflowGlobalActionTimeoutTrigger |
|
410 |
from wcs.workflows import Workflow |
|
411 |
from wcs.workflows import WorkflowGlobalActionTimeoutTrigger |
|
408 | 412 | |
409 | 413 |
for workflow in Workflow.select(): |
410 | 414 |
WorkflowGlobalActionTimeoutTrigger.apply(workflow) |
wcs/qommon/__init__.py | ||
---|---|---|
21 | 21 |
import django.apps |
22 | 22 |
from django.conf import settings |
23 | 23 |
from django.utils.encoding import force_text |
24 | ||
25 | 24 |
from quixote import get_publisher |
26 | 25 | |
27 | 26 |
try: |
... | ... | |
56 | 55 |
return x |
57 | 56 | |
58 | 57 | |
59 |
from .publisher import get_cfg, get_logger, get_publisher_class |
|
60 | 58 |
from . import publisher |
59 |
from .publisher import get_cfg |
|
60 |
from .publisher import get_logger |
|
61 |
from .publisher import get_publisher_class |
|
61 | 62 | |
62 | 63 |
publisher._ = _ |
63 | 64 |
wcs/qommon/admin/emails.py | ||
---|---|---|
16 | 16 | |
17 | 17 |
from quixote import redirect |
18 | 18 |
from quixote.directory import Directory |
19 |
from quixote.html import htmltext, TemplateIO |
|
19 |
from quixote.html import TemplateIO |
|
20 |
from quixote.html import htmltext |
|
20 | 21 | |
21 | 22 |
from .. import _ |
22 |
from ..form import * |
|
23 |
from .. import misc, get_cfg |
|
24 |
from ..backoffice.menu import html_top |
|
23 |
from .. import get_cfg |
|
24 |
from .. import misc |
|
25 | 25 |
from ..admin.cfg import cfg_submit |
26 |
from ..backoffice.menu import html_top |
|
27 |
from ..form import * |
|
26 | 28 | |
27 | 29 | |
28 | 30 |
class EmailsDirectory(Directory): |
wcs/qommon/admin/logger.py | ||
---|---|---|
17 | 17 |
import os |
18 | 18 |
import random |
19 | 19 | |
20 |
from quixote import get_publisher, get_request, get_response |
|
21 |
from quixote.html import htmltext, TemplateIO |
|
20 |
from quixote import get_publisher |
|
21 |
from quixote import get_request |
|
22 |
from quixote import get_response |
|
22 | 23 |
from quixote.directory import Directory |
24 |
from quixote.html import TemplateIO |
|
25 |
from quixote.html import htmltext |
|
23 | 26 | |
24 | 27 |
from .. import _ |
25 |
from .. import logger, errors
|
|
26 |
from ..backoffice.menu import html_top
|
|
28 |
from .. import errors |
|
29 |
from .. import logger
|
|
27 | 30 |
from ..admin.menu import error_page |
31 |
from ..backoffice.menu import html_top |
|
28 | 32 | |
29 | 33 | |
30 | 34 |
class ByUserDirectory(Directory): |
wcs/qommon/admin/menu.py | ||
---|---|---|
14 | 14 |
# You should have received a copy of the GNU General Public License |
15 | 15 |
# along with this program; if not, see <http://www.gnu.org/licenses/>. |
16 | 16 | |
17 |
from quixote import get_publisher, get_request |
|
18 |
from quixote.html import TemplateIO, htmltext |
|
17 |
import re |
|
18 | ||
19 |
from quixote import get_publisher |
|
20 |
from quixote import get_request |
|
21 |
from quixote.html import TemplateIO |
|
22 |
from quixote.html import htmltext |
|
19 | 23 | |
20 |
from .. import _, N_ |
|
24 |
from .. import N_ |
|
25 |
from .. import _ |
|
21 | 26 |
from ..backoffice.menu import html_top |
22 |
import re |
|
23 | 27 | |
24 | 28 | |
25 | 29 |
def _find_vc_version(): |
wcs/qommon/admin/settings.py | ||
---|---|---|
15 | 15 |
# along with this program; if not, see <http://www.gnu.org/licenses/>. |
16 | 16 | |
17 | 17 |
from quixote import redirect |
18 |
from quixote.directory import Directory, AccessControlled |
|
19 |
from quixote.html import TemplateIO, htmltext |
|
18 |
from quixote.directory import AccessControlled |
|
19 |
from quixote.directory import Directory |
|
20 |
from quixote.html import TemplateIO |
|
21 |
from quixote.html import htmltext |
|
20 | 22 | |
21 |
from .. import _, N_
|
|
22 |
from ..form import *
|
|
23 |
from .. import N_ |
|
24 |
from .. import _
|
|
23 | 25 |
from ..admin.cfg import cfg_submit |
24 | 26 |
from ..backoffice.menu import html_top |
27 |
from ..form import * |
|
25 | 28 | |
26 | 29 | |
27 | 30 |
class SettingsDirectory(AccessControlled, Directory): |
wcs/qommon/admin/texts.py | ||
---|---|---|
16 | 16 | |
17 | 17 |
import os |
18 | 18 | |
19 |
from quixote import redirect, get_publisher
|
|
20 |
from quixote.html import TemplateIO, htmltext
|
|
19 |
from quixote import get_publisher |
|
20 |
from quixote import redirect
|
|
21 | 21 |
from quixote.directory import Directory |
22 |
from quixote.html import TemplateIO |
|
23 |
from quixote.html import htmltext |
|
22 | 24 | |
23 | 25 |
from wcs.qommon import _ |
24 |
from wcs.qommon.form import * |
|
25 |
from wcs.qommon import misc, get_cfg, ezt |
|
26 |
from wcs.qommon import ezt |
|
27 |
from wcs.qommon import get_cfg |
|
28 |
from wcs.qommon import misc |
|
26 | 29 |
from wcs.qommon.backoffice.menu import html_top |
30 |
from wcs.qommon.form import * |
|
27 | 31 |
from wcs.qommon.template import Template |
28 | 32 | |
29 | 33 |
wcs/qommon/afterjobs.py | ||
---|---|---|
19 | 19 |
import traceback |
20 | 20 |
import uuid |
21 | 21 | |
22 |
from quixote import get_publisher, get_response |
|
22 |
from quixote import get_publisher |
|
23 |
from quixote import get_response |
|
23 | 24 |
from quixote.directory import Directory |
24 | 25 | |
25 |
from . import _, N_, errors |
|
26 |
from . import N_ |
|
27 |
from . import _ |
|
28 |
from . import errors |
|
26 | 29 |
from .storage import StorableObject |
27 | 30 | |
28 | 31 |
wcs/qommon/backoffice/listing.py | ||
---|---|---|
16 | 16 | |
17 | 17 |
import urllib.parse |
18 | 18 | |
19 |
from quixote.html import htmltext, TemplateIO |
|
20 |
from quixote import get_request, get_response, get_publisher |
|
19 |
from quixote import get_publisher |
|
20 |
from quixote import get_request |
|
21 |
from quixote import get_response |
|
22 |
from quixote.html import TemplateIO |
|
23 |
from quixote.html import htmltext |
|
21 | 24 | |
22 | 25 |
from .. import _ |
23 | 26 |
wcs/qommon/backoffice/menu.py | ||
---|---|---|
14 | 14 |
# You should have received a copy of the GNU General Public License |
15 | 15 |
# along with this program; if not, see <http://www.gnu.org/licenses/>. |
16 | 16 | |
17 |
from quixote import get_response, get_request, get_publisher, get_session |
|
18 |
from quixote.html import htmltext, TemplateIO |
|
17 |
from quixote import get_publisher |
|
18 |
from quixote import get_request |
|
19 |
from quixote import get_response |
|
20 |
from quixote import get_session |
|
21 |
from quixote.html import TemplateIO |
|
22 |
from quixote.html import htmltext |
|
19 | 23 | |
20 |
from .. import get_cfg |
|
21 | 24 |
from .. import _ |
25 |
from .. import get_cfg |
|
22 | 26 | |
23 | 27 | |
24 | 28 |
def generate_header_menu(selected=None): |
wcs/qommon/backoffice/root.py | ||
---|---|---|
14 | 14 |
# You should have received a copy of the GNU General Public License |
15 | 15 |
# along with this program; if not, see <http://www.gnu.org/licenses/>. |
16 | 16 | |
17 |
from quixote.directory import Directory, AccessControlled |
|
17 |
from quixote.directory import AccessControlled |
|
18 |
from quixote.directory import Directory |
|
18 | 19 | |
19 | 20 | |
20 | 21 |
class BackofficeRootDirectory(AccessControlled, Directory): |
wcs/qommon/ctl.py | ||
---|---|---|
18 | 18 | |
19 | 19 |
import configparser |
20 | 20 |
import optparse |
21 |
from optparse import make_option |
|
22 |
import sys |
|
23 | 21 |
import os |
22 |
import sys |
|
23 |
from optparse import make_option |
|
24 | 24 | |
25 | 25 |
__all__ = [ |
26 | 26 |
'Command', |
27 | 27 |
] |
28 | 28 | |
29 | 29 |
from wcs import qommon |
30 | ||
30 | 31 |
from . import _ |
31 | 32 | |
32 | 33 |
qommon._commands = {} |
wcs/qommon/emails.py | ||
---|---|---|
17 | 17 |
import os |
18 | 18 |
import pwd |
19 | 19 |
import re |
20 | ||
20 |
import smtplib |
|
21 |
import socket |
|
21 | 22 |
from email import encoders |
22 | 23 |
from email.header import Header |
23 | 24 |
from email.mime.application import MIMEApplication |
... | ... | |
28 | 29 |
from email.mime.nonmultipart import MIMENonMultipart |
29 | 30 |
from email.mime.text import MIMEText |
30 | 31 |
from email.utils import formataddr |
31 |
import smtplib |
|
32 |
import socket |
|
33 | 32 | |
34 | 33 |
try: |
35 | 34 |
import docutils |
... | ... | |
42 | 41 | |
43 | 42 |
from django.template.loader import render_to_string |
44 | 43 |
from django.utils.safestring import mark_safe |
44 |
from quixote import get_publisher |
|
45 |
from quixote import get_request |
|
46 |
from quixote import get_response |
|
45 | 47 | |
46 |
from quixote import get_request, get_response, get_publisher |
|
47 | ||
48 |
from .publisher import get_cfg, get_logger |
|
49 |
from . import force_str |
|
50 | 48 |
from . import errors |
49 |
from . import force_str |
|
51 | 50 |
from .admin.emails import EmailsDirectory |
51 |
from .publisher import get_cfg |
|
52 |
from .publisher import get_logger |
|
52 | 53 |
from .template import Template |
53 | 54 | |
54 | 55 |
try: |
wcs/qommon/errors.py | ||
---|---|---|
16 | 16 | |
17 | 17 |
import urllib.parse |
18 | 18 | |
19 |
from quixote import get_publisher |
|
20 | 19 |
import quixote |
20 |
from quixote import get_publisher |
|
21 | 21 |
from quixote.errors import * |
22 |
from quixote.html import TemplateIO, htmltext |
|
22 |
from quixote.html import TemplateIO |
|
23 |
from quixote.html import htmltext |
|
23 | 24 | |
24 |
from . import N_, template |
|
25 |
from . import N_ |
|
26 |
from . import template |
|
25 | 27 | |
26 | 28 | |
27 | 29 |
class AccessForbiddenError(AccessError): |
wcs/qommon/evalutils.py | ||
---|---|---|
28 | 28 | |
29 | 29 |
from wcs.qommon import force_str |
30 | 30 |
from wcs.qommon.upload_storage import UploadStorage |
31 | ||
31 | 32 |
from .misc import get_as_datetime |
32 | 33 | |
33 | 34 |
try: |
wcs/qommon/ezt.py | ||
---|---|---|
226 | 226 |
import datetime |
227 | 227 |
import html |
228 | 228 |
import io |
229 |
import re |
|
230 | 229 |
import os |
230 |
import re |
|
231 | 231 | |
232 | 232 |
# |
233 | 233 |
# Formatting types |
... | ... | |
734 | 734 | |
735 | 735 |
fp.write(localstrftime(value)) |
736 | 736 |
elif isinstance(value, datetime.date): |
737 |
from .misc import strftime, date_format |
|
737 |
from .misc import date_format |
|
738 |
from .misc import strftime |
|
738 | 739 | |
739 | 740 |
fp.write(strftime(date_format(), value)) |
740 | 741 |
# plain old value, write to output |
wcs/qommon/form.py | ||
---|---|---|
17 | 17 |
import base64 |
18 | 18 |
import collections |
19 | 19 |
import copy |
20 |
import datetime |
|
20 | 21 |
import fnmatch |
22 |
import hashlib |
|
21 | 23 |
import html |
24 |
import itertools |
|
25 |
import json |
|
22 | 26 |
import mimetypes |
23 | 27 |
import os |
28 |
import random |
|
24 | 29 |
import re |
25 | 30 |
import socket |
26 | 31 |
import sys |
27 | 32 |
import tempfile |
28 | 33 |
import time |
29 |
import random |
|
30 |
import datetime |
|
31 |
import itertools |
|
32 |
import hashlib |
|
33 |
import json |
|
34 | 34 | |
35 | 35 |
try: |
36 | 36 |
from PIL import Image |
... | ... | |
56 | 56 | |
57 | 57 |
import quixote |
58 | 58 |
import quixote.form.widget |
59 | ||
60 |
from quixote import get_publisher, get_request, get_response, get_session |
|
59 |
from django.conf import settings |
|
60 |
from django.utils.encoding import force_bytes |
|
61 |
from django.utils.encoding import force_text |
|
62 |
from django.utils.safestring import mark_safe |
|
63 |
from quixote import get_publisher |
|
64 |
from quixote import get_request |
|
65 |
from quixote import get_response |
|
66 |
from quixote import get_session |
|
61 | 67 |
from quixote.form import * |
62 |
from quixote.html import htmltext, htmltag, htmlescape, TemplateIO, stringify |
|
68 |
from quixote.html import TemplateIO |
|
69 |
from quixote.html import htmlescape |
|
70 |
from quixote.html import htmltag |
|
71 |
from quixote.html import htmltext |
|
72 |
from quixote.html import stringify |
|
63 | 73 |
from quixote.http_request import Upload |
64 | 74 |
from quixote.util import randbytes |
65 | 75 | |
66 |
from django.utils.encoding import force_bytes, force_text |
|
76 |
from wcs.conditions import Condition |
|
77 |
from wcs.conditions import ValidationError |
|
67 | 78 | |
68 |
from django.conf import settings |
|
69 |
from django.utils.safestring import mark_safe |
|
70 | ||
71 |
from .template import render as render_template, Template, TemplateError |
|
72 | 79 |
from ..portfolio import has_portfolio |
73 |
from wcs.conditions import Condition, ValidationError
|
|
74 | ||
75 |
from . import _, ngettext, N_, force_str
|
|
80 |
from . import N_
|
|
81 |
from . import _ |
|
82 |
from . import force_str |
|
76 | 83 |
from . import misc |
77 |
from .humantime import humanduration2seconds, seconds2humanduration, timewords |
|
78 |
from .misc import strftime, C_, HAS_PDFTOPPM, json_loads |
|
84 |
from . import ngettext |
|
85 |
from .humantime import humanduration2seconds |
|
86 |
from .humantime import seconds2humanduration |
|
87 |
from .humantime import timewords |
|
88 |
from .misc import C_ |
|
89 |
from .misc import HAS_PDFTOPPM |
|
90 |
from .misc import json_loads |
|
91 |
from .misc import strftime |
|
79 | 92 |
from .publisher import get_cfg |
93 |
from .template import Template |
|
94 |
from .template import TemplateError |
|
95 |
from .template import render as render_template |
|
80 | 96 |
from .template_utils import render_block_to_string |
81 |
from .upload_storage import PicklableUpload, UploadStorageError
|
|
82 | ||
97 |
from .upload_storage import PicklableUpload |
|
98 |
from .upload_storage import UploadStorageError |
|
83 | 99 | |
84 | 100 |
QuixoteForm = Form |
85 | 101 |
wcs/qommon/http_request.py | ||
---|---|---|
19 | 19 |
import re |
20 | 20 |
import time |
21 | 21 | |
22 |
from django.utils.encoding import force_bytes, force_text |
|
23 |
from quixote import get_session, get_publisher |
|
24 | 22 |
import quixote.http_request |
23 |
from django.utils.encoding import force_bytes |
|
24 |
from django.utils.encoding import force_text |
|
25 |
from quixote import get_publisher |
|
26 |
from quixote import get_session |
|
25 | 27 |
from quixote.errors import RequestError |
26 | 28 | |
27 | 29 |
from .http_response import HTTPResponse |
wcs/qommon/http_response.py | ||
---|---|---|
15 | 15 |
# along with this program; if not, see <http://www.gnu.org/licenses/>. |
16 | 16 | |
17 | 17 |
import hashlib |
18 |
import sys |
|
18 | 19 |
import time |
19 | 20 |
import traceback |
20 |
import sys |
|
21 | 21 | |
22 |
import quixote.http_response |
|
22 | 23 |
from django.utils.encoding import force_bytes |
23 | 24 |
from quixote import get_publisher |
24 |
import quixote.http_response |
|
25 |
from quixote import get_publisher, get_request |
|
25 |
from quixote import get_request |
|
26 | 26 | |
27 | 27 |
from . import N_ |
28 | 28 |
from .afterjobs import AfterJob |
wcs/qommon/humantime.py | ||
---|---|---|
16 | 16 | |
17 | 17 |
import re |
18 | 18 | |
19 |
from . import _, ngettext, N_ |
|
19 |
from . import N_ |
|
20 |
from . import _ |
|
21 |
from . import ngettext |
|
20 | 22 | |
21 | 23 |
_minute = 60 |
22 | 24 |
_hour = 60 * 60 |
wcs/qommon/ident/franceconnect.py | ||
---|---|---|
21 | 21 |
import uuid |
22 | 22 | |
23 | 23 |
from django.utils.encoding import force_bytes |
24 | ||
25 |
from quixote import redirect, get_session, get_publisher, get_request, get_session_manager |
|
24 |
from quixote import get_publisher |
|
25 |
from quixote import get_request |
|
26 |
from quixote import get_session |
|
27 |
from quixote import get_session_manager |
|
28 |
from quixote import redirect |
|
26 | 29 |
from quixote.directory import Directory |
27 |
from quixote.html import htmltext, TemplateIO |
|
28 | 30 |
from quixote.errors import QueryError |
31 |
from quixote.html import TemplateIO |
|
32 |
from quixote.html import htmltext |
|
29 | 33 | |
30 |
from .. import _, N_ |
|
31 |
from ..backoffice.menu import html_top |
|
32 |
from .. import template, get_cfg, get_logger |
|
33 |
from ..form import ( |
|
34 |
Form, |
|
35 |
StringWidget, |
|
36 |
CompositeWidget, |
|
37 |
ComputedExpressionWidget, |
|
38 |
SingleSelectWidget, |
|
39 |
WidgetListAsTable, |
|
40 |
) |
|
41 |
from ..misc import http_post_request, http_get_page, json_loads |
|
42 | ||
43 |
from wcs.workflows import WorkflowStatusItem |
|
44 | 34 |
from wcs.formdata import flatten_dict |
35 |
from wcs.workflows import WorkflowStatusItem |
|
45 | 36 | |
37 |
from .. import N_ |
|
38 |
from .. import _ |
|
39 |
from .. import get_cfg |
|
40 |
from .. import get_logger |
|
41 |
from .. import template |
|
42 |
from ..backoffice.menu import html_top |
|
43 |
from ..form import CompositeWidget |
|
44 |
from ..form import ComputedExpressionWidget |
|
45 |
from ..form import Form |
|
46 |
from ..form import SingleSelectWidget |
|
47 |
from ..form import StringWidget |
|
48 |
from ..form import WidgetListAsTable |
|
49 |
from ..misc import http_get_page |
|
50 |
from ..misc import http_post_request |
|
51 |
from ..misc import json_loads |
|
46 | 52 |
from .base import AuthMethod |
47 | 53 | |
48 | ||
49 | 54 |
ADMIN_TITLE = N_('FranceConnect') |
50 | 55 | |
51 | 56 |
# XXX: make an OIDC auth method that FranceConnect would inherit from |
wcs/qommon/ident/idp.py | ||
---|---|---|
22 | 22 |
except ImportError: |
23 | 23 |
lasso = None |
24 | 24 | |
25 |
from django.utils.encoding import force_bytes, force_text |
|
26 | ||
25 |
from django.utils.encoding import force_bytes |
|
26 |
from django.utils.encoding import force_text |
|
27 |
from quixote import get_publisher |
|
28 |
from quixote import get_response |
|
29 |
from quixote import get_session |
|
30 |
from quixote import redirect |
|
27 | 31 |
from quixote.directory import Directory |
28 |
from quixote import redirect, get_session, get_response, get_publisher
|
|
29 |
from quixote.html import htmltext, TemplateIO
|
|
32 |
from quixote.html import TemplateIO
|
|
33 |
from quixote.html import htmltext |
|
30 | 34 | |
31 |
from .. import _, N_ |
|
32 |
from .. import misc, get_cfg, get_logger |
|
33 |
from ..form import * |
|
34 |
from ..tokens import Token |
|
35 | ||
36 |
from .. import template |
|
35 |
from .. import N_ |
|
36 |
from .. import _ |
|
37 | 37 |
from .. import errors |
38 | ||
39 |
from ..backoffice.menu import html_top |
|
38 |
from .. import get_cfg |
|
39 |
from .. import get_logger |
|
40 |
from .. import misc |
|
41 |
from .. import saml2utils |
|
42 |
from .. import template |
|
43 |
from .. import x509utils |
|
40 | 44 |
from ..admin.menu import command_icon |
41 | ||
42 |
from .base import AuthMethod
|
|
45 |
from ..backoffice.menu import html_top |
|
46 |
from ..form import *
|
|
43 | 47 |
from ..storage import atomic_write |
44 | ||
45 |
from .. import x509utils |
|
46 |
from .. import saml2utils |
|
48 |
from ..tokens import Token |
|
49 |
from .base import AuthMethod |
|
47 | 50 | |
48 | 51 |
ADMIN_TITLE = N_('SAML2') |
49 | 52 |
wcs/qommon/ident/password.py | ||
---|---|---|
14 | 14 |
# You should have received a copy of the GNU General Public License |
15 | 15 |
# along with this program; if not, see <http://www.gnu.org/licenses/>. |
16 | 16 | |
17 |
import csv |
|
17 | 18 |
import random |
18 | 19 |
import time |
19 |
import csv |
|
20 | ||
21 |
from .base import AuthMethod, NoSuchMethodForUserError |
|
22 | 20 | |
23 |
from quixote import redirect, get_publisher |
|
24 |
from quixote.directory import AccessControlled, Directory |
|
25 |
from quixote.html import TemplateIO, htmltext |
|
21 |
from quixote import get_publisher |
|
22 |
from quixote import redirect |
|
23 |
from quixote.directory import AccessControlled |
|
24 |
from quixote.directory import Directory |
|
25 |
from quixote.html import TemplateIO |
|
26 |
from quixote.html import htmltext |
|
26 | 27 | |
27 |
from .. import _, ngettext, N_ |
|
28 |
from ..form import * |
|
28 |
from wcs.qommon.admin.texts import TextsDirectory |
|
29 | 29 | |
30 |
from ..publisher import get_publisher_class
|
|
31 |
from .. import misc, get_cfg, get_logger
|
|
30 |
from .. import N_
|
|
31 |
from .. import _
|
|
32 | 32 |
from .. import emails |
33 |
from .. import errors |
|
34 |
from .. import get_cfg |
|
35 |
from .. import get_logger |
|
36 |
from .. import misc |
|
37 |
from .. import ngettext |
|
38 |
from .. import storage as st |
|
33 | 39 |
from .. import template |
34 | 40 |
from .. import tokens |
35 |
from .. import errors |
|
36 | ||
41 |
from ..admin.emails import EmailsDirectory |
|
37 | 42 |
from ..admin.menu import command_icon |
38 | ||
43 |
from ..afterjobs import AfterJob |
|
39 | 44 |
from ..backoffice.menu import html_top |
40 | ||
41 |
from ..admin.emails import EmailsDirectory |
|
42 |
from wcs.qommon.admin.texts import TextsDirectory |
|
43 | ||
44 | 45 |
from ..cron import CronJob |
45 |
from ..afterjobs import AfterJob |
|
46 |
from .. import storage as st |
|
47 | ||
48 |
from .password_accounts import PasswordAccount, HASHING_ALGOS |
|
46 |
from ..form import * |
|
47 |
from ..publisher import get_publisher_class |
|
48 |
from .base import AuthMethod |
|
49 |
from .base import NoSuchMethodForUserError |
|
50 |
from .password_accounts import HASHING_ALGOS |
|
51 |
from .password_accounts import PasswordAccount |
|
49 | 52 | |
50 | 53 | |
51 | 54 |
def notify_admins_user_registered(account): |
wcs/qommon/ident/password_accounts.py | ||
---|---|---|
16 | 16 | |
17 | 17 |
import hashlib |
18 | 18 | |
19 |
from django.contrib.auth.hashers import check_password, make_password |
|
20 |
from django.utils.encoding import force_bytes, force_text |
|
19 |
from django.contrib.auth.hashers import check_password |
|
20 |
from django.contrib.auth.hashers import make_password |
|
21 |
from django.utils.encoding import force_bytes |
|
22 |
from django.utils.encoding import force_text |
|
21 | 23 |
from quixote import get_publisher |
22 | 24 | |
23 | 25 |
from wcs.qommon import force_str |
26 | ||
24 | 27 |
from ..storage import StorableObject |
25 | 28 | |
26 | 29 |
HASHING_ALGOS = { |
wcs/qommon/logger.py | ||
---|---|---|
17 | 17 |
import logging |
18 | 18 |
import os |
19 | 19 | |
20 |
from quixote import get_publisher, get_session, get_request |
|
20 |
from quixote import get_publisher |
|
21 |
from quixote import get_request |
|
22 |
from quixote import get_session |
|
21 | 23 |
from quixote.logger import DefaultLogger |
22 | 24 | |
23 | 25 |
wcs/qommon/management/commands/collectstatic.py | ||
---|---|---|
18 | 18 |
import shutil |
19 | 19 | |
20 | 20 |
from django.core.management.base import BaseCommand |
21 | ||
21 | 22 |
from wcs.qommon.publisher import get_publisher_class |
22 | 23 | |
23 | 24 |
wcs/qommon/management/commands/cron.py | ||
---|---|---|
16 | 16 | |
17 | 17 |
from __future__ import print_function |
18 | 18 | |
19 |
import os |
|
19 | 20 |
import tempfile |
20 | 21 |
import time |
21 |
import os |
|
22 | 22 | |
23 | 23 |
from django.conf import settings |
24 |
from django.core.management.base import BaseCommand, CommandError
|
|
25 |
from wcs.qommon.publisher import get_publisher_class
|
|
24 |
from django.core.management.base import BaseCommand |
|
25 |
from django.core.management.base import CommandError
|
|
26 | 26 | |
27 |
from wcs.qommon.vendor import locket |
|
28 | 27 |
from wcs.qommon.cron import cron_worker |
28 |
from wcs.qommon.publisher import get_publisher_class |
|
29 |
from wcs.qommon.vendor import locket |
|
29 | 30 |
from wcs.wf.jump import JUMP_TIMEOUT_INTERVAL |
30 | 31 | |
31 | 32 |
wcs/qommon/management/commands/migrate.py | ||
---|---|---|
15 | 15 |
# along with this program; if not, see <http://www.gnu.org/licenses/>. |
16 | 16 | |
17 | 17 |
import os |
18 |
import quixote |
|
19 | 18 | |
19 |
import quixote |
|
20 | 20 |
from django.core.management.base import BaseCommand |
21 | ||
21 | 22 |
from wcs.qommon.publisher import get_publisher_class |
22 | 23 | |
23 | 24 |
wcs/qommon/misc.py | ||
---|---|---|
14 | 14 |
# You should have received a copy of the GNU General Public License |
15 | 15 |
# along with this program; if not, see <http://www.gnu.org/licenses/>. |
16 | 16 | |
17 |
import base64 |
|
18 |
import calendar |
|
17 | 19 |
import datetime |
18 | 20 |
import decimal |
19 |
import calendar
|
|
21 |
import hashlib
|
|
20 | 22 |
import html |
21 | 23 |
import io |
22 |
import re |
|
23 |
import os |
|
24 |
import time |
|
25 |
import urllib.parse |
|
26 |
import base64 |
|
27 | 24 |
import json |
25 |
import os |
|
26 |
import re |
|
28 | 27 |
import subprocess |
28 |
import time |
|
29 | 29 |
import unicodedata |
30 |
import hashlib
|
|
30 |
import urllib.parse
|
|
31 | 31 | |
32 | 32 |
import requests |
33 | 33 |
from requests.adapters import HTTPAdapter |
... | ... | |
38 | 38 |
Image = None |
39 | 39 | |
40 | 40 |
from django.conf import settings |
41 |
from django.template import TemplateSyntaxError |
|
42 |
from django.template import VariableDoesNotExist |
|
41 | 43 |
from django.utils import datetime_safe |
42 | 44 |
from django.utils.encoding import force_text |
43 | 45 |
from django.utils.formats import localize |
44 | 46 |
from django.utils.html import strip_tags |
45 |
from django.template import TemplateSyntaxError, VariableDoesNotExist |
|
46 | 47 |
from django.utils.text import Truncator |
47 | ||
48 |
from quixote import get_publisher, get_response, get_request, redirect |
|
48 |
from quixote import get_publisher |
|
49 |
from quixote import get_request |
|
50 |
from quixote import get_response |
|
51 |
from quixote import redirect |
|
49 | 52 |
from quixote.html import htmltext |
50 | 53 | |
51 |
from . import _, force_str |
|
52 |
from . import get_cfg, get_logger, ezt |
|
53 |
from .errors import ConnectionError, RequestError |
|
54 |
from . import _ |
|
55 |
from . import ezt |
|
56 |
from . import force_str |
|
57 |
from . import get_cfg |
|
58 |
from . import get_logger |
|
59 |
from .errors import ConnectionError |
|
60 |
from .errors import RequestError |
|
54 | 61 |
from .template import Template |
55 | 62 | |
56 | 63 |
try: |
wcs/qommon/myspace.py | ||
---|---|---|
14 | 14 |
# You should have received a copy of the GNU General Public License |
15 | 15 |
# along with this program; if not, see <http://www.gnu.org/licenses/>. |
16 | 16 | |
17 |
from quixote import get_publisher, get_request, redirect, get_response, get_session_manager |
|
17 |
from quixote import get_publisher |
|
18 |
from quixote import get_request |
|
19 |
from quixote import get_response |
|
20 |
from quixote import get_session_manager |
|
21 |
from quixote import redirect |
|
18 | 22 |
from quixote.directory import Directory |
19 |
from quixote.html import htmltext, TemplateIO |
|
23 |
from quixote.html import TemplateIO |
|
24 |
from quixote.html import htmltext |
|
20 | 25 | |
21 |
from . import _, N_ |
|
26 |
from wcs.qommon.admin.texts import TextsDirectory |
|
27 | ||
28 |
from . import N_ |
|
29 |
from . import _ |
|
30 |
from . import errors |
|
31 |
from . import get_cfg |
|
22 | 32 |
from . import template |
23 | 33 |
from .form import * |
24 |
from . import get_cfg |
|
25 |
from . import errors |
|
26 | ||
27 | 34 |
from .ident.password_accounts import PasswordAccount |
28 | 35 | |
29 |
from wcs.qommon.admin.texts import TextsDirectory |
|
30 | 36 | |
31 | 37 |
# This module depends upon the following protocol from the user class: |
32 | 38 |
# |
wcs/qommon/ods.py | ||
---|---|---|
22 | 22 | |
23 | 23 |
from django.utils.encoding import force_text |
24 | 24 | |
25 |
from .misc import date_format, datetime_format, strftime |
|
26 |
from .evalutils import make_date, make_datetime |
|
25 |
from .evalutils import make_date |
|
26 |
from .evalutils import make_datetime |
|
27 |
from .misc import date_format |
|
28 |
from .misc import datetime_format |
|
29 |
from .misc import strftime |
|
27 | 30 | |
28 | 31 |
NS = { |
29 | 32 |
'fo': 'urn:oasis:names:tc:opendocument:xmlns:xsl-fo-compatible:1.0', |
wcs/qommon/pages.py | ||
---|---|---|
16 | 16 | |
17 | 17 |
import os |
18 | 18 | |
19 |
from quixote import get_publisher, redirect |
|
19 |
from quixote import get_publisher |
|
20 |
from quixote import redirect |
|
20 | 21 |
from quixote.directory import Directory |
21 | 22 |
from quixote.util import StaticDirectory |
22 | 23 |
wcs/qommon/publisher.py | ||
---|---|---|
16 | 16 | |
17 | 17 |
from __future__ import print_function |
18 | 18 | |
19 |
import builtins |
|
19 | 20 |
import codecs |
20 | 21 |
import collections |
21 |
import builtins |
|
22 | 22 |
import configparser |
23 |
import pickle |
|
24 |
import urllib.parse |
|
25 | 23 |
import datetime |
26 |
from decimal import Decimal |
|
24 |
import fcntl |
|
25 |
import hashlib |
|
27 | 26 |
import importlib |
28 | 27 |
import inspect |
29 | 28 |
import io |
30 |
import os |
|
31 |
import fcntl |
|
32 |
import hashlib |
|
33 | 29 |
import json |
30 |
import linecache |
|
34 | 31 |
import locale |
32 |
import logging |
|
33 |
import logging.handlers |
|
34 |
import os |
|
35 |
import pickle |
|
35 | 36 |
import random |
36 | 37 |
import re |
37 | 38 |
import socket |
38 | 39 |
import sys |
39 | 40 |
import time |
40 | 41 |
import traceback |
41 | ||
42 |
import linecache |
|
42 |
import urllib.parse |
|
43 | 43 |
import xml.etree.ElementTree as ET |
44 |
from decimal import Decimal |
|
44 | 45 | |
45 | 46 |
from django.conf import settings |
46 | 47 |
from django.http import Http404 |
47 | 48 |
from django.utils import translation |
48 |
from django.utils.encoding import force_text, force_bytes |
|
49 | ||
50 |
from quixote.publish import Publisher, get_request, get_response, get_publisher, redirect |
|
51 |
from .http_request import HTTPRequest |
|
52 |
from .http_response import HTTPResponse, AfterJob |
|
53 | ||
54 |
from .cron import CronJob |
|
55 |
from .substitution import Substitutions, CompatibilityNamesDict |
|
56 | ||
57 |
from . import N_, force_str |
|
49 |
from django.utils.encoding import force_bytes |
|
50 |
from django.utils.encoding import force_text |
|
51 |
from quixote.publish import Publisher |
|
52 |
from quixote.publish import get_publisher |
|
53 |
from quixote.publish import get_request |
|
54 |
from quixote.publish import get_response |
|
55 |
from quixote.publish import redirect |
|
56 | ||
57 |
from . import N_ |
|
58 | 58 |
from . import errors |
59 |
from . import template |
|
60 |
import logging |
|
61 |
import logging.handlers |
|
59 |
from . import force_str |
|
62 | 60 |
from . import logger |
63 | 61 |
from . import storage |
62 |
from . import template |
|
63 |
from .cron import CronJob |
|
64 |
from .http_request import HTTPRequest |
|
65 |
from .http_response import AfterJob |
|
66 |
from .http_response import HTTPResponse |
|
67 |
from .substitution import CompatibilityNamesDict |
|
68 |
from .substitution import Substitutions |
|
64 | 69 |
from .vendor import locket |
65 | 70 | |
66 | 71 | |
... | ... | |
892 | 897 |
return valid_known_domains |
893 | 898 | |
894 | 899 |
def get_substitution_variables(self): |
895 |
from . import misc |
|
896 | 900 |
from wcs.variables import LazyDateObject |
897 | 901 | |
902 |
from . import misc |
|
903 | ||
898 | 904 |
d = { |
899 | 905 |
'site_name': get_cfg('misc', {}).get('sitename', None), |
900 | 906 |
'site_theme': get_cfg('branding', {}).get('theme', self.default_theme), |
wcs/qommon/saml2.py | ||
---|---|---|
15 | 15 |
# along with this program; if not, see <http://www.gnu.org/licenses/>. |
16 | 16 | |
17 | 17 |
import os |
18 |
import sys |
|
18 | 19 |
import time |
19 | 20 |
import urllib.parse |
20 |
import sys |
|
21 | 21 |
from xml.sax.saxutils import escape |
22 | 22 | |
23 | 23 |
try: |
... | ... | |
26 | 26 |
lasso = None |
27 | 27 | |
28 | 28 |
from django.utils.encoding import force_text |
29 | ||
30 |
from quixote import get_request, get_response, redirect, get_field, get_publisher |
|
31 |
from quixote.http_request import parse_header |
|
29 |
from quixote import get_field |
|
30 |
from quixote import get_publisher |
|
31 |
from quixote import get_request |
|
32 |
from quixote import get_response |
|
33 |
from quixote import get_session |
|
34 |
from quixote import get_session_manager |
|
35 |
from quixote import redirect |
|
32 | 36 |
from quixote.directory import Directory |
33 |
from quixote import get_session, get_session_manager
|
|
37 |
from quixote.http_request import parse_header
|
|
34 | 38 | |
39 |
from . import _ |
|
40 |
from . import errors |
|
41 |
from . import force_str |
|
35 | 42 |
from . import misc |
36 |
from .publisher import get_cfg, get_logger
|
|
37 |
from . import _, force_str
|
|
43 |
from .publisher import get_cfg |
|
44 |
from .publisher import get_logger
|
|
38 | 45 |
from .template import error_page |
39 | 46 | |
40 |
from . import errors |
|
41 | ||
42 | 47 | |
43 | 48 |
class SOAPException(Exception): |
44 | 49 |
url = None |
wcs/qommon/saml2utils.py | ||
---|---|---|
16 | 16 | |
17 | 17 |
import os |
18 | 18 | |
19 |
from . import force_str, x509utils |
|
19 |
from . import force_str |
|
20 |
from . import x509utils |
|
20 | 21 | |
21 | 22 | |
22 | 23 |
def bool2xs(boolean): |
wcs/qommon/sessions.py | ||
---|---|---|
15 | 15 |
# along with this program; if not, see <http://www.gnu.org/licenses/>. |
16 | 16 | |
17 | 17 |
import copy |
18 |
import json |
|
19 | 18 |
import hashlib |
19 |
import json |
|
20 | 20 |
import os |
21 | 21 |
import time |
22 | 22 | |
23 |
from django.conf import settings |
|
24 |
from django.core.signing import BadSignature |
|
25 |
from django.core.signing import Signer |
|
26 |
from django.utils.encoding import force_bytes |
|
27 |
from django.utils.encoding import force_text |
|
23 | 28 |
from quixote import get_publisher |
24 | ||
29 |
from quixote.publish import get_request |
|
30 |
from quixote.publish import get_session |
|
31 |
from quixote.publish import get_session_manager |
|
25 | 32 |
from quixote.session import Session as QuixoteSession |
26 | 33 |
from quixote.session import SessionManager as QuixoteSessionManager |
27 | 34 |
from quixote.util import randbytes |
28 | 35 | |
29 |
from django.conf import settings |
|
30 |
from django.utils.encoding import force_bytes, force_text |
|
31 |
from django.core.signing import Signer, BadSignature |
|
32 | ||
33 | 36 |
from . import misc |
34 |
from .storage import StorableObject |
|
35 | 37 |
from .publisher import get_cfg |
38 |
from .storage import StorableObject |
|
36 | 39 |
from .upload_storage import get_storage_object |
37 |
from quixote.publish import get_session, get_session_manager, get_request |
|
38 | 40 | |
39 | 41 | |
40 | 42 |
class QommonSession(QuixoteSession): |
wcs/qommon/sms.py | ||
---|---|---|
17 | 17 |
import re |
18 | 18 |
import urllib.parse |
19 | 19 | |
20 |
from . import N_, errors, misc |
|
21 |
from . import get_cfg, get_logger |
|
22 |
from .form import StringWidget, PasswordWidget |
|
23 | 20 |
from wcs.wscalls import call_webservice |
24 | 21 | |
22 |
from . import N_ |
|
23 |
from . import errors |
|
24 |
from . import get_cfg |
|
25 |
from . import get_logger |
|
26 |
from . import misc |
|
27 |
from .form import PasswordWidget |
|
28 |
from .form import StringWidget |
|
29 | ||
25 | 30 | |
26 | 31 |
class PasserelleSMS(object): |
27 | 32 |
TIMEOUT = 10 |
wcs/qommon/storage.py | ||
---|---|---|
14 | 14 |
# You should have received a copy of the GNU General Public License |
15 | 15 |
# along with this program; if not, see <http://www.gnu.org/licenses/>. |
16 | 16 | |
17 |
import _thread |
|
17 | 18 |
import builtins |
18 | 19 |
import copyreg |
19 | 20 |
import errno |
20 | 21 |
import operator |
21 | 22 |
import os |
22 |
import time |
|
23 |
import pickle |
|
24 | 23 |
import os.path |
24 |
import pickle |
|
25 | 25 |
import shutil |
26 | 26 |
import sys |
27 | 27 |
import tempfile |
28 |
import _thread
|
|
28 |
import time
|
|
29 | 29 | |
30 | 30 |
from django.utils.encoding import force_bytes |
31 |
from quixote import get_publisher |
|
31 | 32 | |
33 |
from . import PICKLE_KWARGS |
|
34 |
from . import force_str |
|
32 | 35 |
from .vendor import locket |
33 | 36 | |
34 |
from quixote import get_publisher |
|
35 |
from . import PICKLE_KWARGS, force_str |
|
36 | ||
37 | 37 |
# add compatibility names in case those were stored in pickles |
38 | 38 |
sys.modules['copy_reg'] = copyreg |
39 | 39 |
sys.modules['__builtin__'] = builtins |
wcs/qommon/substitution.py | ||
---|---|---|
17 | 17 |
from contextlib import contextmanager |
18 | 18 | |
19 | 19 |
from quixote import get_publisher |
20 |
from quixote.html import htmltext, TemplateIO |
|
20 |
from quixote.html import TemplateIO |
|
21 |
from quixote.html import htmltext |
|
21 | 22 | |
22 | 23 | |
23 | 24 |
def invalidate_substitution_cache(func): |
... | ... | |
42 | 43 | |
43 | 44 |
def set_empty(self): |
44 | 45 |
from wcs.data_sources import NamedDataSource |
45 |
from wcs.variables import CardsSource, FormsSource |
|
46 |
from wcs.wscalls import NamedWsCall |
|
47 | 46 |
from wcs.scripts import Script |
47 |
from wcs.variables import CardsSource |
|
48 |
from wcs.variables import FormsSource |
|
49 |
from wcs.wscalls import NamedWsCall |
|
48 | 50 | |
49 | 51 |
self.sources = [NamedDataSource, NamedWsCall, CardsSource, FormsSource, Script] |
50 | 52 |
wcs/qommon/template.py | ||
---|---|---|
14 | 14 |
# You should have received a copy of the GNU General Public License |
15 | 15 |
# along with this program; if not, see <http://www.gnu.org/licenses/>. |
16 | 16 | |
17 |
import glob |
|
17 | 18 |
import io |
18 | 19 |
import os |
19 |
import glob |
|
20 | 20 |
import re |
21 | 21 |
import xml.etree.ElementTree as ET |
22 | 22 | |
23 | 23 |
import django.template |
24 |
from django.template import ( |
|
25 |
engines, |
|
26 |
TemplateSyntaxError as DjangoTemplateSyntaxError, |
|
27 |
VariableDoesNotExist as DjangoVariableDoesNotExist, |
|
28 |
) |
|
24 |
from django.template import TemplateSyntaxError as DjangoTemplateSyntaxError |
|
25 |
from django.template import VariableDoesNotExist as DjangoVariableDoesNotExist |
|
26 |
from django.template import engines |
|
29 | 27 |
from django.template.loader import render_to_string |
30 |
from django.utils.encoding import force_text, smart_text |
|
31 |
from django.utils.safestring import SafeString, SafeText |
|
32 | ||
33 |
from quixote import get_session, get_request, get_response, get_publisher |
|
28 |
from django.utils.encoding import force_text |
|
29 |
from django.utils.encoding import smart_text |
|
30 |
from django.utils.safestring import SafeString |
|
31 |
from django.utils.safestring import SafeText |
|
32 |
from quixote import get_publisher |
|
33 |
from quixote import get_request |
|
34 |
from quixote import get_response |
|
35 |
from quixote import get_session |
|
34 | 36 |
from quixote.directory import Directory |
35 |
from quixote.util import StaticDirectory, StaticFile |
|
36 |
from quixote.html import htmltext, htmlescape, TemplateIO |
|
37 | ||
38 |
from . import ezt, force_str |
|
37 |
from quixote.html import TemplateIO |
|
38 |
from quixote.html import htmlescape |
|
39 |
from quixote.html import htmltext |
|
40 |
from quixote.util import StaticDirectory |
|
41 |
from quixote.util import StaticFile |
|
42 | ||
43 |
from . import ezt |
|
44 |
from . import force_str |
|
39 | 45 | |
40 | 46 | |
41 | 47 |
def get_template_from_script(filename): |
wcs/qommon/template_utils.py | ||
---|---|---|
21 | 21 | |
22 | 22 |
from __future__ import absolute_import |
23 | 23 | |
24 |
from django.template import loader, Context |
|
24 |
from django.template import Context |
|
25 |
from django.template import loader |
|
25 | 26 |
from django.template.base import TextNode |
26 |
from django.template.loader_tags import BLOCK_CONTEXT_KEY, BlockContext, BlockNode, ExtendsNode |
|
27 |
from django.template.loader_tags import BLOCK_CONTEXT_KEY |
|
28 |
from django.template.loader_tags import BlockContext |
|
29 |
from django.template.loader_tags import BlockNode |
|
30 |
from django.template.loader_tags import ExtendsNode |
|
27 | 31 | |
28 | 32 | |
29 | 33 |
class BlockNotFound(Exception): |
wcs/qommon/templatetags/qommon.py | ||
---|---|---|
15 | 15 |
# along with this program; if not, see <http://www.gnu.org/licenses/>. |
16 | 16 | |
17 | 17 |
import datetime |
18 |
from decimal import Decimal |
|
19 |
from decimal import InvalidOperation as DecimalInvalidOperation |
|
20 |
from decimal import DivisionByZero as DecimalDivisionByZero |
|
21 | 18 |
import hashlib |
22 | 19 |
import math |
23 |
import string |
|
24 | 20 |
import random |
21 |
import string |
|
25 | 22 |
import unicodedata |
26 | 23 |
import urllib.parse |
24 |
from decimal import Decimal |
|
25 |
from decimal import DivisionByZero as DecimalDivisionByZero |
|
26 |
from decimal import InvalidOperation as DecimalInvalidOperation |
|
27 | 27 | |
28 | 28 |
import pyproj |
29 | 29 |
from pyproj import Geod |
... | ... | |
38 | 38 |
from django import template |
39 | 39 |
from django.template import defaultfilters |
40 | 40 |
from django.utils import dateparse |
41 |
from django.utils.encoding import force_bytes, force_text |
|
41 |
from django.utils.encoding import force_bytes |
|
42 |
from django.utils.encoding import force_text |
|
42 | 43 |
from django.utils.safestring import mark_safe |
43 |
from django.utils.timezone import is_naive, make_aware |
|
44 |
from django.utils.timezone import is_naive |
|
45 |
from django.utils.timezone import make_aware |
|
46 | ||
44 | 47 |
from wcs.qommon import calendar |
45 | 48 |
from wcs.qommon import evalutils |
46 | 49 |
from wcs.qommon import tokens |
... | ... | |
770 | 773 | |
771 | 774 |
@register.filter |
772 | 775 |
def is_empty(value): |
773 |
from wcs.variables import LazyFormDefObjectsManager, LazyList |
|
776 |
from wcs.variables import LazyFormDefObjectsManager |
|
777 |
from wcs.variables import LazyList |
|
774 | 778 | |
775 | 779 |
if isinstance(value, (str, list, dict)): |
776 | 780 |
return not value |
wcs/qommon/tokens.py | ||
---|---|---|
16 | 16 | |
17 | 17 |
import random |
18 | 18 |
import string |
19 |
import time |
|
19 | 20 | |
20 | 21 |
from .storage import StorableObject |
21 |
import time |
|
22 | 22 | |
23 | 23 | |
24 | 24 |
class Token(StorableObject): |
wcs/qommon/upload_storage.py | ||
---|---|---|
18 | 18 |
import io |
19 | 19 |
import os |
20 | 20 | |
21 |
from quixote import get_publisher |
|
22 |
from quixote.http_request import Upload |
|
23 | ||
24 | 21 |
from django.utils.encoding import force_text |
25 | 22 |
from django.utils.module_loading import import_string |
23 |
from quixote import get_publisher |
|
24 |
from quixote.http_request import Upload |
|
26 | 25 | |
27 | 26 |
from .errors import ConnectionError |
28 |
from .misc import json_loads, file_digest, can_thumbnail |
|
27 |
from .misc import can_thumbnail |
|
28 |
from .misc import file_digest |
|
29 |
from .misc import json_loads |
|
29 | 30 |
from .storage import atomic_write |
30 | 31 | |
31 | 32 |
wcs/qommon/vendor/locket.py | ||
---|---|---|
30 | 30 |
# policies, either expressed or implied, of the FreeBSD Project. |
31 | 31 | |
32 | 32 | |
33 |
import time |
|
34 | 33 |
import errno |
35 | 34 |
import threading |
35 |
import time |
|
36 | 36 |
import weakref |
37 | 37 | |
38 | 38 |
__all__ = ["lock_file"] |
wcs/qommon/x509utils.py | ||
---|---|---|
16 | 16 | |
17 | 17 |
import base64 |
18 | 18 |
import binascii |
19 |
import tempfile |
|
20 | 19 |
import os |
21 |
import subprocess |
|
22 | 20 |
import stat |
21 |
import subprocess |
|
22 |
import tempfile |
|
23 | 23 | |
24 | 24 |
from django.utils.encoding import force_text |
25 | 25 |
wcs/qommon/xml_storage.py | ||
---|---|---|
21 | 21 |
from quixote import get_publisher |
22 | 22 | |
23 | 23 |
from . import force_str |
24 |
from .misc import indent_xml, xml_node_text |
|
24 |
from .misc import indent_xml |
|
25 |
from .misc import xml_node_text |
|
25 | 26 |
from .storage import StorableObject |
26 | 27 | |
27 | 28 |
wcs/roles.py | ||
---|---|---|
19 | 19 |
from django.utils.encoding import force_text |
20 | 20 |
from quixote import get_publisher |
21 | 21 | |
22 |
from .qommon import _, misc |
|
22 |
from .qommon import _ |
|
23 |
from .qommon import misc |
|
23 | 24 |
from .qommon.storage import StorableObject |
24 | 25 | |
25 | 26 |
wcs/root.py | ||
---|---|---|
14 | 14 |
# You should have received a copy of the GNU General Public License |
15 | 15 |
# along with this program; if not, see <http://www.gnu.org/licenses/>. |
16 | 16 | |
17 |
from importlib import import_module |
|
18 | 17 |
import json |
19 | 18 |
import os |
20 | 19 |
import re |
21 | 20 |
import urllib.parse |
21 |
from importlib import import_module |
|
22 | 22 | |
23 |
from quixote import get_publisher, get_response, get_session, redirect, get_session_manager, get_request |
|
23 |
from quixote import get_publisher |
|
24 |
from quixote import get_request |
|
25 |
from quixote import get_response |
|
26 |
from quixote import get_session |
|
27 |
from quixote import get_session_manager |
|
28 |
from quixote import redirect |
|
24 | 29 |
from quixote.directory import Directory |
25 |
from quixote.html import htmltext, TemplateIO |
|
30 |
from quixote.html import TemplateIO |
|
31 |
from quixote.html import htmltext |
|
26 | 32 |
from quixote.util import StaticDirectory |
27 | 33 | |
34 |
from . import portfolio |
|
35 |
from .api import ApiDirectory |
|
36 |
from .categories import Category |
|
37 |
from .formdef import FormDef |
|
28 | 38 |
from .forms import root |
29 |
from .qommon import saml2 |
|
30 | ||
39 |
from .forms.actions import ActionsDirectory |
|
40 |
from .forms.preview import PreviewDirectory |
|
41 |
from .myspace import MyspaceDirectory |
|
31 | 42 |
from .qommon import _ |
32 | 43 |
from .qommon import errors |
33 |
from .qommon import get_cfg, get_logger |
|
34 |
from .qommon import template |
|
35 |
from .qommon.form import * |
|
44 |
from .qommon import get_cfg |
|
45 |
from .qommon import get_logger |
|
36 | 46 |
from .qommon import ident |
37 | 47 |
from .qommon import pages |
38 |
from .qommon.upload_storage import UploadStorageError
|
|
39 | ||
48 |
from .qommon import saml2
|
|
49 |
from .qommon import template |
|
40 | 50 |
from .qommon.afterjobs import AfterJobStatusDirectory |
41 | ||
42 |
from .categories import Category |
|
43 |
from .formdef import FormDef |
|
44 |
from .api import ApiDirectory |
|
45 |
from .myspace import MyspaceDirectory |
|
46 |
from .forms.preview import PreviewDirectory |
|
47 |
from .forms.actions import ActionsDirectory |
|
48 | ||
49 |
from . import portfolio |
|
51 |
from .qommon.form import * |
|
52 |
from .qommon.upload_storage import UploadStorageError |
|
50 | 53 | |
51 | 54 | |
52 | 55 |
class CompatibilityDirectory(Directory): |
wcs/snapshots.py | ||
---|---|---|
17 | 17 |
import xml.etree.ElementTree as ET |
18 | 18 | |
19 | 19 |
from django.utils.timezone import now |
20 |
from quixote import get_publisher |
|
21 |
from quixote import get_session |
|
20 | 22 | |
21 |
from quixote import get_publisher, get_session |
|
22 | ||
23 |
from wcs.qommon import _, misc |
|
23 |
from wcs.qommon import _ |
|
24 |
from wcs.qommon import misc |
|
24 | 25 |
from wcs.qommon.storage import Null |
25 | 26 | |
26 | 27 |
wcs/sql.py | ||
---|---|---|
15 | 15 |
# along with this program; if not, see <http://www.gnu.org/licenses/>. |
16 | 16 | |
17 | 17 |
import copy |
18 |
import datetime |
|
18 | 19 |
import io |
20 |
import re |
|
21 |
import time |
|
22 |
import unicodedata |
|
23 | ||
19 | 24 |
import psycopg2 |
20 | 25 |
import psycopg2.extensions |
21 | 26 |
import psycopg2.extras |
22 |
import datetime |
|
23 |
import time |
|
24 |
import re |
|
25 |
import unicodedata |
|
26 | 27 | |
27 | 28 |
try: |
28 | 29 |
import cPickle as pickle |
29 | 30 |
except ImportError: |
30 | 31 |
import pickle |
31 | 32 | |
32 |
from django.utils.encoding import force_bytes, force_text
|
|
33 | ||
33 |
from django.utils.encoding import force_bytes |
|
34 |
from django.utils.encoding import force_text |
|
34 | 35 |
from quixote import get_publisher |
35 |
from . import qommon |
|
36 |
from wcs.qommon import force_str, PICKLE_KWARGS |
|
37 |
from .qommon.storage import _take, deep_bytes2str, parse_clause as parse_storage_clause |
|
38 |
from .qommon.substitution import invalidate_substitution_cache |
|
39 |
from .qommon import get_cfg |
|
40 |
from .qommon.upload_storage import PicklableUpload |
|
41 |
from .qommon.misc import strftime |
|
42 |
from .publisher import UnpicklerClass |
|
43 | 36 | |
44 |
import wcs.categories |
|
45 | 37 |
import wcs.carddata |
38 |
import wcs.categories |
|
46 | 39 |
import wcs.custom_views |
47 | 40 |
import wcs.formdata |
48 | 41 |
import wcs.logged_errors |
... | ... | |
50 | 43 |
import wcs.snapshots |
51 | 44 |
import wcs.tracking_code |
52 | 45 |
import wcs.users |
46 |
from wcs.qommon import PICKLE_KWARGS |
|
47 |
from wcs.qommon import force_str |
|
48 | ||
49 |
from . import qommon |
|
50 |
from .publisher import UnpicklerClass |
|
51 |
from .qommon import get_cfg |
|
52 |
from .qommon.misc import strftime |
|
53 |
from .qommon.storage import _take |
|
54 |
from .qommon.storage import deep_bytes2str |
|
55 |
from .qommon.storage import parse_clause as parse_storage_clause |
|
56 |
from .qommon.substitution import invalidate_substitution_cache |
|
57 |
from .qommon.upload_storage import PicklableUpload |
|
53 | 58 | |
54 | 59 |
# enable psycogp2 unicode mode, this will fetch postgresql varchar/text columns |
55 | 60 |
# as unicode objects |
... | ... | |
3367 | 3372 | |
3368 | 3373 |
def migrate_views(conn, cur): |
3369 | 3374 |
drop_views(None, conn, cur) |
3370 |
from wcs.formdef import FormDef |
|
3371 | 3375 |
from wcs.carddef import CardDef |
3376 |
from wcs.formdef import FormDef |
|
3372 | 3377 | |
3373 | 3378 |
for formdef in FormDef.select() + CardDef.select(): |
3374 | 3379 |
# make sure all formdefs have up-to-date views |
... | ... | |
3439 | 3444 |
# 41: update full text normalization |
3440 | 3445 |
set_reindex('formdata', 'needed', conn=conn, cur=cur) |
3441 | 3446 |
if sql_level < 46: |
3442 |
from wcs.formdef import FormDef |
|
3443 | 3447 |
from wcs.carddef import CardDef |
3448 |
from wcs.formdef import FormDef |
|
3444 | 3449 | |
3445 | 3450 |
# 24: add index on evolution(formdata_id) |
3446 | 3451 |
# 35: add indexes on formdata(receipt_time) and formdata(anonymised) |
wcs/tracking_code.py | ||
---|---|---|
16 | 16 | |
17 | 17 |
import random |
18 | 18 | |
19 |
from .qommon.storage import StorableObject |
|
20 | ||
21 | 19 |
from .formdef import FormDef |
20 |
from .qommon.storage import StorableObject |
|
22 | 21 | |
23 | 22 | |
24 | 23 |
class TrackingCode(StorableObject): |
wcs/urls.py | ||
---|---|---|
16 | 16 | |
17 | 17 |
from django.conf.urls import url |
18 | 18 | |
19 |
from . import api |
|
19 | 20 |
from . import compat |
20 | 21 |
from . import views |
21 |
from . import api |
|
22 | 22 | |
23 | 23 |
urlpatterns = [ |
24 | 24 |
url(r'^robots.txt$', views.robots_txt), |
wcs/users.py | ||
---|---|---|
18 | 18 | |
19 | 19 |
from quixote import get_publisher |
20 | 20 | |
21 |
from .qommon import _, N_ |
|
22 |
from .qommon.misc import simplify |
|
23 |
from .qommon.storage import StorableObject |
|
24 |
from .qommon import get_cfg |
|
25 | 21 |
import wcs.qommon.storage as st |
26 | 22 | |
27 |
from .qommon.substitution import Substitutions, invalidate_substitution_cache |
|
23 |
from .qommon import N_ |
|
24 |
from .qommon import _ |
|
25 |
from .qommon import get_cfg |
|
26 |
from .qommon.misc import simplify |
|
27 |
from .qommon.storage import StorableObject |
|
28 |
from .qommon.substitution import Substitutions |
|
29 |
from .qommon.substitution import invalidate_substitution_cache |
|
28 | 30 | |
29 | 31 | |
30 | 32 |
class User(StorableObject): |
wcs/utils.py | ||
---|---|---|
18 | 18 | |
19 | 19 |
import django.template.loaders.filesystem |
20 | 20 | |
21 |
from .qommon.publisher import get_cfg |
|
22 |
from .qommon.publisher import get_publisher |
|
21 | 23 |
from .qommon.template import get_theme_directory |
22 |
from .qommon.publisher import get_cfg, get_publisher |
|
23 | 24 | |
24 | 25 | |
25 | 26 |
class TemplateLoader(django.template.loaders.filesystem.Loader): |
wcs/variables.py | ||
---|---|---|
18 | 18 | |
19 | 19 |
from django.utils.encoding import force_text |
20 | 20 |
from django.utils.functional import SimpleLazyObject |
21 | ||
22 |
from quixote import get_publisher, get_request |
|
23 | ||
24 | 21 |
from pyproj import Geod |
25 | ||
26 |
from .qommon import misc, force_str, _ |
|
27 |
from .qommon.evalutils import make_datetime |
|
28 |
from .qommon.templatetags.qommon import parse_datetime |
|
29 |
from .qommon.storage import Or, Equal, NotEqual, Null |
|
30 |
from .qommon.substitution import CompatibilityNamesDict |
|
22 |
from quixote import get_publisher |
|
23 |
from quixote import get_request |
|
31 | 24 | |
32 | 25 |
from .carddef import CardDef |
33 | 26 |
from .formdef import FormDef |
27 |
from .qommon import _ |
|
28 |
from .qommon import force_str |
|
29 |
from .qommon import misc |
|
30 |
from .qommon.evalutils import make_datetime |
|
31 |
from .qommon.storage import Equal |
|
32 |
from .qommon.storage import NotEqual |
|
33 |
from .qommon.storage import Null |
|
34 |
from .qommon.storage import Or |
|
35 |
from .qommon.substitution import CompatibilityNamesDict |
|
36 |
from .qommon.templatetags.qommon import parse_datetime |
|
34 | 37 | |
35 | 38 | |
36 | 39 |
class LazyFormDefObjectsManager(object): |
wcs/views.py | ||
---|---|---|
14 | 14 |
# You should have received a copy of the GNU General Public License |
15 | 15 |
# along with this program; if not, see <http://www.gnu.org/licenses/>. |
16 | 16 | |
17 |
from quixote import get_publisher, get_request, get_response |
|
18 | 17 |
from django.http import HttpResponse |
18 |
from quixote import get_publisher |
|
19 |
from quixote import get_request |
|
20 |
from quixote import get_response |
|
19 | 21 | |
20 |
from .qommon import template |
|
21 | 22 |
from . import compat |
23 |
from .qommon import template |
|
22 | 24 | |
23 | 25 | |
24 | 26 |
class Backoffice(compat.TemplateWithFallbackView): |
wcs/wf/aggregation_email.py | ||
---|---|---|
14 | 14 |
# You should have received a copy of the GNU General Public License |
15 | 15 |
# along with this program; if not, see <http://www.gnu.org/licenses/>. |
16 | 16 | |
17 |
from ..qommon import _, N_ |
|
17 |
from wcs.workflows import WorkflowStatusItem |
|
18 |
from wcs.workflows import register_item_class |
|
19 | ||
20 |
from ..qommon import N_ |
|
21 |
from ..qommon import _ |
|
22 |
from ..qommon import emails |
|
23 |
from ..qommon.cron import CronJob |
|
24 |
from ..qommon.form import * |
|
18 | 25 |
from ..qommon.publisher import get_publisher_class |
19 | 26 |
from ..qommon.storage import StorableObject |
20 |
from ..qommon.form import * |
|
21 |
from ..qommon.cron import CronJob |
|
22 |
from ..qommon import emails |
|
23 | ||
24 |
from wcs.workflows import WorkflowStatusItem, register_item_class |
|
25 | 27 | |
26 | 28 | |
27 | 29 |
class AggregationEmailWorkflowStatusItem(WorkflowStatusItem): |
wcs/wf/anonymise.py | ||
---|---|---|
15 | 15 |
# along with this program; if not, see <http://www.gnu.org/licenses/>. |
16 | 16 | |
17 | 17 |
from wcs.qommon import N_ |
18 |
from wcs.workflows import WorkflowStatusItem, register_item_class |
|
18 |
from wcs.workflows import WorkflowStatusItem |
|
19 |
from wcs.workflows import register_item_class |
|
19 | 20 | |
20 | 21 | |
21 | 22 |
class AnonymiseWorkflowStatusItem(WorkflowStatusItem): |
wcs/wf/attachment.py | ||
---|---|---|
19 | 19 | |
20 | 20 |
from quixote import redirect |
21 | 21 | |
22 |
from ..qommon import _, N_ |
|
22 |
from wcs.forms.common import FileDirectory |
|
23 |
from wcs.forms.common import FormStatusPage |
|
24 |
from wcs.portfolio import has_portfolio |
|
25 |
from wcs.portfolio import push_document |
|
23 | 26 |
from wcs.workflows import * |
27 | ||
28 |
from ..qommon import N_ |
|
29 |
from ..qommon import _ |
|
24 | 30 |
from ..qommon import get_cfg |
25 | 31 |
from ..qommon.errors import * |
26 |
from ..qommon.misc import get_document_type_value_options, xml_node_text |
|
27 | ||
28 |
from wcs.forms.common import FormStatusPage, FileDirectory |
|
29 |
from wcs.portfolio import has_portfolio, push_document |
|
32 |
from ..qommon.misc import get_document_type_value_options |
|
33 |
from ..qommon.misc import xml_node_text |
|
30 | 34 | |
31 | 35 | |
32 | 36 |
def lookup_wf_attachment(self, filename): |
wcs/wf/backoffice_fields.py | ||
---|---|---|
19 | 19 |
from quixote import get_publisher |
20 | 20 |
from quixote.html import htmltext |
21 | 21 | |
22 |
from ..qommon import _, N_ |
|
23 |
from ..qommon.form import ( |
|
24 |
WidgetListAsTable, |
|
25 |
CompositeWidget, |
|
26 |
SingleSelectWidget, |
|
27 |
ComputedExpressionWidget, |
|
28 |
StringWidget, |
|
29 |
) |
|
30 | 22 |
from wcs.fields import WidgetField |
31 |
from wcs.workflows import WorkflowStatusItem, register_item_class |
|
32 | 23 |
from wcs.wf.profile import FieldNode |
24 |
from wcs.workflows import WorkflowStatusItem |
|
25 |
from wcs.workflows import register_item_class |
|
26 | ||
27 |
from ..qommon import N_ |
|
28 |
from ..qommon import _ |
|
29 |
from ..qommon.form import CompositeWidget |
|
30 |
from ..qommon.form import ComputedExpressionWidget |
|
31 |
from ..qommon.form import SingleSelectWidget |
|
32 |
from ..qommon.form import StringWidget |
|
33 |
from ..qommon.form import WidgetListAsTable |
|
33 | 34 | |
34 | 35 | |
35 | 36 |
class SetBackofficeFieldRowWidget(CompositeWidget): |
wcs/wf/create_carddata.py | ||
---|---|---|
14 | 14 |
# You should have received a copy of the GNU General Public License |
15 | 15 |
# along with this program; if not, see <http://www.gnu.org/licenses/>. |
16 | 16 | |
17 |
from wcs.qommon import N_ |
|
18 | 17 |
from quixote import get_publisher |
19 | 18 | |
20 |
from wcs.workflows import register_item_class |
|
21 | 19 |
from wcs.carddef import CardDef |
22 | ||
23 |
from wcs.wf.create_formdata import CreateFormdataWorkflowStatusItem, LinkedFormdataEvolutionPart |
|
20 |
from wcs.qommon import N_ |
|
21 |
from wcs.wf.create_formdata import CreateFormdataWorkflowStatusItem |
|
22 |
from wcs.wf.create_formdata import LinkedFormdataEvolutionPart |
|
23 |
from wcs.workflows import register_item_class |
|
24 | 24 | |
25 | 25 | |
26 | 26 |
class LinkedCardDataEvolutionPart(LinkedFormdataEvolutionPart): |
wcs/wf/create_formdata.py | ||
---|---|---|
17 | 17 |
import time |
18 | 18 |
import xml.etree.ElementTree as ET |
19 | 19 | |
20 |
from quixote import get_request, get_session, get_publisher |
|
21 |
from quixote.html import htmltext |
|
22 | ||
23 | 20 |
from django.utils.functional import cached_property |
21 |
from quixote import get_publisher |
|
22 |
from quixote import get_request |
|
23 |
from quixote import get_session |
|
24 |
from quixote.html import htmltext |
|
24 | 25 | |
25 |
from wcs.qommon import _, N_ |
|
26 |
from wcs.qommon.form import ( |
|
27 |
Form, |
|
28 |
WidgetListAsTable, |
|
29 |
CompositeWidget, |
|
30 |
SingleSelectWidget, |
|
31 |
ComputedExpressionWidget, |
|
32 |
RadiobuttonsWidget, |
|
33 |
CheckboxWidget, |
|
34 |
VarnameWidget, |
|
35 |
HtmlWidget, |
|
36 |
) |
|
37 | ||
38 |
from wcs.workflows import WorkflowStatusItem, register_item_class |
|
39 | 26 |
from wcs.formdef import FormDef |
27 |
from wcs.qommon import N_ |
|
28 |
from wcs.qommon import _ |
|
29 |
from wcs.qommon.form import CheckboxWidget |
|
30 |
from wcs.qommon.form import CompositeWidget |
|
31 |
from wcs.qommon.form import ComputedExpressionWidget |
|
32 |
from wcs.qommon.form import Form |
|
33 |
from wcs.qommon.form import HtmlWidget |
|
34 |
from wcs.qommon.form import RadiobuttonsWidget |
|
35 |
from wcs.qommon.form import SingleSelectWidget |
|
36 |
from wcs.qommon.form import VarnameWidget |
|
37 |
from wcs.qommon.form import WidgetListAsTable |
|
38 |
from wcs.workflows import WorkflowStatusItem |
|
39 |
from wcs.workflows import register_item_class |
|
40 | 40 | |
41 | 41 | |
42 | 42 |
class Mapping(object): |
wcs/wf/criticality.py | ||
---|---|---|
14 | 14 |
# You should have received a copy of the GNU General Public License |
15 | 15 |
# along with this program; if not, see <http://www.gnu.org/licenses/>. |
16 | 16 | |
17 |
from ..qommon import _, N_ |
|
18 | 17 |
from wcs.qommon.form import SingleSelectWidget |
19 |
from wcs.workflows import WorkflowStatusItem, register_item_class |
|
18 |
from wcs.workflows import WorkflowStatusItem |
|
19 |
from wcs.workflows import register_item_class |
|
20 | ||
21 |
from ..qommon import N_ |
|
22 |
from ..qommon import _ |
|
20 | 23 | |
21 | 24 |
MODE_INC = '1' |
22 | 25 |
MODE_DEC = '2' |
wcs/wf/dispatch.py | ||
---|---|---|
19 | 19 | |
20 | 20 |
from quixote.html import htmltext |
21 | 21 | |
22 |
from ..qommon import _, N_ |
|
22 |
from wcs.roles import get_user_roles |
|
23 |
from wcs.workflows import WorkflowStatusItem |
|
24 |
from wcs.workflows import XmlSerialisable |
|
25 |
from wcs.workflows import get_role_name |
|
26 |
from wcs.workflows import register_item_class |
|
27 | ||
28 |
from ..qommon import N_ |
|
29 |
from ..qommon import _ |
|
23 | 30 |
from ..qommon.form import * |
24 | 31 |
from ..qommon.template import Template |
25 |
from wcs.roles import get_user_roles |
|
26 |
from wcs.workflows import XmlSerialisable, WorkflowStatusItem, register_item_class, get_role_name |
|
27 | 32 | |
28 | 33 | |
29 | 34 |
class AutomaticDispatchRowWidget(CompositeWidget): |
wcs/wf/edit_carddata.py | ||
---|---|---|
14 | 14 |
# You should have received a copy of the GNU General Public License |
15 | 15 |
# along with this program; if not, see <http://www.gnu.org/licenses/>. |
16 | 16 | |
17 |
from wcs.qommon import _, N_ |
|
18 | 17 |
from quixote import get_publisher |
19 | 18 | |
20 |
from wcs.workflows import register_item_class
|
|
21 | ||
19 |
from wcs.qommon import N_
|
|
20 |
from wcs.qommon import _ |
|
22 | 21 |
from wcs.wf.create_carddata import CreateCarddataWorkflowStatusItem |
23 | 22 |
from wcs.wf.external_workflow import ExternalWorkflowGlobalAction |
23 |
from wcs.workflows import register_item_class |
|
24 | 24 | |
25 | 25 | |
26 | 26 |
class EditCarddataWorkflowStatusItem(CreateCarddataWorkflowStatusItem, ExternalWorkflowGlobalAction): |
wcs/wf/export_to_model.py | ||
---|---|---|
17 | 17 |
import base64 |
18 | 18 |
import collections |
19 | 19 |
import io |
20 |
from xml.etree import ElementTree as ET |
|
21 |
import zipfile |
|
22 | 20 |
import os |
23 | 21 |
import random |
22 |
import shutil |
|
24 | 23 |
import subprocess |
25 | 24 |
import tempfile |
26 | 25 |
import time |
27 |
import shutil |
|
28 | ||
29 |
from django.utils.encoding import force_bytes, force_text |
|
26 |
import zipfile |
|
27 |
from xml.etree import ElementTree as ET |
|
30 | 28 | |
31 |
from quixote import get_response, get_request, get_publisher |
|
29 |
from django.utils.encoding import force_bytes |
|
30 |
from django.utils.encoding import force_text |
|
31 |
from quixote import get_publisher |
|
32 |
from quixote import get_request |
|
33 |
from quixote import get_response |
|
32 | 34 |
from quixote.directory import Directory |
33 | 35 |
from quixote.html import htmltext |
34 | 36 | |
35 |
from ..qommon import _, N_, ezt, misc, force_str |
|
37 |
from wcs.fields import CommentField |
|
38 |
from wcs.fields import PageField |
|
39 |
from wcs.fields import SubtitleField |
|
40 |
from wcs.fields import TitleField |
|
41 |
from wcs.portfolio import has_portfolio |
|
42 |
from wcs.portfolio import push_document |
|
43 |
from wcs.workflows import AttachmentEvolutionPart |
|
44 |
from wcs.workflows import WorkflowStatusItem |
|
45 |
from wcs.workflows import get_formdata_template_context |
|
46 |
from wcs.workflows import register_item_class |
|
47 |
from wcs.workflows import template_on_context |
|
48 |
from wcs.workflows import template_on_formdata |
|
49 | ||
50 |
from ..qommon import N_ |
|
51 |
from ..qommon import _ |
|
52 |
from ..qommon import ezt |
|
53 |
from ..qommon import force_str |
|
36 | 54 |
from ..qommon import get_logger |
37 |
from ..qommon.form import ( |
|
38 |
SingleSelectWidget, |
|
39 |
WidgetList, |
|
40 |
CheckboxWidget, |
|
41 |
StringWidget, |
|
42 |
UploadWidget, |
|
43 |
WysiwygTextWidget, |
|
44 |
Upload, |
|
45 |
UploadedFile, |
|
46 |
UploadValidationError, |
|
47 |
VarnameWidget, |
|
48 |
RadiobuttonsWidget, |
|
49 |
PicklableUpload, |
|
50 |
ComputedExpressionWidget, |
|
51 |
) |
|
55 |
from ..qommon import misc |
|
52 | 56 |
from ..qommon.errors import PublishError |
57 |
from ..qommon.form import CheckboxWidget |
|
58 |
from ..qommon.form import ComputedExpressionWidget |
|
59 |
from ..qommon.form import PicklableUpload |
|
60 |
from ..qommon.form import RadiobuttonsWidget |
|
61 |
from ..qommon.form import SingleSelectWidget |
|
62 |
from ..qommon.form import StringWidget |
|
63 |
from ..qommon.form import Upload |
|
64 |
from ..qommon.form import UploadedFile |
|
65 |
from ..qommon.form import UploadValidationError |
|
66 |
from ..qommon.form import UploadWidget |
|
67 |
from ..qommon.form import VarnameWidget |
|
68 |
from ..qommon.form import WidgetList |
|
69 |
from ..qommon.form import WysiwygTextWidget |
|
53 | 70 |
from ..qommon.template import TemplateError |
54 | 71 | |
55 |
from wcs.fields import SubtitleField, TitleField, CommentField, PageField |
|
56 |
from wcs.workflows import ( |
|
57 |
WorkflowStatusItem, |
|
58 |
AttachmentEvolutionPart, |
|
59 |
template_on_formdata, |
|
60 |
register_item_class, |
|
61 |
get_formdata_template_context, |
|
62 |
template_on_context, |
|
63 |
) |
|
64 |
from wcs.portfolio import has_portfolio, push_document |
|
65 | ||
66 | 72 |
OO_TEXT_NS = 'urn:oasis:names:tc:opendocument:xmlns:text:1.0' |
67 | 73 |
OO_OFFICE_NS = 'urn:oasis:names:tc:opendocument:xmlns:office:1.0' |
68 | 74 |
OO_STYLE_NS = 'urn:oasis:names:tc:opendocument:xmlns:style:1.0' |
wcs/wf/external_workflow.py | ||
---|---|---|
16 | 16 | |
17 | 17 |
from quixote import get_publisher |
18 | 18 | |
19 |
from wcs.qommon import _, N_ |
|
20 |
from wcs.qommon.form import Form, SingleSelectWidget, ComputedExpressionWidget, RadiobuttonsWidget |
|
21 | ||
22 |
from wcs.workflows import WorkflowStatusItem, perform_items, register_item_class |
|
23 |
from wcs.workflows import WorkflowGlobalActionWebserviceTrigger, Workflow |
|
24 | 19 |
from wcs.carddef import CardDef |
25 | 20 |
from wcs.formdef import FormDef |
21 |
from wcs.qommon import N_ |
|
22 |
from wcs.qommon import _ |
|
23 |
from wcs.qommon.form import ComputedExpressionWidget |
|
24 |
from wcs.qommon.form import Form |
|
25 |
from wcs.qommon.form import RadiobuttonsWidget |
|
26 |
from wcs.qommon.form import SingleSelectWidget |
|
27 |
from wcs.workflows import Workflow |
|
28 |
from wcs.workflows import WorkflowGlobalActionWebserviceTrigger |
|
29 |
from wcs.workflows import WorkflowStatusItem |
|
30 |
from wcs.workflows import perform_items |
|
31 |
from wcs.workflows import register_item_class |
|
26 | 32 | |
27 | 33 | |
28 | 34 |
class ExternalWorkflowGlobalAction(WorkflowStatusItem): |
wcs/wf/form.py | ||
---|---|---|
16 | 16 | |
17 | 17 |
import xml.etree.ElementTree as ET |
18 | 18 | |
19 |
from ..qommon import _, N_ |
|
20 |
from ..qommon.form import * |
|
21 | ||
22 |
from wcs.workflows import WorkflowStatusItem, register_item_class |
|
23 |
from wcs.formdef import FormDef, lax_int |
|
24 | ||
25 |
from wcs.admin.fields import FieldDefPage, FieldsDirectory |
|
19 |
from wcs.admin.fields import FieldDefPage |
|
20 |
from wcs.admin.fields import FieldsDirectory |
|
26 | 21 |
from wcs.formdata import get_dict_with_varnames |
27 | ||
22 |
from wcs.formdef import FormDef |
|
23 |
from wcs.formdef import lax_int |
|
28 | 24 |
from wcs.forms.common import FileDirectory |
29 | 25 |
from wcs.forms.root import FormPage |
26 |
from wcs.workflows import WorkflowStatusItem |
|
27 |
from wcs.workflows import register_item_class |
|
28 | ||
29 |
from ..qommon import N_ |
|
30 |
from ..qommon import _ |
|
31 |
from ..qommon.form import * |
|
30 | 32 | |
31 | 33 | |
32 | 34 |
def lookup_wf_form_file(self, filename): |
wcs/wf/geolocate.py | ||
---|---|---|
20 | 20 | |
21 | 21 |
try: |
22 | 22 |
from PIL import Image |
23 |
from PIL.ExifTags import TAGS, GPSTAGS |
|
23 |
from PIL.ExifTags import GPSTAGS |
|
24 |
from PIL.ExifTags import TAGS |
|
24 | 25 |
from PIL.TiffImagePlugin import IFDRational |
25 | 26 |
except ImportError: |
26 | 27 |
Image = None |
27 | 28 | |
28 | 29 |
from quixote import get_publisher |
29 | 30 | |
30 |
from ..qommon import _, N_, force_str |
|
31 |
from wcs.workflows import WorkflowStatusItem |
|
32 |
from wcs.workflows import register_item_class |
|
33 | ||
34 |
from ..qommon import N_ |
|
35 |
from ..qommon import _ |
|
36 |
from ..qommon import force_str |
|
31 | 37 |
from ..qommon import get_logger |
32 | 38 |
from ..qommon.errors import ConnectionError |
33 |
from ..qommon.form import RadiobuttonsWidget, ComputedExpressionWidget, CheckboxWidget |
|
34 |
from ..qommon.misc import http_get_page, normalize_geolocation |
|
35 |
from wcs.workflows import WorkflowStatusItem, register_item_class |
|
39 |
from ..qommon.form import CheckboxWidget |
|
40 |
from ..qommon.form import ComputedExpressionWidget |
|
41 |
from ..qommon.form import RadiobuttonsWidget |
|
42 |
from ..qommon.misc import http_get_page |
|
43 |
from ..qommon.misc import normalize_geolocation |
|
36 | 44 | |
37 | 45 | |
38 | 46 |
class GeolocateWorkflowStatusItem(WorkflowStatusItem): |
wcs/wf/jump.py | ||
---|---|---|
19 | 19 |
import os |
20 | 20 |
import time |
21 | 21 | |
22 |
from quixote import get_publisher, get_request, redirect |
|
23 | ||
22 |
from quixote import get_publisher |
|
23 |
from quixote import get_request |
|
24 |
from quixote import redirect |
|
24 | 25 |
from quixote.directory import Directory |
25 |
from ..qommon import _, N_, force_str |
|
26 |
from ..qommon.humantime import * |
|
27 |
from ..qommon.form import * |
|
28 |
from ..qommon import errors |
|
29 |
from ..qommon.publisher import get_publisher_class |
|
30 |
from ..qommon.cron import CronJob |
|
31 | 26 | |
32 |
from wcs.workflows import Workflow, WorkflowStatusJumpItem, WorkflowGlobalAction, register_item_class
|
|
33 |
from wcs.api import get_user_from_api_query_string, is_url_signed
|
|
27 |
from wcs.api import get_user_from_api_query_string
|
|
28 |
from wcs.api import is_url_signed |
|
34 | 29 |
from wcs.conditions import Condition |
30 |
from wcs.workflows import Workflow |
|
31 |
from wcs.workflows import WorkflowGlobalAction |
|
32 |
from wcs.workflows import WorkflowStatusJumpItem |
|
33 |
from wcs.workflows import register_item_class |
|
34 | ||
35 |
from ..qommon import N_ |
|
36 |
from ..qommon import _ |
|
37 |
from ..qommon import errors |
|
38 |
from ..qommon import force_str |
|
39 |
from ..qommon.cron import CronJob |
|
40 |
from ..qommon.form import * |
|
41 |
from ..qommon.humantime import * |
|
42 |
from ..qommon.publisher import get_publisher_class |
|
35 | 43 | |
36 | 44 |
JUMP_TIMEOUT_INTERVAL = max((60 // int(os.environ.get('WCS_JUMP_TIMEOUT_CHECKS', '3')), 1)) |
37 | 45 | |
... | ... | |
306 | 314 | |
307 | 315 |
def _apply_timeouts(publisher): |
308 | 316 |
'''Traverse all filled form and apply expired timeout jumps if needed''' |
309 |
from ..formdef import FormDef |
|
310 | 317 |
from ..carddef import CardDef |
318 |
from ..formdef import FormDef |
|
311 | 319 | |
312 | 320 |
wfs_status = workflows_with_timeout() |
313 | 321 |
wcs/wf/notification.py | ||
---|---|---|
18 | 18 | |
19 | 19 |
from quixote import get_publisher |
20 | 20 | |
21 |
from ..qommon import _, N_, ezt |
|
21 |
from wcs.workflows import WorkflowStatusItem |
|
22 |
from wcs.workflows import register_item_class |
|
23 |
from wcs.workflows import template_on_formdata |
|
24 | ||
25 |
from ..qommon import N_ |
|
26 |
from ..qommon import _ |
|
27 |
from ..qommon import ezt |
|
28 |
from ..qommon import get_logger |
|
22 | 29 |
from ..qommon.form import * |
23 | 30 |
from ..qommon.template import TemplateError |
24 |
from ..qommon import get_logger |
|
25 | ||
26 |
from wcs.workflows import WorkflowStatusItem, register_item_class, template_on_formdata |
|
27 | 31 |
from .wscall import WebserviceCallStatusItem |
28 | 32 | |
29 | 33 |
wcs/wf/profile.py | ||
---|---|---|
21 | 21 |
import urllib.parse |
22 | 22 |
import xml.etree.ElementTree as ET |
23 | 23 | |
24 |
from quixote import get_publisher, get_response, get_request |
|
25 | ||
26 |
from ..qommon import _, N_ |
|
27 |
from ..qommon.form import CompositeWidget, SingleSelectWidget, WidgetListAsTable, ComputedExpressionWidget |
|
24 |
from quixote import get_publisher |
|
25 |
from quixote import get_request |
|
26 |
from quixote import get_response |
|
27 | ||
28 |
from wcs.api_utils import MissingSecret |
|
29 |
from wcs.api_utils import get_secret_and_orig |
|
30 |
from wcs.api_utils import sign_url |
|
31 |
from wcs.workflows import WorkflowStatusItem |
|
32 |
from wcs.workflows import XmlSerialisable |
|
33 |
from wcs.workflows import register_item_class |
|
34 | ||
35 |
from ..qommon import N_ |
|
36 |
from ..qommon import _ |
|
37 |
from ..qommon.form import CompositeWidget |
|
38 |
from ..qommon.form import ComputedExpressionWidget |
|
39 |
from ..qommon.form import SingleSelectWidget |
|
40 |
from ..qommon.form import WidgetListAsTable |
|
28 | 41 |
from ..qommon.ident.idp import is_idp_managing_user_attributes |
29 |
from ..qommon.misc import http_patch_request, JSONEncoder |
|
30 |
from ..qommon.publisher import get_cfg, get_logger |
|
31 | ||
32 |
from wcs.api_utils import sign_url, get_secret_and_orig, MissingSecret |
|
33 |
from wcs.workflows import XmlSerialisable, WorkflowStatusItem, register_item_class |
|
42 |
from ..qommon.misc import JSONEncoder |
|
43 |
from ..qommon.misc import http_patch_request |
|
44 |
from ..qommon.publisher import get_cfg |
|
45 |
from ..qommon.publisher import get_logger |
|
34 | 46 | |
35 | 47 | |
36 | 48 |
def user_ws_url(user_uuid): |
wcs/wf/redirect_to_url.py | ||
---|---|---|
14 | 14 |
# You should have received a copy of the GNU General Public License |
15 | 15 |
# along with this program; if not, see <http://www.gnu.org/licenses/>. |
16 | 16 | |
17 |
from ..qommon import _, N_ |
|
17 |
from wcs.workflows import WorkflowStatusItem |
|
18 |
from wcs.workflows import register_item_class |
|
19 | ||
20 |
from ..qommon import N_ |
|
21 |
from ..qommon import _ |
|
18 | 22 |
from ..qommon.form import ComputedExpressionWidget |
19 |
from wcs.workflows import WorkflowStatusItem, register_item_class |
|
20 | 23 | |
21 | 24 | |
22 | 25 |
class RedirectToUrlWorkflowStatusItem(WorkflowStatusItem): |
wcs/wf/register_comment.py | ||
---|---|---|
14 | 14 |
# You should have received a copy of the GNU General Public License |
15 | 15 |
# along with this program; if not, see <http://www.gnu.org/licenses/>. |
16 | 16 | |
17 |
from ..qommon import _, N_, ezt |
|
18 |
from ..qommon.form import * |
|
19 |
from ..qommon.template import TemplateError |
|
20 |
from ..qommon import get_logger |
|
17 |
import sys |
|
21 | 18 | |
22 |
from wcs.workflows import ( |
|
23 |
WorkflowStatusItem, |
|
24 |
register_item_class, |
|
25 |
template_on_formdata, |
|
26 |
AttachmentEvolutionPart, |
|
27 |
) |
|
19 |
from wcs.workflows import AttachmentEvolutionPart |
|
20 |
from wcs.workflows import WorkflowStatusItem |
|
21 |
from wcs.workflows import register_item_class |
|
22 |
from wcs.workflows import template_on_formdata |
|
28 | 23 | |
29 |
import sys |
|
24 |
from ..qommon import N_ |
|
25 |
from ..qommon import _ |
|
26 |
from ..qommon import ezt |
|
27 |
from ..qommon import get_logger |
|
28 |
from ..qommon.form import * |
|
29 |
from ..qommon.template import TemplateError |
|
30 | 30 | |
31 | 31 | |
32 | 32 |
class JournalEvolutionPart: |
wcs/wf/remove.py | ||
---|---|---|
14 | 14 |
# You should have received a copy of the GNU General Public License |
15 | 15 |
# along with this program; if not, see <http://www.gnu.org/licenses/>. |
16 | 16 | |
17 |
from quixote import get_publisher, get_request, get_response, get_session |
|
18 |
from ..qommon import _, N_ |
|
19 |
from wcs.workflows import WorkflowStatusItem, register_item_class |
|
17 |
from quixote import get_publisher |
|
18 |
from quixote import get_request |
|
19 |
from quixote import get_response |
|
20 |
from quixote import get_session |
|
21 | ||
22 |
from wcs.workflows import WorkflowStatusItem |
|
23 |
from wcs.workflows import register_item_class |
|
24 | ||
25 |
from ..qommon import N_ |
|
26 |
from ..qommon import _ |
|
20 | 27 | |
21 | 28 | |
22 | 29 |
class RemoveWorkflowStatusItem(WorkflowStatusItem): |
wcs/wf/resubmit.py | ||
---|---|---|
14 | 14 |
# You should have received a copy of the GNU General Public License |
15 | 15 |
# along with this program; if not, see <http://www.gnu.org/licenses/>. |
16 | 16 | |
17 |
from quixote import get_publisher, get_request, get_session |
|
17 |
from quixote import get_publisher |
|
18 |
from quixote import get_request |
|
19 |
from quixote import get_session |
|
18 | 20 | |
19 |
from ..qommon import _, N_ |
|
20 |
from wcs.workflows import WorkflowStatusItem, register_item_class |
|
21 | 21 |
from wcs.formdef import FormDef |
22 |
from wcs.qommon.form import WidgetList, SingleSelectWidget, StringWidget, WysiwygTextWidget |
|
22 |
from wcs.qommon.form import SingleSelectWidget |
|
23 |
from wcs.qommon.form import StringWidget |
|
24 |
from wcs.qommon.form import WidgetList |
|
25 |
from wcs.qommon.form import WysiwygTextWidget |
|
26 |
from wcs.workflows import WorkflowStatusItem |
|
27 |
from wcs.workflows import register_item_class |
|
28 | ||
29 |
from ..qommon import N_ |
|
30 |
from ..qommon import _ |
|
23 | 31 | |
24 | 32 | |
25 | 33 |
class ResubmitWorkflowStatusItem(WorkflowStatusItem): |
wcs/wf/roles.py | ||
---|---|---|
17 | 17 |
import sys |
18 | 18 |
import urllib.parse |
19 | 19 | |
20 |
from quixote import get_request, get_publisher, get_response |
|
20 |
from quixote import get_publisher |
|
21 |
from quixote import get_request |
|
22 |
from quixote import get_response |
|
21 | 23 | |
22 |
from ..qommon import _, N_
|
|
23 |
from ..qommon.form import *
|
|
24 |
from wcs.workflows import WorkflowStatusItem, register_item_class
|
|
24 |
from wcs.api_utils import MissingSecret
|
|
25 |
from wcs.api_utils import get_secret_and_orig
|
|
26 |
from wcs.api_utils import sign_url
|
|
25 | 27 |
from wcs.roles import get_user_roles |
28 |
from wcs.workflows import WorkflowStatusItem |
|
29 |
from wcs.workflows import register_item_class |
|
30 | ||
31 |
from ..qommon import N_ |
|
32 |
from ..qommon import _ |
|
33 |
from ..qommon.form import * |
|
26 | 34 |
from ..qommon.ident.idp import is_idp_managing_user_attributes |
27 |
from ..qommon.misc import http_post_request, http_delete_request |
|
28 |
from ..qommon.publisher import get_cfg, get_logger |
|
29 |
from wcs.api_utils import sign_url, get_secret_and_orig, MissingSecret |
|
35 |
from ..qommon.misc import http_delete_request |
|
36 |
from ..qommon.misc import http_post_request |
|
37 |
from ..qommon.publisher import get_cfg |
|
38 |
from ..qommon.publisher import get_logger |
|
30 | 39 | |
31 | 40 | |
32 | 41 |
def roles_ws_url(role_uuid, user_uuid): |
wcs/wf/timeout_jump.py | ||
---|---|---|
15 | 15 |
# along with this program; if not, see <http://www.gnu.org/licenses/>. |
16 | 16 | |
17 | 17 |
from wcs.qommon import N_ |
18 |
from .jump import JumpWorkflowStatusItem, register_item_class |
|
18 | ||
19 |
from .jump import JumpWorkflowStatusItem |
|
20 |
from .jump import register_item_class |
|
19 | 21 | |
20 | 22 | |
21 | 23 |
class TimeoutWorkflowStatusItem(JumpWorkflowStatusItem): |
wcs/wf/wscall.py | ||
---|---|---|
14 | 14 |
# You should have received a copy of the GNU General Public License |
15 | 15 |
# along with this program; if not, see <http://www.gnu.org/licenses/>. |
16 | 16 | |
17 |
import collections |
|
17 | 18 |
import datetime |
18 | 19 |
import io |
20 |
import mimetypes |
|
19 | 21 |
import sys |
20 | 22 |
import traceback |
21 | 23 |
import xml.etree.ElementTree as ET |
22 |
import collections |
|
23 |
import mimetypes |
|
24 | 24 | |
25 | 25 |
from django.utils.encoding import force_text |
26 | ||
27 |
from quixote.html import TemplateIO, htmltext |
|
28 | ||
29 |
from ..qommon import _, N_, force_str |
|
26 |
from quixote.html import TemplateIO |
|
27 |
from quixote.html import htmltext |
|
28 | ||
29 |
from wcs.workflows import AbortActionException |
|
30 |
from wcs.workflows import AttachmentEvolutionPart |
|
31 |
from wcs.workflows import WorkflowStatusItem |
|
32 |
from wcs.workflows import register_item_class |
|
33 |
from wcs.wscalls import call_webservice |
|
34 |
from wcs.wscalls import get_app_error_code |
|
35 | ||
36 |
from ..qommon import N_ |
|
37 |
from ..qommon import _ |
|
38 |
from ..qommon import force_str |
|
30 | 39 |
from ..qommon.errors import ConnectionError |
31 | 40 |
from ..qommon.form import * |
32 | 41 |
from ..qommon.misc import json_loads |
33 |
from wcs.workflows import ( |
|
34 |
WorkflowStatusItem, |
|
35 |
register_item_class, |
|
36 |
AbortActionException, |
|
37 |
AttachmentEvolutionPart, |
|
38 |
) |
|
39 |
from wcs.wscalls import call_webservice, get_app_error_code |
|
40 | 42 | |
41 | 43 | |
42 | 44 |
class JournalWsCallErrorPart: |
wcs/workflows.py | ||
---|---|---|
14 | 14 |
# You should have received a copy of the GNU General Public License |
15 | 15 |
# along with this program; if not, see <http://www.gnu.org/licenses/>. |
16 | 16 | |
17 |
from .qommon import ezt |
|
18 | 17 |
import collections |
19 | 18 |
import copy |
20 | 19 |
import datetime |
21 |
import xml.etree.ElementTree as ET |
|
22 |
import random |
|
23 | 20 |
import os |
21 |
import random |
|
24 | 22 |
import sys |
25 | 23 |
import time |
26 | 24 |
import uuid |
25 |
import xml.etree.ElementTree as ET |
|
27 | 26 | |
28 | 27 |
from django.utils.encoding import force_text |
29 | ||
30 |
from quixote import get_request, get_response, redirect, get_publisher |
|
31 | ||
32 |
from .qommon import _, N_, force_str |
|
33 |
from .qommon.misc import C_, get_as_datetime, file_digest, get_foreground_colour, xml_node_text |
|
34 |
from .qommon.storage import StorableObject, atomic_write, NotEqual, Contains, Null, pickle_2to3_conversion |
|
35 |
from .qommon.form import * |
|
36 |
from .qommon.humantime import seconds2humanduration |
|
37 |
from .qommon import emails, get_cfg, get_logger |
|
28 |
from quixote import get_publisher |
|
29 |
from quixote import get_request |
|
30 |
from quixote import get_response |
|
31 |
from quixote import redirect |
|
38 | 32 |
from quixote.html import htmltext |
39 |
from .qommon import errors |
|
40 |
from .qommon.template import Template, TemplateError |
|
41 |
from .qommon.upload_storage import PicklableUpload, get_storage_object |
|
42 | 33 | |
34 |
from .carddef import CardDef |
|
43 | 35 |
from .conditions import Condition |
44 |
from .roles import logged_users_role, get_user_roles |
|
45 | 36 |
from .fields import FileField |
46 |
from .formdef import FormDef, FormdefImportError |
|
47 |
from .carddef import CardDef |
|
48 | 37 |
from .formdata import Evolution |
38 |
from .formdef import FormDef |
|
39 |
from .formdef import FormdefImportError |
|
49 | 40 |
from .mail_templates import MailTemplate |
41 |
from .qommon import N_ |
|
42 |
from .qommon import _ |
|
43 |
from .qommon import emails |
|
44 |
from .qommon import errors |
|
45 |
from .qommon import ezt |
|
46 |
from .qommon import force_str |
|
47 |
from .qommon import get_cfg |
|
48 |
from .qommon import get_logger |
|
49 |
from .qommon.form import * |
|
50 |
from .qommon.humantime import seconds2humanduration |
|
51 |
from .qommon.misc import C_ |
|
52 |
from .qommon.misc import file_digest |
|
53 |
from .qommon.misc import get_as_datetime |
|
54 |
from .qommon.misc import get_foreground_colour |
|
55 |
from .qommon.misc import xml_node_text |
|
56 |
from .qommon.storage import Contains |
|
57 |
from .qommon.storage import NotEqual |
|
58 |
from .qommon.storage import Null |
|
59 |
from .qommon.storage import StorableObject |
|
60 |
from .qommon.storage import atomic_write |
|
61 |
from .qommon.storage import pickle_2to3_conversion |
|
62 |
from .qommon.template import Template |
|
63 |
from .qommon.template import TemplateError |
|
64 |
from .qommon.upload_storage import PicklableUpload |
|
65 |
from .qommon.upload_storage import get_storage_object |
|
66 |
from .roles import get_user_roles |
|
67 |
from .roles import logged_users_role |
|
50 | 68 | |
51 | 69 |
if not __name__.startswith('wcs.') and not __name__ == "__main__": |
52 | 70 |
raise ImportError('Import of workflows module must be absolute (import wcs.workflows)') |
wcs/wscalls.py | ||
---|---|---|
21 | 21 |
import xml.etree.ElementTree as ET |
22 | 22 | |
23 | 23 |
from django.utils.encoding import force_text |
24 |
from quixote import get_publisher |
|
25 |
from quixote import get_request |
|
24 | 26 | |
25 |
from quixote import get_publisher, get_request |
|
27 |
from wcs.api_utils import MissingSecret |
|
28 |
from wcs.api_utils import get_secret_and_orig |
|
29 |
from wcs.api_utils import sign_url |
|
30 |
from wcs.workflows import WorkflowStatusItem |
|
26 | 31 | |
27 |
from .qommon import _, force_str |
|
28 |
from .qommon.misc import simplify, get_variadic_url, JSONEncoder, json_loads |
|
29 |
from .qommon.xml_storage import XmlStorableObject |
|
30 |
from .qommon.form import ( |
|
31 |
CompositeWidget, |
|
32 |
StringWidget, |
|
33 |
WidgetDict, |
|
34 |
ComputedExpressionWidget, |
|
35 |
RadiobuttonsWidget, |
|
36 |
CheckboxWidget, |
|
37 |
) |
|
32 |
from .qommon import _ |
|
33 |
from .qommon import force_str |
|
38 | 34 |
from .qommon import misc |
35 |
from .qommon.form import CheckboxWidget |
|
36 |
from .qommon.form import CompositeWidget |
|
37 |
from .qommon.form import ComputedExpressionWidget |
|
38 |
from .qommon.form import RadiobuttonsWidget |
|
39 |
from .qommon.form import StringWidget |
|
40 |
from .qommon.form import WidgetDict |
|
41 |
from .qommon.misc import JSONEncoder |
|
42 |
from .qommon.misc import get_variadic_url |
|
43 |
from .qommon.misc import json_loads |
|
44 |
from .qommon.misc import simplify |
|
39 | 45 |
from .qommon.template import Template |
40 | ||
41 |
from wcs.api_utils import sign_url, get_secret_and_orig, MissingSecret |
|
42 |
from wcs.workflows import WorkflowStatusItem |
|
46 |
from .qommon.xml_storage import XmlStorableObject |
|
43 | 47 | |
44 | 48 | |
45 | 49 |
def get_app_error_code(response, data, response_type): |
46 |
- |