From 173fcd53c358cff836db546ec21ca579d9c18e6f Mon Sep 17 00:00:00 2001 From: "lukasz.karykowski" Date: Thu, 2 Mar 2023 10:11:00 +0100 Subject: [PATCH 1/6] HAL-2220 | new system to accept released assets to status in use team and test. --- src/ralph/accounts/helpers.py | 9 ++++- .../admin/templatetags/dashboard_tags.py | 35 ++++++++++++++++++- src/ralph/settings/base.py | 8 ++++- 3 files changed, 49 insertions(+), 3 deletions(-) diff --git a/src/ralph/accounts/helpers.py b/src/ralph/accounts/helpers.py index e15ac32a14..d6854f9a6c 100644 --- a/src/ralph/accounts/helpers.py +++ b/src/ralph/accounts/helpers.py @@ -20,6 +20,8 @@ ACCEPTANCE_BACK_OFFICE_RETURN_STATUS = settings.ACCEPT_ASSETS_FOR_CURRENT_USER_CONFIG['BACK_OFFICE_ACCEPT_RETURN_STATUS'] # noqa: E509 ACCEPTANCE_ACCESS_CARD_TRANSITION_ID = settings.ACCEPT_ASSETS_FOR_CURRENT_USER_CONFIG['TRANSITION_ACCESS_CARD_ID'] # noqa: E509 ACCEPTANCE_ACCESS_CARD_ACCEPT_STATUS = settings.ACCEPT_ASSETS_FOR_CURRENT_USER_CONFIG['ACCESS_CARD_ACCEPT_ACCEPT_STATUS'] # noqa: E509 +ACCEPTANCE_BACK_OFFICE_TEAM_ACCEPT_STATUS = settings.ACCEPT_ASSETS_FOR_CURRENT_USER_CONFIG['BACK_OFFICE_TEAM_ACCEPT_STATUS'] # noqa: E509 +ACCEPTANCE_BACK_OFFICE_TEST_ACCEPT_STATUS = settings.ACCEPT_ASSETS_FOR_CURRENT_USER_CONFIG['BACK_OFFICE_TEST_ACCEPT_STATUS'] # noqa: E509 def transition_exists(transition_id): @@ -64,7 +66,6 @@ def get_access_cards(user, status): get_assets_to_accept = partial( get_assets, status=ACCEPTANCE_BACK_OFFICE_ACCEPT_STATUS ) - get_simcards_to_accept = partial( get_simcards, status=ACCEPTANCE_SIMCARD_ACCEPT_STATUS ) @@ -77,6 +78,12 @@ def get_access_cards(user, status): get_access_cards_to_accept = partial( get_access_cards, status=ACCEPTANCE_ACCESS_CARD_ACCEPT_STATUS ) +get_team_assets_to_accept = partial( + get_assets, status=ACCEPTANCE_BACK_OFFICE_TEAM_ACCEPT_STATUS +) +get_test_assets_to_accept = partial( + get_assets, status=ACCEPTANCE_BACK_OFFICE_TEST_ACCEPT_STATUS +) def get_acceptance_url(user): diff --git a/src/ralph/admin/templatetags/dashboard_tags.py b/src/ralph/admin/templatetags/dashboard_tags.py index b5a8d5fbe2..a7b6368e4b 100644 --- a/src/ralph/admin/templatetags/dashboard_tags.py +++ b/src/ralph/admin/templatetags/dashboard_tags.py @@ -20,7 +20,9 @@ get_loan_acceptance_url, get_return_acceptance_url, get_simcard_acceptance_url, - get_simcards_to_accept + get_simcards_to_accept, + get_team_assets_to_accept, + get_test_assets_to_accept ) from ralph.assets.models import BaseObject, Service, ServiceEnvironment from ralph.back_office.models import BackOfficeAsset @@ -106,6 +108,30 @@ def get_user_equipment_to_accept_return_tile_data(user): } +def get_user_team_equipment_to_accept_tile_data(user): + assets_to_accept_count = get_team_assets_to_accept(user).count() + if not assets_to_accept_count: + return None + return { + 'class': 'team-equipment-to-accept', + 'label': _('Team hardware pick up'), + 'count': assets_to_accept_count, + 'url': get_acceptance_url(user), + } + + +def get_user_test_equipment_to_accept_tile_data(user): + assets_to_accept_count = get_test_assets_to_accept(user).count() + if not assets_to_accept_count: + return None + return { + 'class': 'test-equipment-to-accept', + 'label': _('Test hardware pick up'), + 'count': assets_to_accept_count, + 'url': get_acceptance_url(user), + } + + def get_available_space_in_data_centers(data_centers): available = Rack.objects.filter( server_room__data_center__in=data_centers, @@ -219,6 +245,13 @@ def ralph_summary(context): accept_for_return_tile_data = get_user_equipment_to_accept_return_tile_data(user=user) # noqa if accept_for_return_tile_data: results.append(accept_for_return_tile_data) + accept_for_team_asset_tile_data = get_user_team_equipment_to_accept_tile_data(user=user) # noqa + if accept_for_team_asset_tile_data: + results.append(accept_for_team_asset_tile_data) + accept_for_test_asset_tile_data = get_user_test_equipment_to_accept_tile_data(user=user) # noqa + if accept_for_test_asset_tile_data: + results.append(accept_for_test_asset_tile_data) + return {'results': results} diff --git a/src/ralph/settings/base.py b/src/ralph/settings/base.py index adddbab29c..2f4f3def63 100644 --- a/src/ralph/settings/base.py +++ b/src/ralph/settings/base.py @@ -474,7 +474,7 @@ def get_sentinels(sentinels_string): ), # in_progress by default 'BACK_OFFICE_ACCEPT_STATUS': os.environ.get( - 'ACCEPT_ASSETS_FOR_CURRENT_USER_BACK_OFFICE_ACCEPT_STATUS', 2 + 'ACCEPT_ASSETS_FOR_CURRENT_USER_BACK_OFFICE_ACCEPT_STATUS', 11 ), 'SIMCARD_ACCEPT_STATUS': os.environ.get( 'SIMCARD_FOR_CURRENT_USER_BACK_OFFICE_ACCEPT_STATUS', 2 @@ -496,6 +496,12 @@ def get_sentinels(sentinels_string): 'BACK_OFFICE_ACCEPT_RETURN_STATUS': os.environ.get( 'RETURN_ASSESTS_FOR_CURRENT_USER_BACK_OFFICE_ACCEPT_STATUS', 14 ), + 'BACK_OFFICE_ACCEPT_TEAM_ASSET_STATUS': os.environ.get( + 'ACCEPT_TEAM_ASSETS_FOR_CURRENT_USER_BACK_OFFICE_ACCEPT_STATUS', 103 + ), + 'BACK_OFFICE_ACCEPT_TEST_ASSET_STATUS': os.environ.get( + 'ACCEPT_TEST_ASSETS_FOR_CURRENT_USER_BACK_OFFICE_ACCEPT_STATUS', 105 + ), } RELEASE_REPORT_CONFIG = { # report with name 'release' is by default From 12684d235ffead80366955e6b7350b699a5baf3a Mon Sep 17 00:00:00 2001 From: "lukasz.karykowski" Date: Thu, 2 Mar 2023 10:18:08 +0100 Subject: [PATCH 2/6] HAL-2220 | new system to accept released assets to status in use team and test. --- src/ralph/settings/base.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/ralph/settings/base.py b/src/ralph/settings/base.py index 2f4f3def63..45cdfce834 100644 --- a/src/ralph/settings/base.py +++ b/src/ralph/settings/base.py @@ -474,7 +474,7 @@ def get_sentinels(sentinels_string): ), # in_progress by default 'BACK_OFFICE_ACCEPT_STATUS': os.environ.get( - 'ACCEPT_ASSETS_FOR_CURRENT_USER_BACK_OFFICE_ACCEPT_STATUS', 11 + 'ACCEPT_ASSETS_FOR_CURRENT_USER_BACK_OFFICE_ACCEPT_STATUS', 2 ), 'SIMCARD_ACCEPT_STATUS': os.environ.get( 'SIMCARD_FOR_CURRENT_USER_BACK_OFFICE_ACCEPT_STATUS', 2 From 5730b5d16cbfcc1c5b82761d8cb17bfea75cb24c Mon Sep 17 00:00:00 2001 From: "lukasz.karykowski" Date: Thu, 2 Mar 2023 12:55:40 +0100 Subject: [PATCH 3/6] HAL-2220 | added missing code to helpers. --- src/ralph/accounts/helpers.py | 36 +++++++++++++++++++++++++++++++++-- 1 file changed, 34 insertions(+), 2 deletions(-) diff --git a/src/ralph/accounts/helpers.py b/src/ralph/accounts/helpers.py index d6854f9a6c..63a0ce235c 100644 --- a/src/ralph/accounts/helpers.py +++ b/src/ralph/accounts/helpers.py @@ -21,8 +21,9 @@ ACCEPTANCE_ACCESS_CARD_TRANSITION_ID = settings.ACCEPT_ASSETS_FOR_CURRENT_USER_CONFIG['TRANSITION_ACCESS_CARD_ID'] # noqa: E509 ACCEPTANCE_ACCESS_CARD_ACCEPT_STATUS = settings.ACCEPT_ASSETS_FOR_CURRENT_USER_CONFIG['ACCESS_CARD_ACCEPT_ACCEPT_STATUS'] # noqa: E509 ACCEPTANCE_BACK_OFFICE_TEAM_ACCEPT_STATUS = settings.ACCEPT_ASSETS_FOR_CURRENT_USER_CONFIG['BACK_OFFICE_TEAM_ACCEPT_STATUS'] # noqa: E509 +ACCEPTANCE_BACK_OFFICE_TEAM_ACCEPT_ID = settings.ACCEPT_ASSETS_FOR_CURRENT_USER_CONFIG['BACK_OFFICE_TEAM_ACCEPT_ID'] # noqa: E509 ACCEPTANCE_BACK_OFFICE_TEST_ACCEPT_STATUS = settings.ACCEPT_ASSETS_FOR_CURRENT_USER_CONFIG['BACK_OFFICE_TEST_ACCEPT_STATUS'] # noqa: E509 - +ACCEPTANCE_BACK_OFFICE_TEST_ACCEPT_ID = settings.ACCEPT_ASSETS_FOR_CURRENT_USER_CONFIG['BACK_OFFICE_TEST_ACCEPT_ID'] # noqa: E509 def transition_exists(transition_id): return Transition.objects.filter( @@ -42,7 +43,12 @@ def transition_exists(transition_id): acceptance_access_card_transition_exists = partial( transition_exists, ACCEPTANCE_ACCESS_CARD_TRANSITION_ID ) - +acceptance_team_asset_transition_exists = partial( + transition_exists, ACCEPTANCE_BACK_OFFICE_TEAM_ACCEPT_ID +) +acceptance_test_asset_transition_exists = partial( + transition_exists, ACCEPTANCE_BACK_OFFICE_TEST_ACCEPT_ID +) def get_assets(user, status): return BackOfficeAsset.objects.filter( @@ -149,3 +155,29 @@ def get_access_card_acceptance_url(user): query = urlencode([('select', a.id) for a in assets_to_accept]) return '?'.join((url, query)) return None + + +def get_team_asset_acceptance_url(user): + assets_to_accept = get_team_assets_to_accept(user) + admin_instance = ralph_site.get_admin_instance_for_model( + BackOfficeAsset + ) + url_name = admin_instance.get_transition_bulk_url_name() + if assets_to_accept: + url = reverse(url_name, args=(ACCEPTANCE_BACK_OFFICE_TEAM_ACCEPT_ID,)) + query = urlencode([('select', a.id) for a in assets_to_accept]) + return '?'.join((url, query)) + return None + + +def get_test_asset_acceptance_url(user): + assets_to_accept = get_test_assets_to_accept(user) + admin_instance = ralph_site.get_admin_instance_for_model( + BackOfficeAsset + ) + url_name = admin_instance.get_transition_bulk_url_name() + if assets_to_accept: + url = reverse(url_name, args=(ACCEPTANCE_BACK_OFFICE_TEST_ACCEPT_ID,)) + query = urlencode([('select', a.id) for a in assets_to_accept]) + return '?'.join((url, query)) + return None From 2729c5fdb8f949d7fdee941b384cc16ae76d8d80 Mon Sep 17 00:00:00 2001 From: "lukasz.karykowski" Date: Thu, 2 Mar 2023 12:57:35 +0100 Subject: [PATCH 4/6] HAL-2220 | Code Style repair. --- src/ralph/accounts/helpers.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/ralph/accounts/helpers.py b/src/ralph/accounts/helpers.py index 63a0ce235c..b808acb65f 100644 --- a/src/ralph/accounts/helpers.py +++ b/src/ralph/accounts/helpers.py @@ -25,6 +25,7 @@ ACCEPTANCE_BACK_OFFICE_TEST_ACCEPT_STATUS = settings.ACCEPT_ASSETS_FOR_CURRENT_USER_CONFIG['BACK_OFFICE_TEST_ACCEPT_STATUS'] # noqa: E509 ACCEPTANCE_BACK_OFFICE_TEST_ACCEPT_ID = settings.ACCEPT_ASSETS_FOR_CURRENT_USER_CONFIG['BACK_OFFICE_TEST_ACCEPT_ID'] # noqa: E509 + def transition_exists(transition_id): return Transition.objects.filter( id=transition_id @@ -50,6 +51,7 @@ def transition_exists(transition_id): transition_exists, ACCEPTANCE_BACK_OFFICE_TEST_ACCEPT_ID ) + def get_assets(user, status): return BackOfficeAsset.objects.filter( status=status From 0be06a1cdbcda8afd1f0ec499c8e384ae5b8fc9c Mon Sep 17 00:00:00 2001 From: "lukasz.karykowski" Date: Thu, 2 Mar 2023 13:37:16 +0100 Subject: [PATCH 5/6] HAL-2220 | Errors repair. --- src/ralph/accounts/helpers.py | 12 ++++++------ src/ralph/admin/templatetags/dashboard_tags.py | 8 +++++--- src/ralph/settings/base.py | 10 ++++++++-- 3 files changed, 19 insertions(+), 11 deletions(-) diff --git a/src/ralph/accounts/helpers.py b/src/ralph/accounts/helpers.py index b808acb65f..00b7cb8872 100644 --- a/src/ralph/accounts/helpers.py +++ b/src/ralph/accounts/helpers.py @@ -21,9 +21,9 @@ ACCEPTANCE_ACCESS_CARD_TRANSITION_ID = settings.ACCEPT_ASSETS_FOR_CURRENT_USER_CONFIG['TRANSITION_ACCESS_CARD_ID'] # noqa: E509 ACCEPTANCE_ACCESS_CARD_ACCEPT_STATUS = settings.ACCEPT_ASSETS_FOR_CURRENT_USER_CONFIG['ACCESS_CARD_ACCEPT_ACCEPT_STATUS'] # noqa: E509 ACCEPTANCE_BACK_OFFICE_TEAM_ACCEPT_STATUS = settings.ACCEPT_ASSETS_FOR_CURRENT_USER_CONFIG['BACK_OFFICE_TEAM_ACCEPT_STATUS'] # noqa: E509 -ACCEPTANCE_BACK_OFFICE_TEAM_ACCEPT_ID = settings.ACCEPT_ASSETS_FOR_CURRENT_USER_CONFIG['BACK_OFFICE_TEAM_ACCEPT_ID'] # noqa: E509 +ACCEPTANCE_TEAM_ACCEPT_TRANSITION_ID = settings.ACCEPT_ASSETS_FOR_CURRENT_USER_CONFIG['TRANSITION_TEAM_ACCEPT_ID'] # noqa: E509 ACCEPTANCE_BACK_OFFICE_TEST_ACCEPT_STATUS = settings.ACCEPT_ASSETS_FOR_CURRENT_USER_CONFIG['BACK_OFFICE_TEST_ACCEPT_STATUS'] # noqa: E509 -ACCEPTANCE_BACK_OFFICE_TEST_ACCEPT_ID = settings.ACCEPT_ASSETS_FOR_CURRENT_USER_CONFIG['BACK_OFFICE_TEST_ACCEPT_ID'] # noqa: E509 +ACCEPTANCE_TEST_ACCEPT_TRANSITION_ID = settings.ACCEPT_ASSETS_FOR_CURRENT_USER_CONFIG['TRANSITION_TEST_ACCEPT_ID'] # noqa: E509 def transition_exists(transition_id): @@ -45,10 +45,10 @@ def transition_exists(transition_id): transition_exists, ACCEPTANCE_ACCESS_CARD_TRANSITION_ID ) acceptance_team_asset_transition_exists = partial( - transition_exists, ACCEPTANCE_BACK_OFFICE_TEAM_ACCEPT_ID + transition_exists, ACCEPTANCE_TEAM_ACCEPT_TRANSITION_ID ) acceptance_test_asset_transition_exists = partial( - transition_exists, ACCEPTANCE_BACK_OFFICE_TEST_ACCEPT_ID + transition_exists, ACCEPTANCE_TEST_ACCEPT_TRANSITION_ID ) @@ -166,7 +166,7 @@ def get_team_asset_acceptance_url(user): ) url_name = admin_instance.get_transition_bulk_url_name() if assets_to_accept: - url = reverse(url_name, args=(ACCEPTANCE_BACK_OFFICE_TEAM_ACCEPT_ID,)) + url = reverse(url_name, args=(ACCEPTANCE_TEAM_ACCEPT_TRANSITION_ID,)) query = urlencode([('select', a.id) for a in assets_to_accept]) return '?'.join((url, query)) return None @@ -179,7 +179,7 @@ def get_test_asset_acceptance_url(user): ) url_name = admin_instance.get_transition_bulk_url_name() if assets_to_accept: - url = reverse(url_name, args=(ACCEPTANCE_BACK_OFFICE_TEST_ACCEPT_ID,)) + url = reverse(url_name, args=(ACCEPTANCE_TEST_ACCEPT_TRANSITION_ID,)) query = urlencode([('select', a.id) for a in assets_to_accept]) return '?'.join((url, query)) return None diff --git a/src/ralph/admin/templatetags/dashboard_tags.py b/src/ralph/admin/templatetags/dashboard_tags.py index a7b6368e4b..3efd5e4946 100644 --- a/src/ralph/admin/templatetags/dashboard_tags.py +++ b/src/ralph/admin/templatetags/dashboard_tags.py @@ -22,7 +22,9 @@ get_simcard_acceptance_url, get_simcards_to_accept, get_team_assets_to_accept, - get_test_assets_to_accept + get_team_asset_acceptance_url, + get_test_assets_to_accept, + get_test_asset_acceptance_url ) from ralph.assets.models import BaseObject, Service, ServiceEnvironment from ralph.back_office.models import BackOfficeAsset @@ -116,7 +118,7 @@ def get_user_team_equipment_to_accept_tile_data(user): 'class': 'team-equipment-to-accept', 'label': _('Team hardware pick up'), 'count': assets_to_accept_count, - 'url': get_acceptance_url(user), + 'url': get_team_asset_acceptance_url(user), } @@ -128,7 +130,7 @@ def get_user_test_equipment_to_accept_tile_data(user): 'class': 'test-equipment-to-accept', 'label': _('Test hardware pick up'), 'count': assets_to_accept_count, - 'url': get_acceptance_url(user), + 'url': get_test_asset_acceptance_url(user), } diff --git a/src/ralph/settings/base.py b/src/ralph/settings/base.py index 45cdfce834..133ff72f83 100644 --- a/src/ralph/settings/base.py +++ b/src/ralph/settings/base.py @@ -496,12 +496,18 @@ def get_sentinels(sentinels_string): 'BACK_OFFICE_ACCEPT_RETURN_STATUS': os.environ.get( 'RETURN_ASSESTS_FOR_CURRENT_USER_BACK_OFFICE_ACCEPT_STATUS', 14 ), - 'BACK_OFFICE_ACCEPT_TEAM_ASSET_STATUS': os.environ.get( + 'BACK_OFFICE_TEAM_ACCEPT_STATUS': os.environ.get( 'ACCEPT_TEAM_ASSETS_FOR_CURRENT_USER_BACK_OFFICE_ACCEPT_STATUS', 103 ), - 'BACK_OFFICE_ACCEPT_TEST_ASSET_STATUS': os.environ.get( + 'TRANSITION_TEAM_ACCEPT_ID': os.environ.get( + 'ACCEPT_TEAM_ASSETS_FOR_CURRENT_USER_TRANSITION_ID', None + ), + 'BACK_OFFICE_TEST_ACCEPT_STATUS': os.environ.get( 'ACCEPT_TEST_ASSETS_FOR_CURRENT_USER_BACK_OFFICE_ACCEPT_STATUS', 105 ), + 'TRANSITION_TEST_ACCEPT_ID': os.environ.get( + 'ACCEPT_TEST_ASSETS_FOR_CURRENT_USER_TRANSITION_ID', None + ), } RELEASE_REPORT_CONFIG = { # report with name 'release' is by default From 56775d1034ac10d8da0345030161a57ad23ea063 Mon Sep 17 00:00:00 2001 From: "lukasz.karykowski" Date: Thu, 2 Mar 2023 13:39:44 +0100 Subject: [PATCH 6/6] HAL-2220 | import sorting repair. --- src/ralph/admin/templatetags/dashboard_tags.py | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/src/ralph/admin/templatetags/dashboard_tags.py b/src/ralph/admin/templatetags/dashboard_tags.py index 3efd5e4946..373ee0b644 100644 --- a/src/ralph/admin/templatetags/dashboard_tags.py +++ b/src/ralph/admin/templatetags/dashboard_tags.py @@ -21,10 +21,11 @@ get_return_acceptance_url, get_simcard_acceptance_url, get_simcards_to_accept, - get_team_assets_to_accept, get_team_asset_acceptance_url, - get_test_assets_to_accept, - get_test_asset_acceptance_url + get_team_assets_to_accept, + get_test_asset_acceptance_url, + get_test_assets_to_accept + ) from ralph.assets.models import BaseObject, Service, ServiceEnvironment from ralph.back_office.models import BackOfficeAsset