Page MenuHomeSoftware Heritage

add_forge_now: Move all features into a single django application
ClosedPublic

Authored by anlambert on Aug 19 2022, 3:42 PM.

Details

Summary

Centralize all templates, views and urls related to add forge now into
the add_forge_now django application.

Related to T4398

Depends on D8267

Diff Detail

Repository
rDWAPPS Web applications
Branch
django-apps-refactoring-add-forge-now
Lint
No Linters Available
Unit
No Unit Test Coverage
Build Status
Buildable 30918
Build 48357: Phabricator diff pipeline on jenkinsJenkins console · Jenkins
Build 48356: arc lint + arc unit

Event Timeline

Build has FAILED

Patch application report for D8268 (id=29857)

Could not rebase; Attempt merge onto d72784ac65...

Updating d72784ac..5ed3514c
Fast-forward
 Makefile.local                                     |   2 +
 .../admin_views.py}                                |  11 +--
 .../api_views.py}                                  |   0
 .../templates/add-forge-common.html}               |   2 +-
 .../templates/add-forge-creation-form.html}        |   2 +-
 .../templates/add-forge-help.html}                 |   2 +-
 .../templates/add-forge-list.html}                 |   2 +-
 .../templates/add-forge-request-dashboard.html}    |   2 +-
 .../templates/add-forge-requests-moderation.html}  |   2 +-
 swh/web/add_forge_now/urls.py                      |  47 +++++++++
 swh/web/add_forge_now/views.py                     |  30 ++----
 swh/web/admin/mailmap.py                           |  16 ---
 swh/web/admin/urls.py                              |   6 --
 swh/web/api/apiurls.py                             |   2 +-
 swh/web/api/urls.py                                |   5 +-
 swh/web/api/views/utils.py                         |   2 +-
 swh/web/auth/migrations/0007_mailmap_django_app.py |  29 ++++++
 swh/web/auth/models.py                             | 103 -------------------
 swh/web/auth/views.py                              |  70 ++++++-------
 swh/web/browse/browseurls.py                       |   2 +-
 swh/web/browse/urls.py                             |  14 +--
 swh/web/common/__init__.py                         |   6 --
 swh/web/common/swh_templatetags.py                 |   2 +-
 swh/web/common/utils.py                            |   4 +-
 swh/web/config.py                                  |  19 ++--
 swh/web/mailmap/__init__.py                        |   6 ++
 swh/web/{common => mailmap}/apps.py                |   8 +-
 swh/web/{auth => mailmap}/management/__init__.py   |   0
 .../management/commands/__init__.py                |   0
 .../management/commands/sync_mailmaps.py           |   2 +-
 swh/web/mailmap/migrations/0001_initial.py         |  88 +++++++++++++++++
 .../management => mailmap/migrations}/__init__.py  |   0
 swh/web/mailmap/models.py                          | 109 +++++++++++++++++++++
 swh/web/{ => mailmap}/templates/admin/mailmap.html |   0
 swh/web/mailmap/urls.py                            |  38 +++++++
 swh/web/{auth/mailmap.py => mailmap/views.py}      |  30 ++----
 swh/web/misc/metrics.py                            |   2 +-
 swh/web/misc/urls.py                               |   1 -
 swh/web/save_code_now/__init__.py                  |   6 ++
 .../admin_views.py}                                |  71 +++-----------
 .../origin_save.py => save_code_now/api_views.py}  |   2 +-
 swh/web/save_code_now/apps.py                      |  11 +++
 .../management}/__init__.py                        |   0
 .../management/commands}/__init__.py               |   0
 .../commands/refresh_savecodenow_statuses.py       |   4 +-
 .../migrations/0001_initial.py                     |   4 +-
 .../0002_saveoriginrequest_visit_date.py           |   2 +-
 .../0003_saveoriginrequest_loading_task_status.py  |   4 +-
 .../migrations/0004_auto_20190204_1324.py          |   2 +-
 .../0005_remove_duplicated_authorized_origins.py   |   4 +-
 .../migrations/0006_rename_origin_type.py          |   2 +-
 .../0007_save_request_task_status_fix_typo.py      |   4 +-
 .../0008_save-code-now_indexes_20210106_1327.py    |   2 +-
 .../0009_saveoriginrequest_visit_status.py         |   2 +-
 .../migrations/0010_saveoriginrequest_user_id.py   |   2 +-
 .../migrations/0011_saveoriginrequest_user_ids.py  |   2 +-
 .../migrations/0012_saveoriginrequest_note.py      |   2 +-
 swh/web/save_code_now/migrations/__init__.py       |   0
 swh/web/{common => save_code_now}/models.py        |   8 +-
 swh/web/{common => save_code_now}/origin_save.py   |  12 +--
 .../templates/admin/origin-save-common.html}       |   0
 .../templates/admin/origin-save-filters.html}      |   2 +-
 .../templates/admin/origin-save-requests.html}     |   2 +-
 .../templates}/origin-save-help.html               |   0
 .../templates}/origin-save-list.html               |   0
 .../templates}/origin-save.html                    |   2 +-
 swh/web/save_code_now/urls.py                      |  99 +++++++++++++++++++
 .../origin_save.py => save_code_now/views.py}      |  34 ++-----
 swh/web/settings/common.py                         |  40 ++++++--
 swh/web/templates/includes/top-navigation.html     |   4 +-
 swh/web/templates/layout.html                      |  22 +++--
 swh/web/tests/add_forge_now/__init__.py            |   0
 .../test_api_views.py}                             |   2 +-
 swh/web/tests/add_forge_now/test_app.py            |  33 +++++++
 swh/web/tests/add_forge_now/test_views.py          |   3 +-
 swh/web/tests/auth/test_migrations.py              |  16 +++
 swh/web/tests/conftest.py                          |  52 ++++++++--
 swh/web/tests/mailmap/__init__.py                  |   0
 swh/web/tests/mailmap/test_app.py                  |  32 ++++++
 swh/web/tests/{auth => mailmap}/test_mailmap.py    |   2 +-
 swh/web/tests/mailmap/test_migrations.py           |  15 +++
 swh/web/tests/misc/test_metrics.py                 |   6 +-
 swh/web/tests/save_code_now/__init__.py            |   0
 swh/web/tests/save_code_now/test_app.py            |  41 ++++++++
 .../test_django_command.py                         |   8 +-
 .../tests/{ => save_code_now}/test_migrations.py   |   2 +-
 .../{common => save_code_now}/test_origin_save.py  |  24 ++---
 .../test_origin_save_admin.py}                     |   6 +-
 .../test_origin_save_api.py}                       |  14 +--
 .../test_origin_save_views.py}                     |   6 +-
 swh/web/tests/test_config.py                       |  24 -----
 swh/web/tests/test_urls.py                         |  16 ++-
 swh/web/urls.py                                    |  16 ++-
 swh/web/utils/__init__.py                          |   0
 swh/web/utils/management/__init__.py               |   0
 swh/web/utils/management/commands/__init__.py      |   0
 swh/web/utils/management/commands/rename_app.py    |  64 ++++++++++++
 97 files changed, 931 insertions(+), 468 deletions(-)
 rename swh/web/{admin/add_forge_now.py => add_forge_now/admin_views.py} (80%)
 rename swh/web/{api/views/add_forge_now.py => add_forge_now/api_views.py} (100%)
 rename swh/web/{templates/add_forge_now/common.html => add_forge_now/templates/add-forge-common.html} (98%)
 rename swh/web/{templates/add_forge_now/creation_form.html => add_forge_now/templates/add-forge-creation-form.html} (99%)
 rename swh/web/{templates/add_forge_now/help.html => add_forge_now/templates/add-forge-help.html} (98%)
 rename swh/web/{templates/add_forge_now/list.html => add_forge_now/templates/add-forge-list.html} (94%)
 rename swh/web/{templates/add_forge_now/request-dashboard.html => add_forge_now/templates/add-forge-request-dashboard.html} (99%)
 rename swh/web/{templates/add_forge_now/requests-moderation.html => add_forge_now/templates/add-forge-requests-moderation.html} (97%)
 create mode 100644 swh/web/add_forge_now/urls.py
 delete mode 100644 swh/web/admin/mailmap.py
 create mode 100644 swh/web/auth/migrations/0007_mailmap_django_app.py
 create mode 100644 swh/web/mailmap/__init__.py
 rename swh/web/{common => mailmap}/apps.py (61%)
 rename swh/web/{auth => mailmap}/management/__init__.py (100%)
 rename swh/web/{auth => mailmap}/management/commands/__init__.py (100%)
 rename swh/web/{auth => mailmap}/management/commands/sync_mailmaps.py (98%)
 create mode 100644 swh/web/mailmap/migrations/0001_initial.py
 rename swh/web/{common/management => mailmap/migrations}/__init__.py (100%)
 create mode 100644 swh/web/mailmap/models.py
 rename swh/web/{ => mailmap}/templates/admin/mailmap.html (100%)
 create mode 100644 swh/web/mailmap/urls.py
 rename swh/web/{auth/mailmap.py => mailmap/views.py} (89%)
 create mode 100644 swh/web/save_code_now/__init__.py
 rename swh/web/{admin/origin_save.py => save_code_now/admin_views.py} (70%)
 rename swh/web/{api/views/origin_save.py => save_code_now/api_views.py} (99%)
 create mode 100644 swh/web/save_code_now/apps.py
 rename swh/web/{common/management/commands => save_code_now/management}/__init__.py (100%)
 rename swh/web/{common/migrations => save_code_now/management/commands}/__init__.py (100%)
 rename swh/web/{common => save_code_now}/management/commands/refresh_savecodenow_statuses.py (93%)
 rename swh/web/{common => save_code_now}/migrations/0001_initial.py (96%)
 rename swh/web/{common => save_code_now}/migrations/0002_saveoriginrequest_visit_date.py (92%)
 rename swh/web/{common => save_code_now}/migrations/0003_saveoriginrequest_loading_task_status.py (91%)
 rename swh/web/{common => save_code_now}/migrations/0004_auto_20190204_1324.py (92%)
 rename swh/web/{common => save_code_now}/migrations/0005_remove_duplicated_authorized_origins.py (85%)
 rename swh/web/{common => save_code_now}/migrations/0006_rename_origin_type.py (87%)
 rename swh/web/{common => save_code_now}/migrations/0007_save_request_task_status_fix_typo.py (90%)
 rename swh/web/{common => save_code_now}/migrations/0008_save-code-now_indexes_20210106_1327.py (91%)
 rename swh/web/{common => save_code_now}/migrations/0009_saveoriginrequest_visit_status.py (92%)
 rename swh/web/{common => save_code_now}/migrations/0010_saveoriginrequest_user_id.py (89%)
 rename swh/web/{common => save_code_now}/migrations/0011_saveoriginrequest_user_ids.py (90%)
 rename swh/web/{common => save_code_now}/migrations/0012_saveoriginrequest_note.py (88%)
 create mode 100644 swh/web/save_code_now/migrations/__init__.py
 rename swh/web/{common => save_code_now}/models.py (95%)
 rename swh/web/{common => save_code_now}/origin_save.py (99%)
 rename swh/web/{templates/admin/origin-save/common.html => save_code_now/templates/admin/origin-save-common.html} (100%)
 rename swh/web/{templates/admin/origin-save/filters.html => save_code_now/templates/admin/origin-save-filters.html} (98%)
 rename swh/web/{templates/admin/origin-save/requests.html => save_code_now/templates/admin/origin-save-requests.html} (99%)
 rename swh/web/{templates/misc => save_code_now/templates}/origin-save-help.html (100%)
 rename swh/web/{templates/misc => save_code_now/templates}/origin-save-list.html (100%)
 rename swh/web/{templates/misc => save_code_now/templates}/origin-save.html (99%)
 create mode 100644 swh/web/save_code_now/urls.py
 rename swh/web/{misc/origin_save.py => save_code_now/views.py} (78%)
 create mode 100644 swh/web/tests/add_forge_now/__init__.py
 rename swh/web/tests/{api/views/test_add_forge_now.py => add_forge_now/test_api_views.py} (99%)
 create mode 100644 swh/web/tests/add_forge_now/test_app.py
 create mode 100644 swh/web/tests/mailmap/__init__.py
 create mode 100644 swh/web/tests/mailmap/test_app.py
 rename swh/web/tests/{auth => mailmap}/test_mailmap.py (99%)
 create mode 100644 swh/web/tests/mailmap/test_migrations.py
 create mode 100644 swh/web/tests/save_code_now/__init__.py
 create mode 100644 swh/web/tests/save_code_now/test_app.py
 rename swh/web/tests/{common => save_code_now}/test_django_command.py (98%)
 rename swh/web/tests/{ => save_code_now}/test_migrations.py (98%)
 rename swh/web/tests/{common => save_code_now}/test_origin_save.py (98%)
 rename swh/web/tests/{admin/test_origin_save.py => save_code_now/test_origin_save_admin.py} (98%)
 rename swh/web/tests/{api/views/test_origin_save.py => save_code_now/test_origin_save_api.py} (98%)
 rename swh/web/tests/{misc/test_origin_save.py => save_code_now/test_origin_save_views.py} (96%)
 delete mode 100644 swh/web/tests/test_config.py
 create mode 100644 swh/web/utils/__init__.py
 create mode 100644 swh/web/utils/management/__init__.py
 create mode 100644 swh/web/utils/management/commands/__init__.py
 create mode 100644 swh/web/utils/management/commands/rename_app.py
Changes applied before test
commit 5ed3514caf5baeb03af4a28248776e61c95ba349
Author: Antoine Lambert <anlambert@softwareheritage.org>
Date:   Thu Jul 21 14:59:09 2022 +0200

    add_forge_now: Move all features into a single django application
    
    Centralize all templates, views and urls related to add forge now into
    the add_forge_now django application.
    
    Related to T4398

commit dc2ecba5b6ef5c867fa313ffa4fbce11be0c319f
Author: Antoine Lambert <anlambert@softwareheritage.org>
Date:   Tue Jul 19 11:43:40 2022 +0200

    save_code_now: Move feature into a dedicated django app
    
    Move all templates, views, urls and commands related to the save code now
    feature into its dedicated django application.
    
    Also introduce a new django command rename_app to easily rename a django
    application when developing or deploying.
    
    Previously the save code now models were located in the swh.web.common
    application that will be removed so that is why that application renaming
    to swh.web.save_code_now is mandatory to avoid errors when running migrations.
    
    Related to T4398

commit f58181edb8e859ae621921b002ff0c3b17bca016
Author: Antoine Lambert <anlambert@softwareheritage.org>
Date:   Mon Jul 18 15:59:20 2022 +0200

    mailmap: Move feature into a dedicated django application
    
    Move all templates, views, urls and commands related to the mailmap
    feature into its dedicated django application.
    
    Please note that the initial migration will not perform any database
    operations as the tables have already been created by the swh.web.auth
    django application the mailmap feature was previously located at.
    
    Related to T4398

commit 0306c23d03783a1e5fdc898e76444dd2c534fbea
Author: Antoine Lambert <anlambert@softwareheritage.org>
Date:   Mon Jul 18 15:17:38 2022 +0200

    Update swh-web django applications configuration and setup
    
    Towards reorganizing swh-web features into multiple django applications,
    introduce the following changes regarding their settings:
    
    - Declare a fixed set of base django apps and enable to add extra ones
      through configuration
    
    - Add application templates directory to django templates search paths
    
    - Automatically register URLs of selected django applications
    
    - Inject swh-web django app names in templates to check a feature is enabled
    
    Related to T4398

Link to build: https://jenkins.softwareheritage.org/job/DWAPPS/job/tests-on-diff/1984/
See console output for more information: https://jenkins.softwareheritage.org/job/DWAPPS/job/tests-on-diff/1984/console

Harbormaster returned this revision to the author for changes because remote builds failed.Aug 19 2022, 4:00 PM
Harbormaster failed remote builds in B30910: Diff 29857!

Fix missed template file renaming (thanks cypress !)

Build is green

Patch application report for D8268 (id=29865)

Could not rebase; Attempt merge onto d72784ac65...

Updating d72784ac..9808e3eb
Fast-forward
 Makefile.local                                     |   2 +
 .../admin_views.py}                                |  13 +--
 .../api_views.py}                                  |   0
 .../templates/add-forge-common.html}               |   2 +-
 .../templates/add-forge-creation-form.html}        |   2 +-
 .../templates/add-forge-help.html}                 |   2 +-
 .../templates/add-forge-list.html}                 |   2 +-
 .../templates/add-forge-request-dashboard.html}    |   2 +-
 .../templates/add-forge-requests-moderation.html}  |   2 +-
 swh/web/add_forge_now/urls.py                      |  47 +++++++++
 swh/web/add_forge_now/views.py                     |  30 ++----
 swh/web/admin/mailmap.py                           |  16 ---
 swh/web/admin/urls.py                              |   6 --
 swh/web/api/apiurls.py                             |   2 +-
 swh/web/api/urls.py                                |   5 +-
 swh/web/api/views/utils.py                         |   2 +-
 swh/web/auth/migrations/0007_mailmap_django_app.py |  29 ++++++
 swh/web/auth/models.py                             | 103 -------------------
 swh/web/auth/views.py                              |  70 ++++++-------
 swh/web/browse/browseurls.py                       |   2 +-
 swh/web/browse/urls.py                             |  14 +--
 swh/web/common/__init__.py                         |   6 --
 swh/web/common/swh_templatetags.py                 |   2 +-
 swh/web/common/utils.py                            |   4 +-
 swh/web/config.py                                  |  19 ++--
 swh/web/mailmap/__init__.py                        |   6 ++
 swh/web/{common => mailmap}/apps.py                |   8 +-
 swh/web/{auth => mailmap}/management/__init__.py   |   0
 .../management/commands/__init__.py                |   0
 .../management/commands/sync_mailmaps.py           |   2 +-
 swh/web/mailmap/migrations/0001_initial.py         |  88 +++++++++++++++++
 .../management => mailmap/migrations}/__init__.py  |   0
 swh/web/mailmap/models.py                          | 109 +++++++++++++++++++++
 swh/web/{ => mailmap}/templates/admin/mailmap.html |   0
 swh/web/mailmap/urls.py                            |  38 +++++++
 swh/web/{auth/mailmap.py => mailmap/views.py}      |  30 ++----
 swh/web/misc/metrics.py                            |   2 +-
 swh/web/misc/urls.py                               |   1 -
 swh/web/save_code_now/__init__.py                  |   6 ++
 .../admin_views.py}                                |  71 +++-----------
 .../origin_save.py => save_code_now/api_views.py}  |   2 +-
 swh/web/save_code_now/apps.py                      |  11 +++
 .../management}/__init__.py                        |   0
 .../management/commands}/__init__.py               |   0
 .../commands/refresh_savecodenow_statuses.py       |   4 +-
 .../migrations/0001_initial.py                     |   4 +-
 .../0002_saveoriginrequest_visit_date.py           |   2 +-
 .../0003_saveoriginrequest_loading_task_status.py  |   4 +-
 .../migrations/0004_auto_20190204_1324.py          |   2 +-
 .../0005_remove_duplicated_authorized_origins.py   |   4 +-
 .../migrations/0006_rename_origin_type.py          |   2 +-
 .../0007_save_request_task_status_fix_typo.py      |   4 +-
 .../0008_save-code-now_indexes_20210106_1327.py    |   2 +-
 .../0009_saveoriginrequest_visit_status.py         |   2 +-
 .../migrations/0010_saveoriginrequest_user_id.py   |   2 +-
 .../migrations/0011_saveoriginrequest_user_ids.py  |   2 +-
 .../migrations/0012_saveoriginrequest_note.py      |   2 +-
 swh/web/save_code_now/migrations/__init__.py       |   0
 swh/web/{common => save_code_now}/models.py        |   8 +-
 swh/web/{common => save_code_now}/origin_save.py   |  12 +--
 .../templates/admin/origin-save-common.html}       |   0
 .../templates/admin/origin-save-filters.html}      |   2 +-
 .../templates/admin/origin-save-requests.html}     |   2 +-
 .../templates}/origin-save-help.html               |   0
 .../templates}/origin-save-list.html               |   0
 .../templates}/origin-save.html                    |   2 +-
 swh/web/save_code_now/urls.py                      |  99 +++++++++++++++++++
 .../origin_save.py => save_code_now/views.py}      |  34 ++-----
 swh/web/settings/common.py                         |  40 ++++++--
 swh/web/templates/includes/top-navigation.html     |   4 +-
 swh/web/templates/layout.html                      |  22 +++--
 swh/web/tests/add_forge_now/__init__.py            |   0
 .../test_api_views.py}                             |   2 +-
 swh/web/tests/add_forge_now/test_app.py            |  33 +++++++
 swh/web/tests/add_forge_now/test_views.py          |   3 +-
 swh/web/tests/auth/test_migrations.py              |  16 +++
 swh/web/tests/conftest.py                          |  52 ++++++++--
 swh/web/tests/mailmap/__init__.py                  |   0
 swh/web/tests/mailmap/test_app.py                  |  32 ++++++
 swh/web/tests/{auth => mailmap}/test_mailmap.py    |   2 +-
 swh/web/tests/mailmap/test_migrations.py           |  15 +++
 swh/web/tests/misc/test_metrics.py                 |   6 +-
 swh/web/tests/save_code_now/__init__.py            |   0
 swh/web/tests/save_code_now/test_app.py            |  41 ++++++++
 .../test_django_command.py                         |   8 +-
 .../tests/{ => save_code_now}/test_migrations.py   |   2 +-
 .../{common => save_code_now}/test_origin_save.py  |  24 ++---
 .../test_origin_save_admin.py}                     |   6 +-
 .../test_origin_save_api.py}                       |  14 +--
 .../test_origin_save_views.py}                     |   6 +-
 swh/web/tests/test_config.py                       |  24 -----
 swh/web/tests/test_urls.py                         |  16 ++-
 swh/web/urls.py                                    |  16 ++-
 swh/web/utils/__init__.py                          |   0
 swh/web/utils/management/__init__.py               |   0
 swh/web/utils/management/commands/__init__.py      |   0
 swh/web/utils/management/commands/rename_app.py    |  64 ++++++++++++
 97 files changed, 932 insertions(+), 469 deletions(-)
 rename swh/web/{admin/add_forge_now.py => add_forge_now/admin_views.py} (77%)
 rename swh/web/{api/views/add_forge_now.py => add_forge_now/api_views.py} (100%)
 rename swh/web/{templates/add_forge_now/common.html => add_forge_now/templates/add-forge-common.html} (98%)
 rename swh/web/{templates/add_forge_now/creation_form.html => add_forge_now/templates/add-forge-creation-form.html} (99%)
 rename swh/web/{templates/add_forge_now/help.html => add_forge_now/templates/add-forge-help.html} (98%)
 rename swh/web/{templates/add_forge_now/list.html => add_forge_now/templates/add-forge-list.html} (94%)
 rename swh/web/{templates/add_forge_now/request-dashboard.html => add_forge_now/templates/add-forge-request-dashboard.html} (99%)
 rename swh/web/{templates/add_forge_now/requests-moderation.html => add_forge_now/templates/add-forge-requests-moderation.html} (97%)
 create mode 100644 swh/web/add_forge_now/urls.py
 delete mode 100644 swh/web/admin/mailmap.py
 create mode 100644 swh/web/auth/migrations/0007_mailmap_django_app.py
 create mode 100644 swh/web/mailmap/__init__.py
 rename swh/web/{common => mailmap}/apps.py (61%)
 rename swh/web/{auth => mailmap}/management/__init__.py (100%)
 rename swh/web/{auth => mailmap}/management/commands/__init__.py (100%)
 rename swh/web/{auth => mailmap}/management/commands/sync_mailmaps.py (98%)
 create mode 100644 swh/web/mailmap/migrations/0001_initial.py
 rename swh/web/{common/management => mailmap/migrations}/__init__.py (100%)
 create mode 100644 swh/web/mailmap/models.py
 rename swh/web/{ => mailmap}/templates/admin/mailmap.html (100%)
 create mode 100644 swh/web/mailmap/urls.py
 rename swh/web/{auth/mailmap.py => mailmap/views.py} (89%)
 create mode 100644 swh/web/save_code_now/__init__.py
 rename swh/web/{admin/origin_save.py => save_code_now/admin_views.py} (70%)
 rename swh/web/{api/views/origin_save.py => save_code_now/api_views.py} (99%)
 create mode 100644 swh/web/save_code_now/apps.py
 rename swh/web/{common/management/commands => save_code_now/management}/__init__.py (100%)
 rename swh/web/{common/migrations => save_code_now/management/commands}/__init__.py (100%)
 rename swh/web/{common => save_code_now}/management/commands/refresh_savecodenow_statuses.py (93%)
 rename swh/web/{common => save_code_now}/migrations/0001_initial.py (96%)
 rename swh/web/{common => save_code_now}/migrations/0002_saveoriginrequest_visit_date.py (92%)
 rename swh/web/{common => save_code_now}/migrations/0003_saveoriginrequest_loading_task_status.py (91%)
 rename swh/web/{common => save_code_now}/migrations/0004_auto_20190204_1324.py (92%)
 rename swh/web/{common => save_code_now}/migrations/0005_remove_duplicated_authorized_origins.py (85%)
 rename swh/web/{common => save_code_now}/migrations/0006_rename_origin_type.py (87%)
 rename swh/web/{common => save_code_now}/migrations/0007_save_request_task_status_fix_typo.py (90%)
 rename swh/web/{common => save_code_now}/migrations/0008_save-code-now_indexes_20210106_1327.py (91%)
 rename swh/web/{common => save_code_now}/migrations/0009_saveoriginrequest_visit_status.py (92%)
 rename swh/web/{common => save_code_now}/migrations/0010_saveoriginrequest_user_id.py (89%)
 rename swh/web/{common => save_code_now}/migrations/0011_saveoriginrequest_user_ids.py (90%)
 rename swh/web/{common => save_code_now}/migrations/0012_saveoriginrequest_note.py (88%)
 create mode 100644 swh/web/save_code_now/migrations/__init__.py
 rename swh/web/{common => save_code_now}/models.py (95%)
 rename swh/web/{common => save_code_now}/origin_save.py (99%)
 rename swh/web/{templates/admin/origin-save/common.html => save_code_now/templates/admin/origin-save-common.html} (100%)
 rename swh/web/{templates/admin/origin-save/filters.html => save_code_now/templates/admin/origin-save-filters.html} (98%)
 rename swh/web/{templates/admin/origin-save/requests.html => save_code_now/templates/admin/origin-save-requests.html} (99%)
 rename swh/web/{templates/misc => save_code_now/templates}/origin-save-help.html (100%)
 rename swh/web/{templates/misc => save_code_now/templates}/origin-save-list.html (100%)
 rename swh/web/{templates/misc => save_code_now/templates}/origin-save.html (99%)
 create mode 100644 swh/web/save_code_now/urls.py
 rename swh/web/{misc/origin_save.py => save_code_now/views.py} (78%)
 create mode 100644 swh/web/tests/add_forge_now/__init__.py
 rename swh/web/tests/{api/views/test_add_forge_now.py => add_forge_now/test_api_views.py} (99%)
 create mode 100644 swh/web/tests/add_forge_now/test_app.py
 create mode 100644 swh/web/tests/mailmap/__init__.py
 create mode 100644 swh/web/tests/mailmap/test_app.py
 rename swh/web/tests/{auth => mailmap}/test_mailmap.py (99%)
 create mode 100644 swh/web/tests/mailmap/test_migrations.py
 create mode 100644 swh/web/tests/save_code_now/__init__.py
 create mode 100644 swh/web/tests/save_code_now/test_app.py
 rename swh/web/tests/{common => save_code_now}/test_django_command.py (98%)
 rename swh/web/tests/{ => save_code_now}/test_migrations.py (98%)
 rename swh/web/tests/{common => save_code_now}/test_origin_save.py (98%)
 rename swh/web/tests/{admin/test_origin_save.py => save_code_now/test_origin_save_admin.py} (98%)
 rename swh/web/tests/{api/views/test_origin_save.py => save_code_now/test_origin_save_api.py} (98%)
 rename swh/web/tests/{misc/test_origin_save.py => save_code_now/test_origin_save_views.py} (96%)
 delete mode 100644 swh/web/tests/test_config.py
 create mode 100644 swh/web/utils/__init__.py
 create mode 100644 swh/web/utils/management/__init__.py
 create mode 100644 swh/web/utils/management/commands/__init__.py
 create mode 100644 swh/web/utils/management/commands/rename_app.py
Changes applied before test
commit 9808e3eb262b0d064dc18d97f2ab1c16e4b8e2a9
Author: Antoine Lambert <anlambert@softwareheritage.org>
Date:   Thu Jul 21 14:59:09 2022 +0200

    add_forge_now: Move all features into a single django application
    
    Centralize all templates, views and urls related to add forge now into
    the add_forge_now django application.
    
    Related to T4398

commit dc2ecba5b6ef5c867fa313ffa4fbce11be0c319f
Author: Antoine Lambert <anlambert@softwareheritage.org>
Date:   Tue Jul 19 11:43:40 2022 +0200

    save_code_now: Move feature into a dedicated django app
    
    Move all templates, views, urls and commands related to the save code now
    feature into its dedicated django application.
    
    Also introduce a new django command rename_app to easily rename a django
    application when developing or deploying.
    
    Previously the save code now models were located in the swh.web.common
    application that will be removed so that is why that application renaming
    to swh.web.save_code_now is mandatory to avoid errors when running migrations.
    
    Related to T4398

commit f58181edb8e859ae621921b002ff0c3b17bca016
Author: Antoine Lambert <anlambert@softwareheritage.org>
Date:   Mon Jul 18 15:59:20 2022 +0200

    mailmap: Move feature into a dedicated django application
    
    Move all templates, views, urls and commands related to the mailmap
    feature into its dedicated django application.
    
    Please note that the initial migration will not perform any database
    operations as the tables have already been created by the swh.web.auth
    django application the mailmap feature was previously located at.
    
    Related to T4398

commit 0306c23d03783a1e5fdc898e76444dd2c534fbea
Author: Antoine Lambert <anlambert@softwareheritage.org>
Date:   Mon Jul 18 15:17:38 2022 +0200

    Update swh-web django applications configuration and setup
    
    Towards reorganizing swh-web features into multiple django applications,
    introduce the following changes regarding their settings:
    
    - Declare a fixed set of base django apps and enable to add extra ones
      through configuration
    
    - Add application templates directory to django templates search paths
    
    - Automatically register URLs of selected django applications
    
    - Inject swh-web django app names in templates to check a feature is enabled
    
    Related to T4398

See https://jenkins.softwareheritage.org/job/DWAPPS/job/tests-on-diff/1987/ for more details.

This revision is now accepted and ready to land.Aug 19 2022, 5:07 PM