Source code for shuup.campaigns.admin_module.utils
# -*- coding: utf-8 -*-
# This file is part of Shuup.
#
# Copyright (c) 2012-2021, Shuup Commerce Inc. All rights reserved.
#
# This source code is licensed under the OSL-3.0 license found in the
# LICENSE file in the root directory of this source tree.
from shuup.admin.utils.permissions import get_missing_permissions
from shuup.apps.provides import get_provide_objects
[docs]def get_formparts_for_provide_key(user, provide_key):
provide_objects = list(get_provide_objects(provide_key))
missing_permissions = get_missing_permissions(user, [form.__name__ for form in provide_objects])
return [provide_object for provide_object in provide_objects if provide_object.__name__ not in missing_permissions]
[docs]def get_extra_permissions_for_admin_module():
# Warning! Only basket campaigns related provides are here since
# catalog campaigns are deprecated
provide_keys = [
"campaign_basket_condition",
"campaign_basket_discount_effect_form",
"campaign_basket_line_effect_form",
]
permissions = set()
for provide_key in provide_keys:
for provide_object in get_provide_objects(provide_key):
permissions.add(provide_object.__name__)
return permissions