deliver quest types
This commit is contained in:
parent
a7cacecdbe
commit
9852171c3e
3 changed files with 9 additions and 5 deletions
|
@ -60,7 +60,7 @@ class UserDataSchema(BaseSchema):
|
||||||
example=[2, 5],
|
example=[2, 5],
|
||||||
)
|
)
|
||||||
overlays: list[DataOverlaySchema]
|
overlays: list[DataOverlaySchema]
|
||||||
quests: bool
|
quests: dict[str, str]
|
||||||
|
|
||||||
|
|
||||||
class FetchUpdatesResponseSchema(BaseSchema):
|
class FetchUpdatesResponseSchema(BaseSchema):
|
||||||
|
|
|
@ -6,6 +6,7 @@ from django.utils.translation import ngettext_lazy
|
||||||
from c3nav.mapdata.models import DataOverlay
|
from c3nav.mapdata.models import DataOverlay
|
||||||
from c3nav.mapdata.models.access import AccessPermission, AccessRestriction
|
from c3nav.mapdata.models.access import AccessPermission, AccessRestriction
|
||||||
from c3nav.mapdata.models.locations import Position
|
from c3nav.mapdata.models.locations import Position
|
||||||
|
from c3nav.mapdata.quests import quest_types
|
||||||
from c3nav.mapdata.schemas.models import DataOverlaySchema
|
from c3nav.mapdata.schemas.models import DataOverlaySchema
|
||||||
|
|
||||||
|
|
||||||
|
@ -39,7 +40,11 @@ def get_user_data(request):
|
||||||
DataOverlaySchema.model_validate(overlay).model_dump()
|
DataOverlaySchema.model_validate(overlay).model_dump()
|
||||||
for overlay in DataOverlay.qs_for_request(request)
|
for overlay in DataOverlay.qs_for_request(request)
|
||||||
],
|
],
|
||||||
'quests': bool(request.user.is_superuser or request.user_permissions.quests),
|
'quests': (
|
||||||
|
{key: quest.quest_type_label
|
||||||
|
for key, quest in quest_types.items()
|
||||||
|
if request.user.is_superuser or request.user_permissions.quests}
|
||||||
|
),
|
||||||
})
|
})
|
||||||
|
|
||||||
return result
|
return result
|
||||||
|
|
|
@ -1925,11 +1925,10 @@ c3nav = {
|
||||||
},
|
},
|
||||||
_update_quests: function () {
|
_update_quests: function () {
|
||||||
if (!c3nav.map) return;
|
if (!c3nav.map) return;
|
||||||
console.log(c3nav.user_data);
|
|
||||||
if (c3nav._questsControl) {
|
if (c3nav._questsControl) {
|
||||||
if (!c3nav.user_data.quests) c3nav.map.removeControl(c3nav._questsControl);
|
if (!Object.keys(c3nav.user_data.quests).length) c3nav.map.removeControl(c3nav._questsControl);
|
||||||
} else {
|
} else {
|
||||||
if (c3nav.user_data.quests) c3nav._questsControl = (new QuestsControl()).addTo(c3nav.map);
|
if (Object.keys(c3nav.user_data.quests).length) c3nav._questsControl = (new QuestsControl()).addTo(c3nav.map);
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue