Newer
Older
from django.core.exceptions import PermissionDenied
import graphene
from graphene_django import DjangoObjectType
from graphql import GraphQLError
from aleksis.apps.tezor.models.base import Client
from aleksis.apps.tezor.models.invoice import InvoiceGroup
from aleksis.apps.tezor.schema.client import PaymentVariantChoiceType
from aleksis.core.schema.base import FilterOrderList
from aleksis.core.util.core_helpers import get_site_preferences
from .checkpoint import CheckpointCheckInMutation
from .event import EventType
from .event_additional_field import (
EventAdditionalFieldBatchCreateMutation,
EventAdditionalFieldBatchDeleteMutation,
EventAdditionalFieldBatchPatchMutation,
from .event_registration import SendEventRegistrationMutation
from .terms import TermsType
class Query(graphene.ObjectType):
event_additional_fields = FilterOrderList(EventAdditionalFieldType)
event_by_id = graphene.Field(EventType, id=graphene.ID())
event_by_slug = graphene.Field(EventType, slug=graphene.String())
terms = FilterOrderList(TermsType)
paweljong_payment_choices = graphene.List(PaymentVariantChoiceType)
@staticmethod
def resolve_event_by_id(root, info, id):
event = Event.objects.get(pk=id)
# if not info.context.user.has_perm("paweljong.view_person_rule", event):
# return None
return event
@staticmethod
def resolve_event_by_slug(root, info, slug):
event = Event.objects.get(slug=slug)
# if not info.context.user.has_perm("paweljong.view_person_rule", event):
# return None
return event
@staticmethod
def resolve_paweljong_payment_choices(root, info):
client, __ = Client.objects.get_or_create(name=get_site_preferences()["paweljong__event_invoice_client_name"])
group, __ = InvoiceGroup.objects.get_or_create(
name=get_site_preferences()["paweljong__event_invoice_group_name"],
client=client,
defaults={
"template_name": "paweljong/invoice_pdf.html",
},
)
return group.get_variant_choices()
class Mutation(graphene.ObjectType):
checkpoint_check_in = CheckpointCheckInMutation.Field()
create_event_additional_fields = EventAdditionalFieldBatchCreateMutation.Field()
delete_event_additional_fields = EventAdditionalFieldBatchDeleteMutation.Field()
update_event_additional_fields = EventAdditionalFieldBatchPatchMutation.Field()
send_event_registration = SendEventRegistrationMutation.Field()