Skip to content

Commit be1cbab

Browse files
committed
Разделён service layer партнёрских программ и расширены тесты
1 parent 01431fa commit be1cbab

10 files changed

Lines changed: 703 additions & 370 deletions

File tree

docs/modules/partner-programs.md

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@
3636
фильтров и экспортов.
3737
- `partner_programs/serializers/` - request/response serializers и validation
3838
дополнительных полей.
39-
- `partner_programs/services.py` - сервисы регистрации в программе, подачи
39+
- `partner_programs/services/` - сервисы регистрации в программе, подачи
4040
проектов, фильтрации проектов, публикации проектов и подготовки
4141
Excel-выгрузок.
4242
- `partner_programs/selectors.py` - выборки участников для аналитики и
@@ -205,4 +205,8 @@
205205
- список проектов программы для менеджера;
206206
- Excel-выгрузку проектов программы, включая режим `only_submitted`;
207207
- запрет выгрузки проектов пользователем без прав менеджера;
208+
- Excel-выгрузку оценок проектов программы;
209+
- подготовку данных выгрузки оценок, когда критерии есть, но оценок еще нет;
210+
- базовые permissions для менеджера программы, staff-пользователя,
211+
постороннего пользователя, anonymous и лидера проекта;
208212
- публикацию проектов после завершения программы.
Lines changed: 51 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,51 @@
1+
from partner_programs.services.exports import (
2+
BASE_COLUMNS,
3+
ProgramExportFile,
4+
ProjectScoreDataPreparer,
5+
build_program_field_columns,
6+
build_program_project_scores_export_file,
7+
build_program_projects_export_file,
8+
prepare_project_scores_export_data,
9+
row_dict_for_link,
10+
)
11+
from partner_programs.services.project_apply import (
12+
ProgramProjectAlreadyApplied,
13+
ProgramProjectApplicationResult,
14+
apply_project_to_program,
15+
require_can_apply_project_to_program,
16+
)
17+
from partner_programs.services.project_filters import (
18+
ProgramProjectFilterError,
19+
get_filterable_program_fields,
20+
get_filtered_program_project_links,
21+
validate_program_project_filters,
22+
)
23+
from partner_programs.services.publishing import publish_finished_program_projects
24+
from partner_programs.services.registration import (
25+
ProgramRegistrationError,
26+
create_user_and_register_to_program,
27+
register_user_to_program,
28+
)
29+
30+
__all__ = [
31+
"BASE_COLUMNS",
32+
"ProgramExportFile",
33+
"ProgramProjectAlreadyApplied",
34+
"ProgramProjectApplicationResult",
35+
"ProgramProjectFilterError",
36+
"ProgramRegistrationError",
37+
"ProjectScoreDataPreparer",
38+
"apply_project_to_program",
39+
"build_program_field_columns",
40+
"build_program_project_scores_export_file",
41+
"build_program_projects_export_file",
42+
"create_user_and_register_to_program",
43+
"get_filterable_program_fields",
44+
"get_filtered_program_project_links",
45+
"prepare_project_scores_export_data",
46+
"publish_finished_program_projects",
47+
"register_user_to_program",
48+
"require_can_apply_project_to_program",
49+
"row_dict_for_link",
50+
"validate_program_project_filters",
51+
]

0 commit comments

Comments
 (0)