Skip to content

Commit 76b9699

Browse files
committed
Rename questionnaire to project
1 parent db7f23b commit 76b9699

File tree

14 files changed

+117
-110
lines changed

14 files changed

+117
-110
lines changed

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

Lines changed: 21 additions & 22 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,11 @@ 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,
275-
tenant_uuid: str) -> list[DBDocument]:
274+
def fetch_project_documents(self, project_uuid: str, tenant_uuid: str) -> list[DBDocument]:
276275
with self.conn_query.new_cursor(use_dict=True) as cursor:
277276
cursor.execute(
278-
query=self.SELECT_QTN_DOCUMENTS,
279-
params=(questionnaire_uuid, tenant_uuid),
277+
query=self.SELECT_DOCUMENTS,
278+
params=(project_uuid, tenant_uuid),
280279
)
281280
return [DBDocument.from_dict_row(x) for x in cursor.fetchall()]
282281

@@ -303,12 +302,12 @@ def fetch_document_submissions(self, document_uuid: str,
303302
before=tenacity.before_log(LOG, logging.DEBUG),
304303
after=tenacity.after_log(LOG, logging.DEBUG),
305304
)
306-
def fetch_questionnaire_submissions(self, questionnaire_uuid: str,
307-
tenant_uuid: str) -> list[DBSubmission]:
305+
def fetch_submissions(self, project_uuid: str,
306+
tenant_uuid: str) -> list[DBSubmission]:
308307
with self.conn_query.new_cursor(use_dict=True) as cursor:
309308
cursor.execute(
310-
query=self.SELECT_QTN_SUBMISSIONS,
311-
params=(questionnaire_uuid, tenant_uuid),
309+
query=self.SELECT_SUBMISSIONS,
310+
params=(project_uuid, tenant_uuid),
312311
)
313312
return [DBSubmission.from_dict_row(x) for x in cursor.fetchall()]
314313

@@ -319,14 +318,14 @@ def fetch_questionnaire_submissions(self, questionnaire_uuid: str,
319318
before=tenacity.before_log(LOG, logging.DEBUG),
320319
after=tenacity.after_log(LOG, logging.DEBUG),
321320
)
322-
def fetch_questionnaire_simple(self, questionnaire_uuid: str,
323-
tenant_uuid: str) -> DBQuestionnaireSimple:
321+
def fetch_project_simple(self, project_uuid: str,
322+
tenant_uuid: str) -> DBProjectSimple:
324323
with self.conn_query.new_cursor(use_dict=True) as cursor:
325324
cursor.execute(
326-
query=self.SELECT_QTN_SIMPLE,
327-
params=(questionnaire_uuid, tenant_uuid),
325+
query=self.SELECT_PROJECT_SIMPLE,
326+
params=(project_uuid, tenant_uuid),
328327
)
329-
return DBQuestionnaireSimple.from_dict_row(cursor.fetchone())
328+
return DBProjectSimple.from_dict_row(cursor.fetchone())
330329

331330
@tenacity.retry(
332331
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: 42 additions & 34 deletions
Original file line numberDiff line numberDiff line change
@@ -928,15 +928,15 @@ def __init__(self, *, path: str, created_at: datetime.datetime,
928928
reply_type='FileReply',
929929
)
930930
self.file_uuid = file_uuid
931-
self.file: QuestionnaireFile | None = None
931+
self.file: ProjectFile | None = None
932932

933933
@property
934934
def value(self) -> str:
935935
return self.file_uuid
936936

937937
def resolve_links(self, ctx):
938938
super().resolve_links_parent(ctx)
939-
self.file = ctx.questionnaire.files.get(self.file_uuid, None)
939+
self.file = ctx.project.files.get(self.file_uuid, None)
940940
if self.file is not None:
941941
self.file.reply = self
942942

@@ -1749,7 +1749,7 @@ def load(data: dict, **options):
17491749
)
17501750

17511751

1752-
class QuestionnaireVersion:
1752+
class ProjectVersion:
17531753

17541754
def __init__(self, *, uuid: str, event_uuid: str, name: str, description: str | None,
17551755
created_at: datetime.datetime, updated_at: datetime.datetime,
@@ -1764,7 +1764,7 @@ def __init__(self, *, uuid: str, event_uuid: str, name: str, description: str |
17641764

17651765
@staticmethod
17661766
def load(data: dict, **options):
1767-
return QuestionnaireVersion(
1767+
return ProjectVersion(
17681768
uuid=data['uuid'],
17691769
event_uuid=data['eventUuid'],
17701770
name=data['name'],
@@ -1805,7 +1805,7 @@ def items(self) -> typing.ItemsView[str, Reply]:
18051805
return self.replies.items()
18061806

18071807

1808-
class QuestionnaireFile:
1808+
class ProjectFile:
18091809

18101810
def __init__(self, *, uuid: str, file_name: str, file_size: int,
18111811
content_type: str):
@@ -1816,25 +1816,29 @@ def __init__(self, *, uuid: str, file_name: str, file_size: int,
18161816

18171817
self.reply: FileReply | None = None
18181818
self.download_url: str = ''
1819-
self.questionnaire_uuid: str | None = None
1819+
self.project_uuid: str | None = None
1820+
1821+
@property
1822+
def questionnaire_uuid(self) -> str | None:
1823+
return self.project_uuid
18201824

18211825
def resolve_links(self, ctx):
1822-
self.questionnaire_uuid = ctx.questionnaire.uuid
1826+
self.project_uuid = ctx.project.uuid
18231827
client_url = ctx.config.client_url
1824-
self.download_url = (f'{client_url}/projects/{self.questionnaire_uuid}'
1828+
self.download_url = (f'{client_url}/projects/{self.project_uuid}'
18251829
f'/files/{self.uuid}/download')
18261830

18271831
@staticmethod
18281832
def load(data: dict, **options):
1829-
return QuestionnaireFile(
1833+
return ProjectFile(
18301834
uuid=data['uuid'],
18311835
file_name=data['fileName'],
18321836
file_size=data['fileSize'],
18331837
content_type=data['contentType'],
18341838
)
18351839

18361840

1837-
class Questionnaire:
1841+
class Project:
18381842

18391843
def __init__(self, *, uuid: str, name: str, description: str | None,
18401844
created_by: User, phase_uuid: str | None,
@@ -1847,9 +1851,9 @@ def __init__(self, *, uuid: str, name: str, description: str | None,
18471851
self.created_at = created_at
18481852
self.updated_at = updated_at
18491853

1850-
self.version: QuestionnaireVersion | None = None
1851-
self.versions: list[QuestionnaireVersion] = []
1852-
self.files: dict[str, QuestionnaireFile] = {}
1854+
self.version: ProjectVersion | None = None
1855+
self.versions: list[ProjectVersion] = []
1856+
self.files: dict[str, ProjectFile] = {}
18531857
self.todos: list[str] = []
18541858
self.project_tags: list[str] = []
18551859
self.phase: Phase = PHASE_NEVER
@@ -1859,38 +1863,38 @@ def __init__(self, *, uuid: str, name: str, description: str | None,
18591863
def resolve_links(self, ctx):
18601864
for reply in self.replies.values():
18611865
reply.resolve_links(ctx)
1862-
for questionnaire_file in self.files.values():
1863-
questionnaire_file.resolve_links(ctx)
1866+
for file in self.files.values():
1867+
file.resolve_links(ctx)
18641868

18651869
@staticmethod
18661870
def load(data: dict, **options):
1867-
questionnaire_uuid = data['uuid']
1868-
versions = [QuestionnaireVersion.load(d, **options)
1871+
entity_uuid = data['uuid']
1872+
versions = [ProjectVersion.load(d, **options)
18691873
for d in data['versions']]
18701874
version = None
18711875
replies = {p: _load_reply(p, d, **options)
18721876
for p, d in data['replies'].items()}
1873-
files = {d['uuid']: QuestionnaireFile.load(d, **options)
1877+
files = {d['uuid']: ProjectFile.load(d, **options)
18741878
for d in data.get('files', [])}
18751879
for v in versions:
18761880
if v.uuid == data['versionUuid']:
18771881
version = v
1878-
qtn = Questionnaire(
1879-
uuid=questionnaire_uuid,
1882+
entity = Project(
1883+
uuid=entity_uuid,
18801884
name=data['name'],
18811885
description=data['description'] or '',
18821886
created_by=User.load(data['createdBy'], **options),
18831887
phase_uuid=data['phaseUuid'],
18841888
created_at=_datetime(data['createdAt']),
18851889
updated_at=_datetime(data['updatedAt']),
18861890
)
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
1891+
entity.version = version
1892+
entity.versions = versions
1893+
entity.files = files
1894+
entity.project_tags = data.get('projectTags', [])
1895+
entity.replies.replies = replies
1896+
entity.todos = [k for k, v in data.get('labels', {}).items() if TODO_LABEL_UUID in v]
1897+
return entity
18941898

18951899

18961900
class Package:
@@ -2158,7 +2162,7 @@ def __init__(self, *, ctx, **options):
21582162
)
21592163
self.config = ContextConfig.load(ctx['config'], **options)
21602164
self.km = KnowledgeModel.load(ctx['knowledgeModel'], **options)
2161-
self.questionnaire = Questionnaire.load(ctx['questionnaire'], **options)
2165+
self.project = Project.load(ctx['questionnaire'], **options)
21622166
self.report = Report.load(ctx['report'], **options)
21632167
self.document = Document.load(ctx['document'], **options)
21642168
self.package = Package.load(ctx['package'], **options)
@@ -2179,8 +2183,12 @@ def cfg(self) -> ContextConfig:
21792183
return self.config
21802184

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

21852193
@property
21862194
def org(self) -> Organization:
@@ -2196,16 +2204,16 @@ def doc(self) -> Document:
21962204

21972205
@property
21982206
def replies(self) -> RepliesContainer:
2199-
return self.questionnaire.replies
2207+
return self.project.replies
22002208

22012209
def resolve_links(self):
2202-
phase_uuid = self.questionnaire.phase_uuid
2210+
phase_uuid = self.project.phase_uuid
22032211
if phase_uuid is not None and phase_uuid in self.e.phases:
22042212
self.current_phase = self.e.phases[phase_uuid]
2205-
self.questionnaire.phase = self.current_phase
2213+
self.project.phase = self.current_phase
22062214
self.km.resolve_links(self)
22072215
self.report.resolve_links(self)
2208-
self.questionnaire.resolve_links(self)
2216+
self.project.resolve_links(self)
22092217

22102218
rv = ReplyVisitor(context=self)
22112219
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

0 commit comments

Comments
 (0)