mirror of
https://github.com/pretix/pretix.git
synced 2026-05-05 15:14:04 +00:00
* Upgrade to Django 2.0 * more models * i18n foo * Update setup.py * Fix Sentry exception PRETIXEU-JC * Enforce slug uniqueness * Import sorting * Upgrade to Django 2.1 * Travis config * Try to fix PostgreSQL failure * Smaller test matrix * staticfiles→static * Include request in all authenticate() calls
37 lines
1.8 KiB
Python
37 lines
1.8 KiB
Python
import string
|
||
|
||
from django.db import models
|
||
from django.utils.crypto import get_random_string
|
||
from django.utils.translation import ugettext_lazy as _
|
||
|
||
|
||
class AppConfiguration(models.Model):
|
||
event = models.ForeignKey('pretixbase.Event', on_delete=models.CASCADE)
|
||
key = models.CharField(max_length=190, db_index=True)
|
||
all_items = models.BooleanField(default=True, verbose_name=_('Can scan all products'))
|
||
items = models.ManyToManyField('pretixbase.Item', blank=True, verbose_name=_('Can scan these products'))
|
||
show_info = models.BooleanField(default=True, verbose_name=_('Show information'),
|
||
help_text=_('If disabled, the device can not see how many tickets exist and how '
|
||
'many are already scanned. pretixdroid 1.6 or pretixdesk only.'))
|
||
allow_search = models.BooleanField(default=True, verbose_name=_('Search allowed'),
|
||
help_text=_('If disabled, the device can not search for attendees by name. '
|
||
'pretixdroid 1.6 or pretixdesk only.'))
|
||
app = models.CharField(max_length=190, verbose_name=_('Scan software'), default='pretixdroid', choices=(
|
||
('pretixdroid', _('pretixdroid – for Android smartphones')),
|
||
('pretixdesk', _('pretixdesk – for desktop computers')),
|
||
))
|
||
list = models.ForeignKey(
|
||
'pretixbase.CheckinList', on_delete=models.CASCADE, verbose_name=_('Check-in list')
|
||
)
|
||
|
||
@property
|
||
def subevent(self):
|
||
return self.list.subevent
|
||
|
||
def save(self, **kwargs):
|
||
if not self.key:
|
||
self.key = get_random_string(
|
||
length=32, allowed_chars=string.ascii_uppercase + string.ascii_lowercase + string.digits
|
||
)
|
||
return super().save(**kwargs)
|