Tickets module

Tickets Models

class tickets.models.AbstractAttempt(*args, **kwargs)[source]

Bases: django.db.models.base.Model

date
Attempt datetime

Type: django.db.models.fields.DateTimeField

Sets now when create.
Date (with time)
user
User

Type: django.db.models.fields.related.ForeignKey

Foreign key (type determined by related field)
class Meta[source]

Bases: builtins.object

abstract = False
AbstractAttempt.get_next_by_date(*moreargs, **morekwargs)
AbstractAttempt.get_previous_by_date(*moreargs, **morekwargs)
AbstractAttempt.save(force_insert=False, force_update=False, using=None, request=None)[source]
AbstractAttempt.user
class tickets.models.Attempt(*args, **kwargs)[source]

Bases: tickets.models.AbstractAttempt

Attempt(id, date, user_id, code, ticket_code_id, success)

id
Id

Type: django.db.models.fields.AutoField

Integer
date
Attempt datetime

Type: django.db.models.fields.DateTimeField

Sets now when create.
Date (with time)
user
User

Type: django.db.models.fields.related.ForeignKey

Foreign key (type determined by related field)
code
Code

Type: django.db.models.fields.CharField

Maximum length: 60
String (up to 60)
ticket_code
Ticket code

Type: django.db.models.fields.related.ForeignKey

Foreign key (type determined by related field)
success
Using success

Type: django.db.models.fields.BooleanField

Default value: False
Boolean (either true or false)
exception DoesNotExist

Bases: django.core.exceptions.ObjectDoesNotExist

exception Attempt.MultipleObjectsReturned

Bases: django.core.exceptions.MultipleObjectsReturned

Attempt.get_next_by_date(*moreargs, **morekwargs)
Attempt.get_previous_by_date(*moreargs, **morekwargs)
Attempt.objects = <django.db.models.manager.Manager object at 0x7fa2343886d8>
Attempt.ticket_code
Attempt.user
class tickets.models.AttemptListItemSerializer(instance=None, data=None, **kwargs)[source]

Bases: rest_framework.serializers.ModelSerializer

class Meta[source]

Bases: builtins.object

fields = ('id', 'user', 'success', 'date')
model

alias of Attempt

class tickets.models.AttemptSerializer(instance=None, data=None, **kwargs)[source]

Bases: rest_framework.serializers.ModelSerializer

class Meta[source]

Bases: builtins.object

model

alias of Attempt

class tickets.models.FakeAttempt(*args, **kwargs)[source]

Bases: tickets.models.AbstractAttempt

FakeAttempt(id, date, user_id, code)

id
Id

Type: django.db.models.fields.AutoField

Integer
date
Attempt datetime

Type: django.db.models.fields.DateTimeField

Sets now when create.
Date (with time)
user
User

Type: django.db.models.fields.related.ForeignKey

Foreign key (type determined by related field)
code
Code

Type: django.db.models.fields.CharField

Maximum length: 90
String (up to 90)
exception DoesNotExist

Bases: django.core.exceptions.ObjectDoesNotExist

exception FakeAttempt.MultipleObjectsReturned

Bases: django.core.exceptions.MultipleObjectsReturned

FakeAttempt.get_next_by_date(*moreargs, **morekwargs)
FakeAttempt.get_previous_by_date(*moreargs, **morekwargs)
FakeAttempt.objects = <django.db.models.manager.Manager object at 0x7fa234388ac8>
FakeAttempt.user
class tickets.models.TicketCode(*args, **kwargs)[source]

Bases: commons.models.CommonModel

TicketCode(id, creation_date, modified_date, created_by_id, modified_by_id, code, ticket_pack_id, status, ticket_number, external_id, external_customer_name, external_fiscal_number, external_locator)

id
Id

Type: django.db.models.fields.AutoField

Integer
creation_date
Creation datetime

Type: django.db.models.fields.DateTimeField

Sets now when create.
Date (with time)
modified_date
Modified datetime

Type: django.db.models.fields.DateTimeField

Sets now on each updates.
Date (with time)
created_by
Created by

Type: django.db.models.fields.related.ForeignKey

Foreign key (type determined by related field)
modified_by
Modified by

Type: django.db.models.fields.related.ForeignKey

Foreign key (type determined by related field)
code
Code

Type: django.db.models.fields.CharField

Maximum length: 60
String (up to 60)
ticket_pack
Ticket pack

Type: django.db.models.fields.related.ForeignKey

Foreign key (type determined by related field)
status
Status

Type: django.db.models.fields.CharField

Maximum length: 2
Choices:
  • NW -> New
  • US -> Used
  • DS -> Disabled

Default value: NW

String (up to 2)
ticket_number
Ticket number

Type: django.db.models.fields.PositiveIntegerField

Positive integer
external_id
External id

Type: django.db.models.fields.CharField

Maximum length: 50
String (up to 50)
external_customer_name
External customer name

Type: django.db.models.fields.CharField

Maximum length: 200
String (up to 200)
external_fiscal_number
External fiscal number

Type: django.db.models.fields.CharField

Maximum length: 20
String (up to 20)
external_locator
External locator

Type: django.db.models.fields.CharField

Maximum length: 40
String (up to 40)
exception DoesNotExist

Bases: django.core.exceptions.ObjectDoesNotExist

exception TicketCode.MultipleObjectsReturned

Bases: django.core.exceptions.MultipleObjectsReturned

TicketCode.TICKET_CODE_STATUS = (('NW', 'New'), ('US', 'Used'), ('DS', 'Disabled'))
TicketCode.TICKET_CODE_STATUS_DISABLED = 'DS'
TicketCode.TICKET_CODE_STATUS_NEW = 'NW'
TicketCode.TICKET_CODE_STATUS_USED = 'US'
TicketCode.attempt_count()[source]
TicketCode.attempt_list
TicketCode.created_by
TicketCode.event()[source]
TicketCode.get_next_by_creation_date(*moreargs, **morekwargs)
TicketCode.get_next_by_modified_date(*moreargs, **morekwargs)
TicketCode.get_previous_by_creation_date(*moreargs, **morekwargs)
TicketCode.get_previous_by_modified_date(*moreargs, **morekwargs)
TicketCode.get_status_display(*moreargs, **morekwargs)
TicketCode.make_attempt(user)[source]
TicketCode.modified_by
TicketCode.objects = <tickets.models.TicketCodeManager object at 0x7fa234377a58>
TicketCode.ticket_pack
class tickets.models.TicketCodeManager[source]

Bases: django.db.models.manager.Manager

get_for_attempt(code)[source]
make_attempt(code, user)[source]
class tickets.models.TicketCodeSerializer(instance=None, data=None, **kwargs)[source]

Bases: rest_framework.serializers.ModelSerializer

class Meta[source]

Bases: builtins.object

model

alias of TicketCode

class tickets.models.TicketPack(*args, **kwargs)[source]

Bases: commons.models.CommonModel

TicketPack(id, creation_date, modified_date, created_by_id, modified_by_id, name, prefix, event_id)

id
Id

Type: django.db.models.fields.AutoField

Integer
creation_date
Creation datetime

Type: django.db.models.fields.DateTimeField

Sets now when create.
Date (with time)
modified_date
Modified datetime

Type: django.db.models.fields.DateTimeField

Sets now on each updates.
Date (with time)
created_by
Created by

Type: django.db.models.fields.related.ForeignKey

Foreign key (type determined by related field)
modified_by
Modified by

Type: django.db.models.fields.related.ForeignKey

Foreign key (type determined by related field)
name
Name

Type: django.db.models.fields.CharField

Maximum length: 50
String (up to 50)
prefix
Prefix

Type: django.db.models.fields.CharField

Maximum length: 2
String (up to 2)
event
Event

Type: django.db.models.fields.related.ForeignKey

Foreign key (type determined by related field)
exception DoesNotExist

Bases: django.core.exceptions.ObjectDoesNotExist

exception TicketPack.MultipleObjectsReturned

Bases: django.core.exceptions.MultipleObjectsReturned

TicketPack.created_by
TicketPack.event
TicketPack.get_next_by_creation_date(*moreargs, **morekwargs)
TicketPack.get_next_by_modified_date(*moreargs, **morekwargs)
TicketPack.get_prefix()[source]
TicketPack.get_previous_by_creation_date(*moreargs, **morekwargs)
TicketPack.get_previous_by_modified_date(*moreargs, **morekwargs)
TicketPack.get_ticket_count()[source]
TicketPack.modified_by
TicketPack.objects = <django.db.models.manager.Manager object at 0x7fa234377320>
TicketPack.ticket_codes
class tickets.models.TicketPackSerializer(instance=None, data=None, **kwargs)[source]

Bases: rest_framework.serializers.ModelSerializer

class Meta[source]

Bases: builtins.object

model

alias of TicketPack

Tickets AdminForms

class tickets.adminForms.TicketPackAdminForm(data=None, files=None, auto_id='id_%s', prefix=None, initial=None, error_class=<class 'django.forms.utils.ErrorList'>, label_suffix=None, empty_permitted=False, instance=None)[source]

Bases: commons.adminForms.CommonAdminForm

class Meta[source]

Bases: commons.adminForms.Meta

model

alias of TicketPack

TicketPackAdminForm.base_fields = OrderedDict([('name', <django.forms.fields.CharField object at 0x7fa234248dd8>), ('prefix', <django.forms.fields.CharField object at 0x7fa234248f28>), ('event', <django.forms.models.ModelChoiceField object at 0x7fa23425a0f0>), ('upload_file_field', <django.forms.fields.FileField object at 0x7fa234233080>), ('upload_file_format_field', <django.forms.fields.ChoiceField object at 0x7fa234226d68>), ('generation_count', <django.forms.fields.IntegerField object at 0x7fa234296550>), ('code_length', <django.forms.fields.IntegerField object at 0x7fa234248ac8>)])
TicketPackAdminForm.declared_fields = OrderedDict([('upload_file_field', <django.forms.fields.FileField object at 0x7fa234233080>), ('upload_file_format_field', <django.forms.fields.ChoiceField object at 0x7fa234226d68>), ('generation_count', <django.forms.fields.IntegerField object at 0x7fa234296550>), ('code_length', <django.forms.fields.IntegerField object at 0x7fa234248ac8>)])
TicketPackAdminForm.media

Tickets Admin

class tickets.admin.TicketCodeAdmin(model, admin_site)[source]

Bases: commons.admin.CommonAdmin

actions = ['disable', 'remove_attempts', 'mark_as_used', 'mark_as_new', 'make_attempt', <tickets.exporters.DefaultTicketWithAttemptsExporter object at 0x7fa233ff0470>, <tickets.exporters.DefaultTicketExporter object at 0x7fa233fd80f0>]
disable(request, queryset)[source]
form

alias of TicketPackAdminForm

list_display = ['code', 'ticket_number', 'status', 'ticket_pack', 'attempt_count', 'event', 'external_customer_name', 'external_fiscal_number', 'external_locator', 'external_id']
list_filter = ['ticket_pack__event', 'status', 'ticket_pack']
list_per_page = 500
make_attempt(request, queryset)[source]
mark_as_new(request, queryset)[source]
mark_as_used(request, queryset)[source]
media
remove_attempts(request, queryset)[source]
search_fields = ['code', 'ticket_number', 'external_locator', 'external_id']
class tickets.admin.TicketPackAdmin(model, admin_site)[source]

Bases: django.contrib.admin.options.ModelAdmin

actions = ['put_ticket_number', <tickets.exporters.DefaultTicketPackExporter object at 0x7fa233ff05c0>, <tickets.exporters.DefaultTicketPackWithAttemptsExporter object at 0x7fa233ff00f0>]
fieldsets = ((None, {'fields': ('name', 'event', 'prefix')}), ('Generate ticket codes', {'classes': ('collapse',), 'fields': ('generation_count', 'code_length')}), ('Upload ticket codes', {'classes': ('collapse',), 'fields': ('upload_file_field', 'upload_file_format_field')}))
form

alias of TicketPackAdminForm

generate_codes(ticket_pack, request, count, length=14)[source]
list_display = ['__str__', 'event', 'get_ticket_count']
list_filter = ['event']
media
process_upload_field(ticket_pack, request, up_file, importer)[source]
put_ticket_number(request, queryset)[source]
save_model(request, obj, form, change)[source]

Tickets Exporters

class tickets.exporters.BaseExporter[source]

Bases: builtins.object

create_response()[source]
get_tickets(queryset)[source]
mime_type = 'text/csv'
short_description = 'Base class for exporters'
write_data(response, tickets)[source]
class tickets.exporters.BaseTicketExporter[source]

Bases: tickets.exporters.BaseExporter

get_tickets(queryset)[source]
short_description = 'Base class for ticket exporters'
class tickets.exporters.BaseTicketPackExporter[source]

Bases: tickets.exporters.BaseExporter

get_tickets(queryset)[source]
short_description = 'Base class for ticket pack exporters'
class tickets.exporters.DefaultTicketExporter[source]

Bases: tickets.exporters.BaseTicketExporter

create_writer(response)[source]
short_description = 'Export selected tickets as CSV file'
write_data(response, tickets)[source]
write_item(writer, item)[source]
class tickets.exporters.DefaultTicketPackExporter[source]

Bases: tickets.exporters.BaseTicketPackExporter, tickets.exporters.DefaultTicketExporter

short_description = 'Export selected ticket packs as CSV file'
class tickets.exporters.DefaultTicketPackWithAttemptsExporter[source]

Bases: tickets.exporters.BaseTicketPackExporter, tickets.exporters.DefaultTicketWithAttemptsExporter

short_description = 'Export selected ticket packs with attempts as CSV file'
class tickets.exporters.DefaultTicketWithAttemptsExporter[source]

Bases: tickets.exporters.DefaultTicketExporter

short_description = 'Export selected tickets with attempts as CSV file'
write_item(writer, item)[source]
class tickets.exporters.ExporterManager[source]

Bases: builtins.object

register(exporter_cls)[source]
unregister(exporter_cls)[source]

Tickets Importers

class tickets.importers.AtrapaloImporter(csv_file=None)[source]

Bases: tickets.importers.BaseImporter

label = 'Atrapalo'
map_to_ticket(ticket, row)[source]
class tickets.importers.BaseImporter(csv_file=None)[source]

Bases: builtins.object

create_reader(csv_file)[source]
iter_tickets()[source]
label = 'Base importer'
map_to_ticket(ticket, row)[source]
class tickets.importers.DefaultImporter(csv_file=None)[source]

Bases: tickets.importers.BaseImporter

label = 'Tarrab.me'
class tickets.importers.ImporterManager[source]

Bases: builtins.object

create_importer(name, csv_file)[source]
get_select_options()[source]
register(name, importer_cls)[source]
unregister(name)[source]
class tickets.importers.ProductesDeLaTerraImporter(csv_file=None)[source]

Bases: tickets.importers.BaseImporter

label = 'Productes de la terra'
map_to_ticket(ticket, row)[source]
class tickets.importers.TicketeaImporter(csv_file=None)[source]

Bases: tickets.importers.BaseImporter

label = 'Ticketea'
map_to_ticket(ticket, row)[source]

Tickets Helpers

tickets.helpers.create_code(length=18, prefix='')[source]
tickets.helpers.luhn_digit(code)[source]