Skip to content

Commit 85f1ea4

Browse files
committed
Rename questionnaire to project
1 parent db7f23b commit 85f1ea4

File tree

12 files changed

+91
-82
lines changed

12 files changed

+91
-82
lines changed

packages/dsw-database/dsw/database/database.py

Lines changed: 21 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@
1414
from .model import DBDocumentTemplate, DBDocumentTemplateFile, \
1515
DBDocumentTemplateAsset, DBDocument, DBComponent, \
1616
DocumentState, DBTenantLimits, DBSubmission, \
17-
DBInstanceConfigMail, DBQuestionnaireSimple, \
17+
DBInstanceConfigMail, DBProjectSimple, \
1818
DBUserEntity, DBLocale, DBDocumentTemplateFormat, \
1919
DBDocumentTemplateStep
2020

@@ -36,15 +36,15 @@ class Database:
3636

3737
SELECT_DOCUMENT = ('SELECT * FROM document '
3838
'WHERE uuid = %s AND tenant_uuid = %s LIMIT 1;')
39-
SELECT_QTN_DOCUMENTS = ('SELECT * FROM document '
40-
'WHERE questionnaire_uuid = %s AND tenant_uuid = %s;')
39+
SELECT_DOCUMENTS = ('SELECT * FROM document '
40+
'WHERE project_uuid = %s AND tenant_uuid = %s;')
4141
SELECT_DOCUMENT_SUBMISSIONS = ('SELECT * FROM submission '
4242
'WHERE document_uuid = %s AND tenant_uuid = %s;')
43-
SELECT_QTN_SUBMISSIONS = ('SELECT s.* '
44-
'FROM document d JOIN submission s ON d.uuid = s.document_uuid '
45-
'WHERE d.questionnaire_uuid = %s AND d.tenant_uuid = %s;')
46-
SELECT_QTN_SIMPLE = ('SELECT qtn.* FROM questionnaire qtn '
47-
'WHERE qtn.uuid = %s AND qtn.tenant_uuid = %s;')
43+
SELECT_SUBMISSIONS = ('SELECT s.* '
44+
'FROM document d JOIN submission s ON d.uuid = s.document_uuid '
45+
'WHERE d.project_uuid = %s AND d.tenant_uuid = %s;')
46+
SELECT_PROJECT_SIMPLE = ('SELECT p.* FROM project p '
47+
'WHERE p.uuid = %s AND p.tenant_uuid = %s;')
4848
SELECT_TENANT_LIMIT = ('SELECT uuid, storage FROM tenant_limit_bundle '
4949
'WHERE uuid = %(tenant_uuid)s LIMIT 1;')
5050
UPDATE_DOCUMENT_STATE = 'UPDATE document SET state = %s, worker_log = %s WHERE uuid = %s;'
@@ -79,7 +79,7 @@ class Database:
7979
'+ (SELECT COALESCE(SUM(file_size)::bigint, 0) '
8080
'FROM document_template_asset WHERE tenant_uuid = %(tenant_uuid)s) '
8181
'+ (SELECT COALESCE(SUM(file_size)::bigint, 0) '
82-
'FROM questionnaire_file WHERE tenant_uuid = %(tenant_uuid)s) '
82+
'FROM project_file WHERE tenant_uuid = %(tenant_uuid)s) '
8383
'AS result;')
8484
SELECT_USER = ('SELECT * FROM user_entity '
8585
'WHERE uuid = %(user_uuid)s AND tenant_uuid = %(tenant_uuid)s;')
@@ -271,12 +271,12 @@ def fetch_template_assets(
271271
before=tenacity.before_log(LOG, logging.DEBUG),
272272
after=tenacity.after_log(LOG, logging.DEBUG),
273273
)
274-
def fetch_qtn_documents(self, questionnaire_uuid: str,
274+
def fetch_project_documents(self, project_uuid: str,
275275
tenant_uuid: str) -> list[DBDocument]:
276276
with self.conn_query.new_cursor(use_dict=True) as cursor:
277277
cursor.execute(
278-
query=self.SELECT_QTN_DOCUMENTS,
279-
params=(questionnaire_uuid, tenant_uuid),
278+
query=self.SELECT_DOCUMENTS,
279+
params=(project_uuid, tenant_uuid),
280280
)
281281
return [DBDocument.from_dict_row(x) for x in cursor.fetchall()]
282282

@@ -303,12 +303,12 @@ def fetch_document_submissions(self, document_uuid: str,
303303
before=tenacity.before_log(LOG, logging.DEBUG),
304304
after=tenacity.after_log(LOG, logging.DEBUG),
305305
)
306-
def fetch_questionnaire_submissions(self, questionnaire_uuid: str,
307-
tenant_uuid: str) -> list[DBSubmission]:
306+
def fetch_submissions(self, project_uuid: str,
307+
tenant_uuid: str) -> list[DBSubmission]:
308308
with self.conn_query.new_cursor(use_dict=True) as cursor:
309309
cursor.execute(
310-
query=self.SELECT_QTN_SUBMISSIONS,
311-
params=(questionnaire_uuid, tenant_uuid),
310+
query=self.SELECT_SUBMISSIONS,
311+
params=(project_uuid, tenant_uuid),
312312
)
313313
return [DBSubmission.from_dict_row(x) for x in cursor.fetchall()]
314314

@@ -319,14 +319,14 @@ def fetch_questionnaire_submissions(self, questionnaire_uuid: str,
319319
before=tenacity.before_log(LOG, logging.DEBUG),
320320
after=tenacity.after_log(LOG, logging.DEBUG),
321321
)
322-
def fetch_questionnaire_simple(self, questionnaire_uuid: str,
323-
tenant_uuid: str) -> DBQuestionnaireSimple:
322+
def fetch_project_simple(self, project_uuid: str,
323+
tenant_uuid: str) -> DBProjectSimple:
324324
with self.conn_query.new_cursor(use_dict=True) as cursor:
325325
cursor.execute(
326-
query=self.SELECT_QTN_SIMPLE,
327-
params=(questionnaire_uuid, tenant_uuid),
326+
query=self.SELECT_PROJECT_SIMPLE,
327+
params=(project_uuid, tenant_uuid),
328328
)
329-
return DBQuestionnaireSimple.from_dict_row(cursor.fetchone())
329+
return DBProjectSimple.from_dict_row(cursor.fetchone())
330330

331331
@tenacity.retry(
332332
reraise=True,

packages/dsw-database/dsw/database/model.py

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -45,9 +45,9 @@ class DBDocument:
4545
name: str
4646
state: str
4747
durability: str
48-
questionnaire_uuid: str
49-
questionnaire_event_uuid: str
50-
questionnaire_replies_hash: str
48+
project_uuid: str
49+
project_event_uuid: str
50+
project_replies_hash: str
5151
document_template_id: str
5252
format_uuid: str
5353
file_name: str
@@ -67,9 +67,9 @@ def from_dict_row(data: dict):
6767
name=data['name'],
6868
state=data['state'],
6969
durability=data['durability'],
70-
questionnaire_uuid=str(data['questionnaire_uuid']),
71-
questionnaire_event_uuid=str(data['questionnaire_event_uuid']),
72-
questionnaire_replies_hash=data['questionnaire_replies_hash'],
70+
project_uuid=str(data['project_uuid']),
71+
project_event_uuid=str(data['project_event_uuid']),
72+
project_replies_hash=data['project_replies_hash'],
7373
document_template_id=data['document_template_id'],
7474
format_uuid=str(data['format_uuid']),
7575
created_by=str(data['created_by']),
@@ -323,10 +323,10 @@ def to_dict(self) -> dict:
323323

324324

325325
@dataclasses.dataclass
326-
class DBQuestionnaireSimple:
326+
class DBProjectSimple:
327327
# without: events, answered_questions, unanswered_questions,
328328
# squashed, versions, selected_question_tag_uuids
329-
TABLE_NAME = 'questionnaire'
329+
TABLE_NAME = 'project'
330330

331331
uuid: str
332332
name: str
@@ -345,7 +345,7 @@ class DBQuestionnaireSimple:
345345

346346
@staticmethod
347347
def from_dict_row(data: dict):
348-
return DBQuestionnaireSimple(
348+
return DBProjectSimple(
349349
uuid=str(data['uuid']),
350350
name=data['name'],
351351
visibility=data['visibility'],

packages/dsw-document-worker/dsw/document_worker/model/context.py

Lines changed: 43 additions & 34 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22
import abc
33
import datetime
44
import typing
5+
from warnings import deprecated
56

67
import dateutil.parser as dp
78

@@ -928,15 +929,15 @@ def __init__(self, *, path: str, created_at: datetime.datetime,
928929
reply_type='FileReply',
929930
)
930931
self.file_uuid = file_uuid
931-
self.file: QuestionnaireFile | None = None
932+
self.file: ProjectFile | None = None
932933

933934
@property
934935
def value(self) -> str:
935936
return self.file_uuid
936937

937938
def resolve_links(self, ctx):
938939
super().resolve_links_parent(ctx)
939-
self.file = ctx.questionnaire.files.get(self.file_uuid, None)
940+
self.file = ctx.project.files.get(self.file_uuid, None)
940941
if self.file is not None:
941942
self.file.reply = self
942943

@@ -1749,7 +1750,7 @@ def load(data: dict, **options):
17491750
)
17501751

17511752

1752-
class QuestionnaireVersion:
1753+
class ProjectVersion:
17531754

17541755
def __init__(self, *, uuid: str, event_uuid: str, name: str, description: str | None,
17551756
created_at: datetime.datetime, updated_at: datetime.datetime,
@@ -1764,7 +1765,7 @@ def __init__(self, *, uuid: str, event_uuid: str, name: str, description: str |
17641765

17651766
@staticmethod
17661767
def load(data: dict, **options):
1767-
return QuestionnaireVersion(
1768+
return ProjectVersion(
17681769
uuid=data['uuid'],
17691770
event_uuid=data['eventUuid'],
17701771
name=data['name'],
@@ -1805,7 +1806,7 @@ def items(self) -> typing.ItemsView[str, Reply]:
18051806
return self.replies.items()
18061807

18071808

1808-
class QuestionnaireFile:
1809+
class ProjectFile:
18091810

18101811
def __init__(self, *, uuid: str, file_name: str, file_size: int,
18111812
content_type: str):
@@ -1816,25 +1817,29 @@ def __init__(self, *, uuid: str, file_name: str, file_size: int,
18161817

18171818
self.reply: FileReply | None = None
18181819
self.download_url: str = ''
1819-
self.questionnaire_uuid: str | None = None
1820+
self.project_uuid: str | None = None
1821+
1822+
@property
1823+
def questionnaire_uuid(self) -> str | None:
1824+
return self.project_uuid
18201825

18211826
def resolve_links(self, ctx):
1822-
self.questionnaire_uuid = ctx.questionnaire.uuid
1827+
self.project_uuid = ctx.project.uuid
18231828
client_url = ctx.config.client_url
1824-
self.download_url = (f'{client_url}/projects/{self.questionnaire_uuid}'
1829+
self.download_url = (f'{client_url}/projects/{self.project_uuid}'
18251830
f'/files/{self.uuid}/download')
18261831

18271832
@staticmethod
18281833
def load(data: dict, **options):
1829-
return QuestionnaireFile(
1834+
return ProjectFile(
18301835
uuid=data['uuid'],
18311836
file_name=data['fileName'],
18321837
file_size=data['fileSize'],
18331838
content_type=data['contentType'],
18341839
)
18351840

18361841

1837-
class Questionnaire:
1842+
class Project:
18381843

18391844
def __init__(self, *, uuid: str, name: str, description: str | None,
18401845
created_by: User, phase_uuid: str | None,
@@ -1847,9 +1852,9 @@ def __init__(self, *, uuid: str, name: str, description: str | None,
18471852
self.created_at = created_at
18481853
self.updated_at = updated_at
18491854

1850-
self.version: QuestionnaireVersion | None = None
1851-
self.versions: list[QuestionnaireVersion] = []
1852-
self.files: dict[str, QuestionnaireFile] = {}
1855+
self.version: ProjectVersion | None = None
1856+
self.versions: list[ProjectVersion] = []
1857+
self.files: dict[str, ProjectFile] = {}
18531858
self.todos: list[str] = []
18541859
self.project_tags: list[str] = []
18551860
self.phase: Phase = PHASE_NEVER
@@ -1859,38 +1864,38 @@ def __init__(self, *, uuid: str, name: str, description: str | None,
18591864
def resolve_links(self, ctx):
18601865
for reply in self.replies.values():
18611866
reply.resolve_links(ctx)
1862-
for questionnaire_file in self.files.values():
1863-
questionnaire_file.resolve_links(ctx)
1867+
for file in self.files.values():
1868+
file.resolve_links(ctx)
18641869

18651870
@staticmethod
18661871
def load(data: dict, **options):
1867-
questionnaire_uuid = data['uuid']
1868-
versions = [QuestionnaireVersion.load(d, **options)
1872+
entity_uuid = data['uuid']
1873+
versions = [ProjectVersion.load(d, **options)
18691874
for d in data['versions']]
18701875
version = None
18711876
replies = {p: _load_reply(p, d, **options)
18721877
for p, d in data['replies'].items()}
1873-
files = {d['uuid']: QuestionnaireFile.load(d, **options)
1878+
files = {d['uuid']: ProjectFile.load(d, **options)
18741879
for d in data.get('files', [])}
18751880
for v in versions:
18761881
if v.uuid == data['versionUuid']:
18771882
version = v
1878-
qtn = Questionnaire(
1879-
uuid=questionnaire_uuid,
1883+
entity = Project(
1884+
uuid=entity_uuid,
18801885
name=data['name'],
18811886
description=data['description'] or '',
18821887
created_by=User.load(data['createdBy'], **options),
18831888
phase_uuid=data['phaseUuid'],
18841889
created_at=_datetime(data['createdAt']),
18851890
updated_at=_datetime(data['updatedAt']),
18861891
)
1887-
qtn.version = version
1888-
qtn.versions = versions
1889-
qtn.files = files
1890-
qtn.project_tags = data.get('projectTags', [])
1891-
qtn.replies.replies = replies
1892-
qtn.todos = [k for k, v in data.get('labels', {}).items() if TODO_LABEL_UUID in v]
1893-
return qtn
1892+
entity.version = version
1893+
entity.versions = versions
1894+
entity.files = files
1895+
entity.project_tags = data.get('projectTags', [])
1896+
entity.replies.replies = replies
1897+
entity.todos = [k for k, v in data.get('labels', {}).items() if TODO_LABEL_UUID in v]
1898+
return entity
18941899

18951900

18961901
class Package:
@@ -2158,7 +2163,7 @@ def __init__(self, *, ctx, **options):
21582163
)
21592164
self.config = ContextConfig.load(ctx['config'], **options)
21602165
self.km = KnowledgeModel.load(ctx['knowledgeModel'], **options)
2161-
self.questionnaire = Questionnaire.load(ctx['questionnaire'], **options)
2166+
self.project = Project.load(ctx['questionnaire'], **options)
21622167
self.report = Report.load(ctx['report'], **options)
21632168
self.document = Document.load(ctx['document'], **options)
21642169
self.package = Package.load(ctx['package'], **options)
@@ -2179,8 +2184,12 @@ def cfg(self) -> ContextConfig:
21792184
return self.config
21802185

21812186
@property
2182-
def qtn(self) -> Questionnaire:
2183-
return self.questionnaire
2187+
def qtn(self) -> Project:
2188+
return self.project
2189+
2190+
@property
2191+
def questionnaire(self) -> Project:
2192+
return self.project
21842193

21852194
@property
21862195
def org(self) -> Organization:
@@ -2196,16 +2205,16 @@ def doc(self) -> Document:
21962205

21972206
@property
21982207
def replies(self) -> RepliesContainer:
2199-
return self.questionnaire.replies
2208+
return self.project.replies
22002209

22012210
def resolve_links(self):
2202-
phase_uuid = self.questionnaire.phase_uuid
2211+
phase_uuid = self.project.phase_uuid
22032212
if phase_uuid is not None and phase_uuid in self.e.phases:
22042213
self.current_phase = self.e.phases[phase_uuid]
2205-
self.questionnaire.phase = self.current_phase
2214+
self.project.phase = self.current_phase
22062215
self.km.resolve_links(self)
22072216
self.report.resolve_links(self)
2208-
self.questionnaire.resolve_links(self)
2217+
self.project.resolve_links(self)
22092218

22102219
rv = ReplyVisitor(context=self)
22112220
rv.visit()

packages/dsw-document-worker/dsw/document_worker/templates/steps/template.py

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@
1010
from ...consts import DEFAULT_ENCODING
1111
from ...context import Context
1212
from ...documents import DocumentFile, FileFormat, FileFormats
13-
from ...model.context import QuestionnaireFile
13+
from ...model.context import ProjectFile
1414
from ...model.http import RequestsWrapper
1515
from ..filters import filters
1616
from ..tests import tests
@@ -178,11 +178,11 @@ def __init__(self, template, options: dict):
178178
self.raise_exc(f'Failed loading Jinja2 template: {e}')
179179

180180
def _execute(self, **jinja_args):
181-
def assets(source: str | QuestionnaireFile | dict):
182-
if isinstance(source, QuestionnaireFile):
183-
return self.template.fetch_questionnaire_file(source)
181+
def assets(source: str | ProjectFile | dict):
182+
if isinstance(source, ProjectFile):
183+
return self.template.fetch_project_file(source)
184184
if isinstance(source, dict):
185-
return self.template.fetch_questionnaire_file_dict(source)
185+
return self.template.fetch_project_file_dict(source)
186186
if isinstance(source, str):
187187
return self.template.fetch_asset(source)
188188
return None

packages/dsw-document-worker/dsw/document_worker/templates/templates.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@
1212
from ..context import Context
1313
from ..documents import DocumentFile
1414
from .formats import Format
15-
from ..model.context import QuestionnaireFile
15+
from ..model.context import ProjectFile
1616
from .steps.base import register_step, Step
1717

1818

packages/dsw-mailer/examples/msg.wizard.questionnaireInvitation.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
{
22
"id": "2ff6a64c-b781-4aea-8873-2ccb3e9ee3d7",
3-
"type": "wizard:questionnaireInvitation",
4-
"trigger": "file:msg.wizard.questionnaireInvitation.json",
3+
"type": "wizard:projectInvitation",
4+
"trigger": "file:msg.wizard.projectInvitation.json",
55
"ctx": {
66
"email": "[email protected]",
77
"invitee": {

0 commit comments

Comments
 (0)