icon for quest types
This commit is contained in:
parent
10d49e9ebb
commit
4c1fbb3b21
3 changed files with 9 additions and 2 deletions
|
@ -18,6 +18,11 @@ from c3nav.mapdata.views import set_tile_access_cookie
|
|||
updates_api_router = APIRouter(tags=["updates"])
|
||||
|
||||
|
||||
class QuestTypeSchema(BaseSchema):
|
||||
label: str
|
||||
icon: str
|
||||
|
||||
|
||||
class UserDataSchema(BaseSchema):
|
||||
# use in more places
|
||||
logged_in: bool = APIField(
|
||||
|
@ -60,7 +65,7 @@ class UserDataSchema(BaseSchema):
|
|||
example=[2, 5],
|
||||
)
|
||||
overlays: list[DataOverlaySchema]
|
||||
quests: dict[str, str]
|
||||
quests: dict[str, QuestTypeSchema]
|
||||
|
||||
|
||||
class FetchUpdatesResponseSchema(BaseSchema):
|
||||
|
|
|
@ -46,6 +46,7 @@ class RangingBeaconAltitudeQuestForm(ChangeSetModelForm):
|
|||
class RangingBeaconAltitudeQuest(Quest):
|
||||
quest_type = "ranging_beacon_altitude"
|
||||
quest_type_label = _('Ranging Beacon Altitude')
|
||||
quest_type_icon = "router"
|
||||
form_class = RangingBeaconAltitudeQuestForm
|
||||
obj: RangingBeacon
|
||||
|
||||
|
@ -74,6 +75,7 @@ class LeaveDescriptionQuestForm(I18nModelFormMixin, ChangeSetModelForm):
|
|||
class LeaveDescriptionQuest(Quest):
|
||||
quest_type = "leave_description"
|
||||
quest_type_label = _('Leave Description')
|
||||
quest_type_icon = "logout"
|
||||
form_class = LeaveDescriptionQuestForm
|
||||
obj: ClassVar
|
||||
space: Space
|
||||
|
|
|
@ -41,7 +41,7 @@ def get_user_data(request):
|
|||
for overlay in DataOverlay.qs_for_request(request)
|
||||
],
|
||||
'quests': (
|
||||
{key: quest.quest_type_label
|
||||
{key: {"label": quest.quest_type_label, "icon": quest.quest_type_icon}
|
||||
for key, quest in quest_types.items()
|
||||
if request.user.is_superuser or request.user_permissions.quests}
|
||||
),
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue