diff --git a/.gitmodules b/.gitmodules index 3e61b743c..a88d0df0d 100644 --- a/.gitmodules +++ b/.gitmodules @@ -1,6 +1,6 @@ -[submodule "src/pretixbase/static/bootstrap"] - path = src/pretixbase/static/bootstrap +[submodule "src/pretix/base/static/bootstrap"] + path = src/pretix/base/static/bootstrap url = https://github.com/twbs/bootstrap.git -[submodule "src/pretixbase/static/fontawesome"] - path = src/pretixbase/static/fontawesome +[submodule "src/pretix/base/static/fontawesome"] + path = src/pretix/base/static/fontawesome url = https://github.com/FortAwesome/Font-Awesome.git diff --git a/doc/development/api/plugins.rst b/doc/development/api/plugins.rst index 8a734a817..7e4080e73 100644 --- a/doc/development/api/plugins.rst +++ b/doc/development/api/plugins.rst @@ -55,7 +55,7 @@ example, taken from the time restriction module (see next chapter) as a template name = 'pretixplugins.timerestriction' verbose_name = _("Time restriction") - class TixlPluginMeta: + class PretixPluginMeta: type = PluginType.RESTRICTION name = _("Restriciton by time") author = _("the pretix team") @@ -70,7 +70,7 @@ example, taken from the time restriction module (see next chapter) as a template default_app_config = 'pretixplugins.timerestriction.TimeRestrictionApp' .. IMPORTANT:: - You have to implement a ``TixlPluginMeta`` class like in the example to make your + You have to implement a ``PretixPluginMeta`` class like in the example to make your plugin available to the users. .. _signal dispatcher: https://docs.djangoproject.com/en/1.7/topics/signals/ diff --git a/doc/development/concepts.rst b/doc/development/concepts.rst index 74186e7fb..7fd76046d 100644 --- a/doc/development/concepts.rst +++ b/doc/development/concepts.rst @@ -9,26 +9,26 @@ The components The project pretix is split into several components. The main three of them are: -**pretixbase** - Tixlbase is the foundation below all other components. It is primarily +**pretix.base** + Pretixbase is the foundation below all other components. It is primarily responsible for the data structures and database communication. It also hosts several utilities which are used by multiple other components. -**pretixcontrol** - Tixlcontrol is the web-based backend software which allows organizers to +**pretix.control** + Pretixcontrol is the web-based backend software which allows organizers to create and manage their events, items, orders and tickets. -**pretixpresale** - Tixlpresale is the ticket-shop itself, containing all the parts visible to the +**pretix.presale** + Pretixpresale is the ticket-shop itself, containing all the parts visible to the end user. Users and events ^^^^^^^^^^^^^^^^ -Tixl is all about **events**, which are defined as something happening somewhere. +Pretix is all about **events**, which are defined as something happening somewhere. Every Event is managed by the **organizer**, an abstract entity running the event. -Tixl is used by **users**. We want to enable global users who can just login into +Pretix is used by **users**. We want to enable global users who can just login into pretix and buy tickets for as many events as they like but at the same time it should be possible to create some kind of local user to have a temporary account just to buy tickets for one single event. diff --git a/doc/development/goals.rst b/doc/development/goals.rst index 8d441ff10..c1021e450 100644 --- a/doc/development/goals.rst +++ b/doc/development/goals.rst @@ -1,7 +1,7 @@ Development goals ================= -Tixl is a web software handling presale of event tickets. +Pretix is a web software handling presale of event tickets. Technical goals --------------- @@ -19,7 +19,7 @@ Feature goals * One pretix software installation has to cope with multiple events by multiple organizers * There is no code access necessary to create a new event -* Tixl is abstract in many ways to adopt to as much events as possible. +*Tixe is abstract in many ways to adopt to as much events as possible. * Tickets are only an instance of an abstract model called items, such that the system can also sell e.g. merchandise * An abstract concept of restriction is used to restrict the selling of tickets, for example by date, by number or by user permissions. diff --git a/doc/development/structure.rst b/doc/development/structure.rst index 1cd0aea85..34fce3aa3 100644 --- a/doc/development/structure.rst +++ b/doc/development/structure.rst @@ -7,22 +7,22 @@ Python source code All the source code lives in ``src/``, which has several subdirectories. pretix/ - This directory contains the basic Django settings and URL routing. + This directory contains nearly all source code. -pretixbase/ - This is the django app containing all the models and methods which are - essential to all of pretix's features. + base/ + This is the django app containing all the models and methods which are + essential to all of pretix's features. -pretixcontrol/ - This is the django app containing the frontend for organizers. + control/ + This is the django app containing the frontend for organizers. -pretixpresale/ - This is the django app containing the frontend for users buying tickets. + presale/ + This is the django app containing the frontend for users buying tickets. -helpers/ - Helpers contain a very few modules providing workarounds for low-level flaws in - Django or installed 3rd-party packages, like a filter to combine the ``lessc`` - preprocessor with ``django-compressor``'s URL rewriting. + helpers/ + Helpers contain a very few modules providing workarounds for low-level flaws in + Django or installed 3rd-party packages, like a filter to combine the ``lessc`` + preprocessor with ``django-compressor``'s URL rewriting. Language files -------------- @@ -37,21 +37,25 @@ LESS source code We use less as a preprocessor for CSS. Our own less code is built in the same step as Bootstrap and FontAwesome, so their mixins etc. are fully available. -pretixcontrol - pretixcontrol has two main LESS files, ``pretixcontrol/static/pretixcontrol/less/main.less`` and - ``pretixcontrol/static/pretixcontrol/less/auth.less``, importing everything else. +pretix.control + pretixcontrol has two main LESS files, ``pretix/control/static/pretixcontrol/less/main.less`` and + ``pretix/control/static/pretixcontrol/less/auth.less``, importing everything else. + +pretix.presale + pretixpresale has one main LESS files, ``pretix/control/static/pretix/presale/less/main.less``, + importing everything else. 3rd-party assets ^^^^^^^^^^^^^^^^ Bootstrap - Bootstrap lives as a git submodule at ``pretixbase/static/bootstrap/`` + Bootstrap lives as a git submodule at ``pretix/base/static/bootstrap/`` Font Awesome - Font Awesome lives as a git submodule at ``pretixbase/static/fontawesome/`` + Font Awesome lives as a git submodule at ``pretix/base/static/fontawesome/`` jQuery - jQuery lives as a single JavaScript file in ``pretixbase/static/jquery/js/`` + jQuery lives as a single JavaScript file in ``pretix/base/static/jquery/js/`` jQuery plugin: Django formsets Our own modified version of `django-formset-js`_ is available as an independent diff --git a/src/.coveragerc b/src/.coveragerc index f5ecd52af..3f57e0209 100644 --- a/src/.coveragerc +++ b/src/.coveragerc @@ -1,5 +1,5 @@ [run] -source = pretixbase,pretixcontrol,pretixpresale,pretixplugins +source = pretix omit = */migrations/*,*/urls.py,*/tests/*,*/testdummy/*,*/admin.py [report] diff --git a/src/pretix/base/__init__.py b/src/pretix/base/__init__.py new file mode 100644 index 000000000..2455a458a --- /dev/null +++ b/src/pretix/base/__init__.py @@ -0,0 +1,8 @@ +from django.apps import AppConfig + + +class PretixBaseConfig(AppConfig): + name = 'pretix.base' + label = 'pretixbase' + +default_app_config = 'pretix.base.PretixBaseConfig' diff --git a/src/pretixbase/admin.py b/src/pretix/base/admin.py similarity index 93% rename from src/pretixbase/admin.py rename to src/pretix/base/admin.py index d89b424f4..862c5afbe 100644 --- a/src/pretixbase/admin.py +++ b/src/pretix/base/admin.py @@ -3,13 +3,13 @@ from django.contrib.auth.admin import UserAdmin from django.utils.translation import ugettext as _ from django import forms -from pretixbase.models import ( +from pretix.base.models import ( User, Organizer, OrganizerPermission, Event, EventPermission, Property, PropertyValue, Item, ItemVariation, ItemCategory ) -class TixlUserCreationForm(forms.ModelForm): +class PretixUserCreationForm(forms.ModelForm): """ A form that creates a user, with no privileges, from the given username and @@ -39,14 +39,14 @@ class TixlUserCreationForm(forms.ModelForm): return password2 def save(self, commit=True): - user = super(TixlUserCreationForm, self).save(commit=False) + user = super(PretixUserCreationForm, self).save(commit=False) user.set_password(self.cleaned_data["password1"]) if commit: user.save() return user -class TixlUserAdmin(UserAdmin): +class PretixUserAdmin(UserAdmin): fieldsets = ( (None, {'fields': ('identifier', 'event', 'username', 'password')}), @@ -59,7 +59,7 @@ class TixlUserAdmin(UserAdmin): search_fields = ('identifier', 'username', 'givenname', 'familyname', 'email') ordering = ('identifier',) list_filter = ('is_staff', 'is_active', 'groups') - add_form = TixlUserCreationForm + add_form = PretixUserCreationForm class OrganizerPermissionInline(admin.TabularInline): @@ -126,7 +126,7 @@ class ItemAdmin(admin.ModelAdmin): search_fields = ('name', 'event', 'category', 'short_description') -admin.site.register(User, TixlUserAdmin) +admin.site.register(User, PretixUserAdmin) admin.site.register(Organizer, OrganizerAdmin) admin.site.register(Event, EventAdmin) admin.site.register(Property, PropertyAdmin) diff --git a/src/pretixbase/cache.py b/src/pretix/base/cache.py similarity index 98% rename from src/pretixbase/cache.py rename to src/pretix/base/cache.py index 39398e8d1..e896d8b1c 100644 --- a/src/pretixbase/cache.py +++ b/src/pretix/base/cache.py @@ -3,7 +3,7 @@ import hashlib from django.core.cache import caches -from pretixbase.models import Event +from pretix.base.models import Event class EventRelatedCache: diff --git a/src/pretixbase/forms.py b/src/pretix/base/forms.py similarity index 100% rename from src/pretixbase/forms.py rename to src/pretix/base/forms.py diff --git a/src/pretixbase/middleware.py b/src/pretix/base/middleware.py similarity index 100% rename from src/pretixbase/middleware.py rename to src/pretix/base/middleware.py diff --git a/src/pretixbase/migrations/0001_initial.py b/src/pretix/base/migrations/0001_initial.py similarity index 99% rename from src/pretixbase/migrations/0001_initial.py rename to src/pretix/base/migrations/0001_initial.py index 034faa382..0ca49bca3 100644 --- a/src/pretixbase/migrations/0001_initial.py +++ b/src/pretix/base/migrations/0001_initial.py @@ -7,7 +7,7 @@ import django.core.validators from django.conf import settings import django.db.models.deletion import django.utils.timezone -import pretixbase.models +import pretix.base.models class Migration(migrations.Migration): @@ -322,7 +322,8 @@ class Migration(migrations.Migration): ('items', versions.models.VersionedManyToManyField(blank=True, related_name='quotas', to='pretixbase.Item', verbose_name='Item')), ('lock_cache', models.ManyToManyField(blank=True, to='pretixbase.CartPosition')), ('order_cache', models.ManyToManyField(blank=True, to='pretixbase.OrderPosition')), - ('variations', pretixbase.models.VariationsField(blank=True, related_name='quotas', to='pretixbase.ItemVariation', verbose_name='Variations')), + ('variations', pretix.base.models.VariationsField(blank=True, related_name='quotas', + to='pretixbase.ItemVariation', verbose_name='Variations')), ], options={ 'verbose_name_plural': 'Quotas', diff --git a/src/pretixbase/migrations/0002_auto_20150211_2031.py b/src/pretix/base/migrations/0002_auto_20150211_2031.py similarity index 97% rename from src/pretixbase/migrations/0002_auto_20150211_2031.py rename to src/pretix/base/migrations/0002_auto_20150211_2031.py index 18d6e6853..96a20328c 100644 --- a/src/pretixbase/migrations/0002_auto_20150211_2031.py +++ b/src/pretix/base/migrations/0002_auto_20150211_2031.py @@ -2,7 +2,7 @@ from __future__ import unicode_literals from django.db import models, migrations -import pretixbase.models +import pretix.base.models import versions.models diff --git a/src/pretixbase/migrations/0003_auto_20150211_2042.py b/src/pretix/base/migrations/0003_auto_20150211_2042.py similarity index 94% rename from src/pretixbase/migrations/0003_auto_20150211_2042.py rename to src/pretix/base/migrations/0003_auto_20150211_2042.py index a3e6d57da..e810ad47f 100644 --- a/src/pretixbase/migrations/0003_auto_20150211_2042.py +++ b/src/pretix/base/migrations/0003_auto_20150211_2042.py @@ -3,7 +3,7 @@ from __future__ import unicode_literals from django.db import models, migrations import versions.models -import pretixbase.models +import pretix.base.models class Migration(migrations.Migration): diff --git a/src/pretixbase/migrations/0004_auto_20150211_2330.py b/src/pretix/base/migrations/0004_auto_20150211_2330.py similarity index 99% rename from src/pretixbase/migrations/0004_auto_20150211_2330.py rename to src/pretix/base/migrations/0004_auto_20150211_2330.py index 8b0baf1f5..4a8079487 100644 --- a/src/pretixbase/migrations/0004_auto_20150211_2330.py +++ b/src/pretix/base/migrations/0004_auto_20150211_2330.py @@ -5,7 +5,7 @@ from django.db import models, migrations from django.utils.timezone import utc import versions.models import datetime -import pretixbase.models +import pretix.base.models class Migration(migrations.Migration): diff --git a/src/pretixbase/migrations/0005_auto_20150212_0901.py b/src/pretix/base/migrations/0005_auto_20150212_0901.py similarity index 96% rename from src/pretixbase/migrations/0005_auto_20150212_0901.py rename to src/pretix/base/migrations/0005_auto_20150212_0901.py index e7534c55b..a96e77da5 100644 --- a/src/pretixbase/migrations/0005_auto_20150212_0901.py +++ b/src/pretix/base/migrations/0005_auto_20150212_0901.py @@ -2,7 +2,7 @@ from __future__ import unicode_literals from django.db import models, migrations -import pretixbase.models +import pretix.base.models import versions.models diff --git a/src/pretixbase/migrations/0006_auto_20150212_0908.py b/src/pretix/base/migrations/0006_auto_20150212_0908.py similarity index 95% rename from src/pretixbase/migrations/0006_auto_20150212_0908.py rename to src/pretix/base/migrations/0006_auto_20150212_0908.py index ebe948326..e950628ef 100644 --- a/src/pretixbase/migrations/0006_auto_20150212_0908.py +++ b/src/pretix/base/migrations/0006_auto_20150212_0908.py @@ -2,7 +2,7 @@ from __future__ import unicode_literals from django.db import models, migrations -import pretixbase.models +import pretix.base.models import versions.models diff --git a/src/pretixbase/migrations/0007_auto_20150212_0939.py b/src/pretix/base/migrations/0007_auto_20150212_0939.py similarity index 95% rename from src/pretixbase/migrations/0007_auto_20150212_0939.py rename to src/pretix/base/migrations/0007_auto_20150212_0939.py index 5b8a2505a..fa1532b25 100644 --- a/src/pretixbase/migrations/0007_auto_20150212_0939.py +++ b/src/pretix/base/migrations/0007_auto_20150212_0939.py @@ -3,7 +3,7 @@ from __future__ import unicode_literals from django.db import models, migrations import versions.models -import pretixbase.models +import pretix.base.models class Migration(migrations.Migration): diff --git a/src/pretixbase/migrations/0008_quota_locked.py b/src/pretix/base/migrations/0008_quota_locked.py similarity index 100% rename from src/pretixbase/migrations/0008_quota_locked.py rename to src/pretix/base/migrations/0008_quota_locked.py diff --git a/src/helpers/__init__.py b/src/pretix/base/migrations/__init__.py similarity index 100% rename from src/helpers/__init__.py rename to src/pretix/base/migrations/__init__.py diff --git a/src/pretixbase/models.py b/src/pretix/base/models.py similarity index 99% rename from src/pretixbase/models.py rename to src/pretix/base/models.py index d66ca8051..84aefbe1d 100644 --- a/src/pretixbase/models.py +++ b/src/pretix/base/models.py @@ -382,8 +382,8 @@ class Event(Versionable): "DATETIME_FORMAT" if self.show_times else "DATE_FORMAT" ) - def get_cache(self) -> "pretixbase.cache.EventRelatedCache": - from pretixbase.cache import EventRelatedCache + def get_cache(self) -> "pretix.base.cache.EventRelatedCache": + from pretix.base.cache import EventRelatedCache return EventRelatedCache(self) @@ -929,7 +929,7 @@ class VariationsField(VersionedManyToManyField): """ def formfield(self, **kwargs): - from pretixcontrol.views.forms import VariationsField as FVariationsField + from pretix.control.views.forms import VariationsField as FVariationsField from django.db.models.fields.related import RelatedField defaults = { 'form_class': FVariationsField, diff --git a/src/pretixbase/plugins.py b/src/pretix/base/plugins.py similarity index 71% rename from src/pretixbase/plugins.py rename to src/pretix/base/plugins.py index a1814fffa..5be7a2d4a 100644 --- a/src/pretixbase/plugins.py +++ b/src/pretix/base/plugins.py @@ -12,12 +12,12 @@ class PluginType(Enum): def get_all_plugins() -> "List[class]": """ - Returns the TixlPluginMeta classes of all plugins found in the installed Django apps. + Returns the PretixPluginMeta classes of all plugins found in the installed Django apps. """ plugins = [] for app in apps.get_app_configs(): - if hasattr(app, 'TixlPluginMeta'): - meta = app.TixlPluginMeta + if hasattr(app, 'PretixPluginMeta'): + meta = app.PretixPluginMeta meta.module = app.name plugins.append(meta) return plugins diff --git a/src/pretixbase/signals.py b/src/pretix/base/signals.py similarity index 96% rename from src/pretixbase/signals.py rename to src/pretix/base/signals.py index 99860e5c8..d17574301 100644 --- a/src/pretixbase/signals.py +++ b/src/pretix/base/signals.py @@ -17,7 +17,7 @@ class EventPluginSignal(django.dispatch.Signal): Send signal from sender to all connected receivers that belong to plugins enabled for the given Event. - sender is required to be an instance of ``pretixbase.models.Event``. + sender is required to be an instance of ``pretix.base.models.Event``. """ assert isinstance(sender, Event) diff --git a/src/pretixbase/static/bootstrap b/src/pretix/base/static/bootstrap similarity index 100% rename from src/pretixbase/static/bootstrap rename to src/pretix/base/static/bootstrap diff --git a/src/pretixbase/static/fontawesome b/src/pretix/base/static/fontawesome similarity index 100% rename from src/pretixbase/static/fontawesome rename to src/pretix/base/static/fontawesome diff --git a/src/pretixbase/static/jquery/js/jquery-2.1.1.min.js b/src/pretix/base/static/jquery/js/jquery-2.1.1.min.js similarity index 100% rename from src/pretixbase/static/jquery/js/jquery-2.1.1.min.js rename to src/pretix/base/static/jquery/js/jquery-2.1.1.min.js diff --git a/src/pretixbase/tests/__init__.py b/src/pretix/base/tests/__init__.py similarity index 100% rename from src/pretixbase/tests/__init__.py rename to src/pretix/base/tests/__init__.py diff --git a/src/pretixbase/tests/test_cache.py b/src/pretix/base/tests/test_cache.py similarity index 96% rename from src/pretixbase/tests/test_cache.py rename to src/pretix/base/tests/test_cache.py index 52fdae565..d16080176 100644 --- a/src/pretixbase/tests/test_cache.py +++ b/src/pretix/base/tests/test_cache.py @@ -4,7 +4,7 @@ from django.test import TestCase from django.core.cache import cache as django_cache from django.utils.timezone import now -from pretixbase.models import Event, Organizer +from pretix.base.models import Event, Organizer class CacheTest(TestCase): diff --git a/src/pretixbase/tests/test_middleware.py b/src/pretix/base/tests/test_middleware.py similarity index 97% rename from src/pretixbase/tests/test_middleware.py rename to src/pretix/base/tests/test_middleware.py index 9b9fb0e2f..be4d40639 100644 --- a/src/pretixbase/tests/test_middleware.py +++ b/src/pretix/base/tests/test_middleware.py @@ -2,7 +2,7 @@ from django.test import TestCase, Client from django.utils.timezone import now from django.conf import settings -from pretixbase.models import Event, Organizer, User +from pretix.base.models import Event, Organizer, User class LocaleDeterminationTest(TestCase): diff --git a/src/pretixbase/tests/test_models.py b/src/pretix/base/tests/test_models.py similarity index 99% rename from src/pretixbase/tests/test_models.py rename to src/pretix/base/tests/test_models.py index 02da787a3..cf113a6c7 100644 --- a/src/pretixbase/tests/test_models.py +++ b/src/pretix/base/tests/test_models.py @@ -2,12 +2,12 @@ from datetime import timedelta from django.test import TestCase from django.utils.timezone import now -from pretixbase.models import ( +from pretix.base.models import ( Event, Organizer, Item, ItemVariation, Property, PropertyValue, User, Quota, Order, OrderPosition, CartPosition ) -from pretixbase.types import VariationDict +from pretix.base.types import VariationDict class ItemVariationsTest(TestCase): diff --git a/src/pretixbase/tests/test_plugins.py b/src/pretix/base/tests/test_plugins.py similarity index 83% rename from src/pretixbase/tests/test_plugins.py rename to src/pretix/base/tests/test_plugins.py index 3e8cc6a7f..8b0570433 100644 --- a/src/pretixbase/tests/test_plugins.py +++ b/src/pretix/base/tests/test_plugins.py @@ -2,9 +2,9 @@ from django.test import TestCase from django.utils.timezone import now from django.conf import settings -from pretixbase.models import Event, Organizer -from pretixbase.plugins import get_all_plugins -from pretixbase.signals import determine_availability +from pretix.base.models import Event, Organizer +from pretix.base.plugins import get_all_plugins +from pretix.base.signals import determine_availability class PluginRegistryTest(TestCase): @@ -49,9 +49,9 @@ class PluginSignalTest(TestCase): self.assertEqual(len(responses), 0) def test_one_plugin_active(self): - self.event.plugins = 'pretixplugins.testdummy' + self.event.plugins = 'pretix.plugins.testdummy' self.event.save() payload = {'foo': 'bar'} responses = determine_availability.send(self.event, **payload) self.assertEqual(len(responses), 1) - self.assertIn('pretixplugins.testdummy.signals', [r[0].__module__ for r in responses]) + self.assertIn('pretix.plugins.testdummy.signals', [r[0].__module__ for r in responses]) diff --git a/src/pretixbase/types.py b/src/pretix/base/types.py similarity index 100% rename from src/pretixbase/types.py rename to src/pretix/base/types.py diff --git a/src/pretix/control/__init__.py b/src/pretix/control/__init__.py new file mode 100644 index 000000000..d53dcf208 --- /dev/null +++ b/src/pretix/control/__init__.py @@ -0,0 +1,8 @@ +from django.apps import AppConfig + + +class PretixControlConfig(AppConfig): + name = 'pretix.control' + label = 'pretixcontrol' + +default_app_config = 'pretix.control.PretixControlConfig' diff --git a/src/pretixcontrol/context.py b/src/pretix/control/context.py similarity index 100% rename from src/pretixcontrol/context.py rename to src/pretix/control/context.py diff --git a/src/pretixcontrol/middleware.py b/src/pretix/control/middleware.py similarity index 98% rename from src/pretixcontrol/middleware.py rename to src/pretix/control/middleware.py index d6e5d864a..e728a7ec4 100644 --- a/src/pretixcontrol/middleware.py +++ b/src/pretix/control/middleware.py @@ -7,7 +7,7 @@ from django.contrib.auth import REDIRECT_FIELD_NAME from django.http import HttpResponseNotFound from django.utils.translation import ugettext as _ -from pretixbase.models import Event +from pretix.base.models import Event class PermissionMiddleware: diff --git a/src/pretixbase/__init__.py b/src/pretix/control/migrations/__init__.py similarity index 100% rename from src/pretixbase/__init__.py rename to src/pretix/control/migrations/__init__.py diff --git a/src/pretixcontrol/permissions.py b/src/pretix/control/permissions.py similarity index 96% rename from src/pretixcontrol/permissions.py rename to src/pretix/control/permissions.py index c6eb961fb..f9df2cd0f 100644 --- a/src/pretixcontrol/permissions.py +++ b/src/pretix/control/permissions.py @@ -1,7 +1,7 @@ from django.http import HttpResponseForbidden from django.utils.translation import ugettext as _ -from pretixbase.models import EventPermission +from pretix.base.models import EventPermission def event_permission_required(permission): diff --git a/src/pretixcontrol/signals.py b/src/pretix/control/signals.py similarity index 80% rename from src/pretixcontrol/signals.py rename to src/pretix/control/signals.py index 3b7269f3f..fe50902d3 100644 --- a/src/pretixcontrol/signals.py +++ b/src/pretix/control/signals.py @@ -1,4 +1,4 @@ -from pretixbase.signals import EventPluginSignal +from pretix.base.signals import EventPluginSignal """ diff --git a/src/pretixcontrol/static/pretixcontrol/js/ui/main.js b/src/pretix/control/static/pretixcontrol/js/ui/main.js similarity index 100% rename from src/pretixcontrol/static/pretixcontrol/js/ui/main.js rename to src/pretix/control/static/pretixcontrol/js/ui/main.js diff --git a/src/pretixcontrol/static/pretixcontrol/less/auth.less b/src/pretix/control/static/pretixcontrol/less/auth.less similarity index 79% rename from src/pretixcontrol/static/pretixcontrol/less/auth.less rename to src/pretix/control/static/pretixcontrol/less/auth.less index a15ed8e70..232d631fa 100644 --- a/src/pretixcontrol/static/pretixcontrol/less/auth.less +++ b/src/pretix/control/static/pretixcontrol/less/auth.less @@ -1,4 +1,4 @@ -@import "../../../../pretixbase/static/bootstrap/less/bootstrap.less"; +@import "../../../../base/static/bootstrap/less/bootstrap.less"; body { background: #eee; diff --git a/src/pretixcontrol/static/pretixcontrol/less/forms.less b/src/pretix/control/static/pretixcontrol/less/forms.less similarity index 100% rename from src/pretixcontrol/static/pretixcontrol/less/forms.less rename to src/pretix/control/static/pretixcontrol/less/forms.less diff --git a/src/pretix/control/static/pretixcontrol/less/main.less b/src/pretix/control/static/pretixcontrol/less/main.less new file mode 100644 index 000000000..a7b151e8d --- /dev/null +++ b/src/pretix/control/static/pretixcontrol/less/main.less @@ -0,0 +1,4 @@ +@import "../../../../base/static/bootstrap/less/bootstrap.less"; +@import "../../../../base/static/fontawesome/less/font-awesome.less"; +@fa-font-path: "../../fontawesome/fonts"; +@import "forms.less"; diff --git a/src/pretixcontrol/templates/pretixcontrol/auth/base.html b/src/pretix/control/templates/pretixcontrol/auth/base.html similarity index 100% rename from src/pretixcontrol/templates/pretixcontrol/auth/base.html rename to src/pretix/control/templates/pretixcontrol/auth/base.html diff --git a/src/pretixcontrol/templates/pretixcontrol/auth/login.html b/src/pretix/control/templates/pretixcontrol/auth/login.html similarity index 100% rename from src/pretixcontrol/templates/pretixcontrol/auth/login.html rename to src/pretix/control/templates/pretixcontrol/auth/login.html diff --git a/src/pretixcontrol/templates/pretixcontrol/base.html b/src/pretix/control/templates/pretixcontrol/base.html similarity index 100% rename from src/pretixcontrol/templates/pretixcontrol/base.html rename to src/pretix/control/templates/pretixcontrol/base.html diff --git a/src/pretixcontrol/templates/pretixcontrol/event/base.html b/src/pretix/control/templates/pretixcontrol/event/base.html similarity index 100% rename from src/pretixcontrol/templates/pretixcontrol/event/base.html rename to src/pretix/control/templates/pretixcontrol/event/base.html diff --git a/src/pretixcontrol/templates/pretixcontrol/event/index.html b/src/pretix/control/templates/pretixcontrol/event/index.html similarity index 100% rename from src/pretixcontrol/templates/pretixcontrol/event/index.html rename to src/pretix/control/templates/pretixcontrol/event/index.html diff --git a/src/pretixcontrol/templates/pretixcontrol/event/plugins.html b/src/pretix/control/templates/pretixcontrol/event/plugins.html similarity index 100% rename from src/pretixcontrol/templates/pretixcontrol/event/plugins.html rename to src/pretix/control/templates/pretixcontrol/event/plugins.html diff --git a/src/pretixcontrol/templates/pretixcontrol/event/settings.html b/src/pretix/control/templates/pretixcontrol/event/settings.html similarity index 100% rename from src/pretixcontrol/templates/pretixcontrol/event/settings.html rename to src/pretix/control/templates/pretixcontrol/event/settings.html diff --git a/src/pretixcontrol/templates/pretixcontrol/event/settings_base.html b/src/pretix/control/templates/pretixcontrol/event/settings_base.html similarity index 100% rename from src/pretixcontrol/templates/pretixcontrol/event/settings_base.html rename to src/pretix/control/templates/pretixcontrol/event/settings_base.html diff --git a/src/pretixcontrol/templates/pretixcontrol/events/index.html b/src/pretix/control/templates/pretixcontrol/events/index.html similarity index 100% rename from src/pretixcontrol/templates/pretixcontrol/events/index.html rename to src/pretix/control/templates/pretixcontrol/events/index.html diff --git a/src/pretixcontrol/templates/pretixcontrol/item/base.html b/src/pretix/control/templates/pretixcontrol/item/base.html similarity index 100% rename from src/pretixcontrol/templates/pretixcontrol/item/base.html rename to src/pretix/control/templates/pretixcontrol/item/base.html diff --git a/src/pretixcontrol/templates/pretixcontrol/item/index.html b/src/pretix/control/templates/pretixcontrol/item/index.html similarity index 100% rename from src/pretixcontrol/templates/pretixcontrol/item/index.html rename to src/pretix/control/templates/pretixcontrol/item/index.html diff --git a/src/pretixcontrol/templates/pretixcontrol/item/restrictions.html b/src/pretix/control/templates/pretixcontrol/item/restrictions.html similarity index 100% rename from src/pretixcontrol/templates/pretixcontrol/item/restrictions.html rename to src/pretix/control/templates/pretixcontrol/item/restrictions.html diff --git a/src/pretixcontrol/templates/pretixcontrol/item/variations_0d.html b/src/pretix/control/templates/pretixcontrol/item/variations_0d.html similarity index 100% rename from src/pretixcontrol/templates/pretixcontrol/item/variations_0d.html rename to src/pretix/control/templates/pretixcontrol/item/variations_0d.html diff --git a/src/pretixcontrol/templates/pretixcontrol/item/variations_1d.html b/src/pretix/control/templates/pretixcontrol/item/variations_1d.html similarity index 100% rename from src/pretixcontrol/templates/pretixcontrol/item/variations_1d.html rename to src/pretix/control/templates/pretixcontrol/item/variations_1d.html diff --git a/src/pretixcontrol/templates/pretixcontrol/item/variations_nd.html b/src/pretix/control/templates/pretixcontrol/item/variations_nd.html similarity index 100% rename from src/pretixcontrol/templates/pretixcontrol/item/variations_nd.html rename to src/pretix/control/templates/pretixcontrol/item/variations_nd.html diff --git a/src/pretixcontrol/templates/pretixcontrol/items/base.html b/src/pretix/control/templates/pretixcontrol/items/base.html similarity index 100% rename from src/pretixcontrol/templates/pretixcontrol/items/base.html rename to src/pretix/control/templates/pretixcontrol/items/base.html diff --git a/src/pretixcontrol/templates/pretixcontrol/items/categories.html b/src/pretix/control/templates/pretixcontrol/items/categories.html similarity index 100% rename from src/pretixcontrol/templates/pretixcontrol/items/categories.html rename to src/pretix/control/templates/pretixcontrol/items/categories.html diff --git a/src/pretixcontrol/templates/pretixcontrol/items/category.html b/src/pretix/control/templates/pretixcontrol/items/category.html similarity index 100% rename from src/pretixcontrol/templates/pretixcontrol/items/category.html rename to src/pretix/control/templates/pretixcontrol/items/category.html diff --git a/src/pretixcontrol/templates/pretixcontrol/items/category_delete.html b/src/pretix/control/templates/pretixcontrol/items/category_delete.html similarity index 100% rename from src/pretixcontrol/templates/pretixcontrol/items/category_delete.html rename to src/pretix/control/templates/pretixcontrol/items/category_delete.html diff --git a/src/pretixcontrol/templates/pretixcontrol/items/index.html b/src/pretix/control/templates/pretixcontrol/items/index.html similarity index 100% rename from src/pretixcontrol/templates/pretixcontrol/items/index.html rename to src/pretix/control/templates/pretixcontrol/items/index.html diff --git a/src/pretixcontrol/templates/pretixcontrol/items/properties.html b/src/pretix/control/templates/pretixcontrol/items/properties.html similarity index 100% rename from src/pretixcontrol/templates/pretixcontrol/items/properties.html rename to src/pretix/control/templates/pretixcontrol/items/properties.html diff --git a/src/pretixcontrol/templates/pretixcontrol/items/property.html b/src/pretix/control/templates/pretixcontrol/items/property.html similarity index 100% rename from src/pretixcontrol/templates/pretixcontrol/items/property.html rename to src/pretix/control/templates/pretixcontrol/items/property.html diff --git a/src/pretixcontrol/templates/pretixcontrol/items/property_delete.html b/src/pretix/control/templates/pretixcontrol/items/property_delete.html similarity index 100% rename from src/pretixcontrol/templates/pretixcontrol/items/property_delete.html rename to src/pretix/control/templates/pretixcontrol/items/property_delete.html diff --git a/src/pretixcontrol/templates/pretixcontrol/items/question.html b/src/pretix/control/templates/pretixcontrol/items/question.html similarity index 100% rename from src/pretixcontrol/templates/pretixcontrol/items/question.html rename to src/pretix/control/templates/pretixcontrol/items/question.html diff --git a/src/pretixcontrol/templates/pretixcontrol/items/question_delete.html b/src/pretix/control/templates/pretixcontrol/items/question_delete.html similarity index 100% rename from src/pretixcontrol/templates/pretixcontrol/items/question_delete.html rename to src/pretix/control/templates/pretixcontrol/items/question_delete.html diff --git a/src/pretixcontrol/templates/pretixcontrol/items/questions.html b/src/pretix/control/templates/pretixcontrol/items/questions.html similarity index 100% rename from src/pretixcontrol/templates/pretixcontrol/items/questions.html rename to src/pretix/control/templates/pretixcontrol/items/questions.html diff --git a/src/pretixcontrol/templates/pretixcontrol/items/quota.html b/src/pretix/control/templates/pretixcontrol/items/quota.html similarity index 100% rename from src/pretixcontrol/templates/pretixcontrol/items/quota.html rename to src/pretix/control/templates/pretixcontrol/items/quota.html diff --git a/src/pretixcontrol/templates/pretixcontrol/items/quota_delete.html b/src/pretix/control/templates/pretixcontrol/items/quota_delete.html similarity index 100% rename from src/pretixcontrol/templates/pretixcontrol/items/quota_delete.html rename to src/pretix/control/templates/pretixcontrol/items/quota_delete.html diff --git a/src/pretixcontrol/templates/pretixcontrol/items/quotas.html b/src/pretix/control/templates/pretixcontrol/items/quotas.html similarity index 100% rename from src/pretixcontrol/templates/pretixcontrol/items/quotas.html rename to src/pretix/control/templates/pretixcontrol/items/quotas.html diff --git a/src/pretixbase/migrations/__init__.py b/src/pretix/control/tests/__init__.py similarity index 100% rename from src/pretixbase/migrations/__init__.py rename to src/pretix/control/tests/__init__.py diff --git a/src/pretixcontrol/tests/test_auth.py b/src/pretix/control/tests/test_auth.py similarity index 97% rename from src/pretixcontrol/tests/test_auth.py rename to src/pretix/control/tests/test_auth.py index 6a0511d7f..b87093630 100644 --- a/src/pretixcontrol/tests/test_auth.py +++ b/src/pretix/control/tests/test_auth.py @@ -1,7 +1,7 @@ from django.test import TestCase, Client -from pretixbase.models import User -from pretixbase.tests import BrowserTest, on_platforms +from pretix.base.models import User +from pretix.base.tests import BrowserTest, on_platforms @on_platforms() diff --git a/src/pretixcontrol/tests/test_events.py b/src/pretix/control/tests/test_events.py similarity index 86% rename from src/pretixcontrol/tests/test_events.py rename to src/pretix/control/tests/test_events.py index edf592df2..1596cc647 100644 --- a/src/pretixcontrol/tests/test_events.py +++ b/src/pretix/control/tests/test_events.py @@ -1,6 +1,6 @@ import datetime -from pretixbase.models import User, Organizer, Event, OrganizerPermission, EventPermission -from pretixbase.tests import BrowserTest, on_platforms +from pretix.base.models import User, Organizer, Event, OrganizerPermission, EventPermission +from pretix.base.tests import BrowserTest, on_platforms @on_platforms() @@ -54,8 +54,8 @@ class EventsTest(BrowserTest): self.driver.get('%s/control/event/%s/%s/settings/plugins' % (self.live_server_url, self.orga1.slug, self.event1.slug)) self.assertIn("Restriction by time", self.driver.find_element_by_class_name("form-plugins").text) - self.assertIn("Enable", self.driver.find_element_by_name("plugin:pretixplugins.timerestriction").text) - self.driver.find_element_by_name("plugin:pretixplugins.timerestriction").click() - self.assertIn("Disable", self.driver.find_element_by_name("plugin:pretixplugins.timerestriction").text) - self.driver.find_element_by_name("plugin:pretixplugins.timerestriction").click() - self.assertIn("Enable", self.driver.find_element_by_name("plugin:pretixplugins.timerestriction").text) + self.assertIn("Enable", self.driver.find_element_by_name("plugin:pretix.plugins.timerestriction").text) + self.driver.find_element_by_name("plugin:pretix.plugins.timerestriction").click() + self.assertIn("Disable", self.driver.find_element_by_name("plugin:pretix.plugins.timerestriction").text) + self.driver.find_element_by_name("plugin:pretix.plugins.timerestriction").click() + self.assertIn("Enable", self.driver.find_element_by_name("plugin:pretix.plugins.timerestriction").text) diff --git a/src/pretixcontrol/tests/test_items.py b/src/pretix/control/tests/test_items.py similarity index 98% rename from src/pretixcontrol/tests/test_items.py rename to src/pretix/control/tests/test_items.py index 9dc2f8452..ab253ef2a 100644 --- a/src/pretixcontrol/tests/test_items.py +++ b/src/pretix/control/tests/test_items.py @@ -3,9 +3,9 @@ import time import datetime from django.utils import unittest from selenium.webdriver.support.select import Select -from pretixbase.models import User, Organizer, Event, OrganizerPermission, EventPermission, ItemCategory, Property, \ +from pretix.base.models import User, Organizer, Event, OrganizerPermission, EventPermission, ItemCategory, Property, \ PropertyValue, Question, Quota, Item -from pretixbase.tests import BrowserTest, on_platforms +from pretix.base.tests import BrowserTest, on_platforms class ItemFormTest(BrowserTest): diff --git a/src/pretixcontrol/tests/test_permissions.py b/src/pretix/control/tests/test_permissions.py similarity index 96% rename from src/pretixcontrol/tests/test_permissions.py rename to src/pretix/control/tests/test_permissions.py index 90fa01ad8..6b41837bf 100644 --- a/src/pretixcontrol/tests/test_permissions.py +++ b/src/pretix/control/tests/test_permissions.py @@ -1,7 +1,7 @@ from django.test import TestCase, Client from django.utils.timezone import now -from pretixbase.models import Event, Organizer, User, EventPermission +from pretix.base.models import Event, Organizer, User, EventPermission class PermissionMiddlewareTest(TestCase): diff --git a/src/pretixcontrol/urls.py b/src/pretix/control/urls.py similarity index 94% rename from src/pretixcontrol/urls.py rename to src/pretix/control/urls.py index 73f87503b..257a830e4 100644 --- a/src/pretixcontrol/urls.py +++ b/src/pretix/control/urls.py @@ -1,22 +1,22 @@ from django.conf.urls import patterns, url, include -from pretixcontrol.views import main, event, item +from pretix.control.views import main, event, item urlpatterns = patterns('',) urlpatterns += patterns( - 'pretixcontrol.views.auth', + 'pretix.control.views.auth', url(r'^logout$', 'logout', name='auth.logout'), url(r'^login$', 'login', name='auth.login'), ) urlpatterns += patterns( - 'pretixcontrol.views.main', + 'pretix.control.views.main', url(r'^$', 'index', name='index'), url(r'^events/$', main.EventList.as_view(), name='events'), ) urlpatterns += patterns( - 'pretixcontrol.views.event', + 'pretix.control.views.event', url(r'^event/(?P[^/]+)/(?P[^/]+)/', include( patterns( - 'pretixcontrol.views', + 'pretix.control.views', url(r'^$', 'event.index', name='event.index'), url(r'^settings/$', event.EventUpdate.as_view(), name='event.settings'), url(r'^settings/plugins$', event.EventPlugins.as_view(), name='event.settings.plugins'), diff --git a/src/pretixcontrol/__init__.py b/src/pretix/control/views/__init__.py similarity index 100% rename from src/pretixcontrol/__init__.py rename to src/pretix/control/views/__init__.py diff --git a/src/pretixcontrol/views/auth.py b/src/pretix/control/views/auth.py similarity index 100% rename from src/pretixcontrol/views/auth.py rename to src/pretix/control/views/auth.py diff --git a/src/pretixcontrol/views/event.py b/src/pretix/control/views/event.py similarity index 94% rename from src/pretixcontrol/views/event.py rename to src/pretix/control/views/event.py index 9afb2d382..1d49f52c6 100644 --- a/src/pretixcontrol/views/event.py +++ b/src/pretix/control/views/event.py @@ -7,10 +7,10 @@ from django.utils.translation import ugettext_lazy as _ from django.core.urlresolvers import reverse from pytz import common_timezones -from pretixbase.forms import VersionedModelForm +from pretix.base.forms import VersionedModelForm -from pretixbase.models import Event -from pretixcontrol.permissions import EventPermissionRequiredMixin +from pretix.base.models import Event +from pretix.control.permissions import EventPermissionRequiredMixin class EventUpdateForm(VersionedModelForm): @@ -75,7 +75,7 @@ class EventPlugins(EventPermissionRequiredMixin, TemplateView, SingleObjectMixin return self.request.event def get_context_data(self, *args, **kwargs) -> dict: - from pretixbase.plugins import get_all_plugins + from pretix.base.plugins import get_all_plugins context = super().get_context_data(*args, **kwargs) context['plugins'] = [p for p in get_all_plugins() if not p.name.startswith('.')] context['plugins_active'] = self.object.get_plugins() diff --git a/src/pretixcontrol/views/forms.py b/src/pretix/control/views/forms.py similarity index 99% rename from src/pretixcontrol/views/forms.py rename to src/pretix/control/views/forms.py index 261f8d466..ded2d2683 100644 --- a/src/pretixcontrol/views/forms.py +++ b/src/pretix/control/views/forms.py @@ -7,9 +7,9 @@ from django.utils.encoding import force_text from django.utils.html import format_html from django.utils.safestring import mark_safe from django.utils.translation import ugettext_lazy as _ -from pretixbase.forms import VersionedModelForm +from pretix.base.forms import VersionedModelForm -from pretixbase.models import ItemVariation, PropertyValue, Item +from pretix.base.models import ItemVariation, PropertyValue, Item class TolerantFormsetModelForm(VersionedModelForm): diff --git a/src/pretixcontrol/views/item.py b/src/pretix/control/views/item.py similarity index 99% rename from src/pretixcontrol/views/item.py rename to src/pretix/control/views/item.py index b3ec94a4d..e1895a54a 100644 --- a/src/pretixcontrol/views/item.py +++ b/src/pretix/control/views/item.py @@ -12,14 +12,14 @@ from django.http import HttpResponseRedirect, HttpResponseForbidden from django.shortcuts import redirect from django.forms.models import inlineformset_factory from django.utils.translation import ugettext_lazy as _ -from pretixbase.forms import VersionedModelForm +from pretix.base.forms import VersionedModelForm -from pretixbase.models import ( +from pretix.base.models import ( Item, ItemCategory, Property, ItemVariation, PropertyValue, Question, Quota, Versionable) -from pretixcontrol.permissions import EventPermissionRequiredMixin, event_permission_required -from pretixcontrol.views.forms import TolerantFormsetModelForm, VariationsField -from pretixcontrol.signals import restriction_formset +from pretix.control.permissions import EventPermissionRequiredMixin, event_permission_required +from pretix.control.views.forms import TolerantFormsetModelForm, VariationsField +from pretix.control.signals import restriction_formset class ItemList(ListView): diff --git a/src/pretixcontrol/views/main.py b/src/pretix/control/views/main.py similarity index 92% rename from src/pretixcontrol/views/main.py rename to src/pretix/control/views/main.py index ab6f50c88..e545c7c07 100644 --- a/src/pretixcontrol/views/main.py +++ b/src/pretix/control/views/main.py @@ -1,7 +1,7 @@ from django.shortcuts import render from django.views.generic import ListView -from pretixbase.models import Event +from pretix.base.models import Event class EventList(ListView): diff --git a/src/pretixcontrol/migrations/__init__.py b/src/pretix/helpers/__init__.py similarity index 100% rename from src/pretixcontrol/migrations/__init__.py rename to src/pretix/helpers/__init__.py diff --git a/src/helpers/lessabsolutefilter.py b/src/pretix/helpers/lessabsolutefilter.py similarity index 100% rename from src/helpers/lessabsolutefilter.py rename to src/pretix/helpers/lessabsolutefilter.py diff --git a/src/pretixplugins/__init__.py b/src/pretix/plugins/__init__.py similarity index 100% rename from src/pretixplugins/__init__.py rename to src/pretix/plugins/__init__.py diff --git a/src/pretixplugins/testdummy/__init__.py b/src/pretix/plugins/testdummy/__init__.py similarity index 59% rename from src/pretixplugins/testdummy/__init__.py rename to src/pretix/plugins/testdummy/__init__.py index b2d111f0c..2e8e07261 100644 --- a/src/pretixplugins/testdummy/__init__.py +++ b/src/pretix/plugins/testdummy/__init__.py @@ -1,12 +1,12 @@ from django.apps import AppConfig -from pretixbase.plugins import PluginType +from pretix.base.plugins import PluginType class TestDummyApp(AppConfig): - name = 'pretixplugins.testdummy' + name = 'pretix.plugins.testdummy' verbose_name = '.testdummy' - class TixlPluginMeta: + class PretixPluginMeta: type = PluginType.RESTRICTION name = '.testdummy' version = '1.0.0' @@ -14,4 +14,4 @@ class TestDummyApp(AppConfig): def ready(self): from . import signals # NOQA -default_app_config = 'pretixplugins.testdummy.TestDummyApp' +default_app_config = 'pretix.plugins.testdummy.TestDummyApp' diff --git a/src/pretixplugins/testdummy/models.py b/src/pretix/plugins/testdummy/models.py similarity index 100% rename from src/pretixplugins/testdummy/models.py rename to src/pretix/plugins/testdummy/models.py diff --git a/src/pretixplugins/testdummy/signals.py b/src/pretix/plugins/testdummy/signals.py similarity index 75% rename from src/pretixplugins/testdummy/signals.py rename to src/pretix/plugins/testdummy/signals.py index df00b52fa..3e8248e4f 100644 --- a/src/pretixplugins/testdummy/signals.py +++ b/src/pretix/plugins/testdummy/signals.py @@ -1,6 +1,6 @@ from django.dispatch import receiver -from pretixbase.signals import determine_availability +from pretix.base.signals import determine_availability @receiver(determine_availability) diff --git a/src/pretixplugins/timerestriction/__init__.py b/src/pretix/plugins/timerestriction/__init__.py similarity index 76% rename from src/pretixplugins/timerestriction/__init__.py rename to src/pretix/plugins/timerestriction/__init__.py index 7a258695c..7a2830d36 100644 --- a/src/pretixplugins/timerestriction/__init__.py +++ b/src/pretix/plugins/timerestriction/__init__.py @@ -1,13 +1,13 @@ from django.apps import AppConfig from django.utils.translation import ugettext_lazy as _ -from pretixbase.plugins import PluginType +from pretix.base.plugins import PluginType class TimeRestrictionApp(AppConfig): - name = 'pretixplugins.timerestriction' + name = 'pretix.plugins.timerestriction' verbose_name = _("Time restriction") - class TixlPluginMeta: + class PretixPluginMeta: type = PluginType.RESTRICTION name = _("Restriction by time") author = _("the pretix team") @@ -19,4 +19,4 @@ class TimeRestrictionApp(AppConfig): def ready(self): from . import signals # NOQA -default_app_config = 'pretixplugins.timerestriction.TimeRestrictionApp' +default_app_config = 'pretix.plugins.timerestriction.TimeRestrictionApp' diff --git a/src/pretixplugins/timerestriction/migrations/0001_initial.py b/src/pretix/plugins/timerestriction/migrations/0001_initial.py similarity index 85% rename from src/pretixplugins/timerestriction/migrations/0001_initial.py rename to src/pretix/plugins/timerestriction/migrations/0001_initial.py index 3f2806843..80a125630 100644 --- a/src/pretixplugins/timerestriction/migrations/0001_initial.py +++ b/src/pretix/plugins/timerestriction/migrations/0001_initial.py @@ -2,7 +2,7 @@ from __future__ import unicode_literals from django.db import models, migrations -import pretixbase.models +import pretix.base.models import versions.models @@ -26,7 +26,8 @@ class Migration(migrations.Migration): ('price', models.DecimalField(null=True, blank=True, verbose_name='Price in time frame', max_digits=7, decimal_places=2)), ('event', versions.models.VersionedForeignKey(to='pretixbase.Event', related_name='restrictions_timerestriction_timerestriction', verbose_name='Event')), ('item', versions.models.VersionedForeignKey(to='pretixbase.Item', blank=True, null=True, related_name='restrictions_timerestriction_timerestriction', verbose_name='Item')), - ('variations', pretixbase.models.VariationsField(to='pretixbase.ItemVariation', blank=True, verbose_name='Variations', related_name='restrictions_timerestriction_timerestriction')), + ('variations', pretix.base.models.VariationsField(to='pretixbase.ItemVariation', blank=True, + verbose_name='Variations', related_name='restrictions_timerestriction_timerestriction')), ], options={ 'verbose_name': 'Restriction', diff --git a/src/pretixcontrol/tests/__init__.py b/src/pretix/plugins/timerestriction/migrations/__init__.py similarity index 100% rename from src/pretixcontrol/tests/__init__.py rename to src/pretix/plugins/timerestriction/migrations/__init__.py diff --git a/src/pretixplugins/timerestriction/models.py b/src/pretix/plugins/timerestriction/models.py similarity index 93% rename from src/pretixplugins/timerestriction/models.py rename to src/pretix/plugins/timerestriction/models.py index c120e2133..e3ba537a4 100644 --- a/src/pretixplugins/timerestriction/models.py +++ b/src/pretix/plugins/timerestriction/models.py @@ -1,7 +1,7 @@ from django.db import models from django.utils.translation import ugettext_lazy as _ -from pretixbase.models import BaseRestriction +from pretix.base.models import BaseRestriction class TimeRestriction(BaseRestriction): diff --git a/src/pretixplugins/timerestriction/signals.py b/src/pretix/plugins/timerestriction/signals.py similarity index 95% rename from src/pretixplugins/timerestriction/signals.py rename to src/pretix/plugins/timerestriction/signals.py index 0106c8e91..abc6b02de 100644 --- a/src/pretixplugins/timerestriction/signals.py +++ b/src/pretix/plugins/timerestriction/signals.py @@ -3,10 +3,10 @@ from django.utils.timezone import now from django.utils.translation import ugettext_lazy as _ from django.forms.models import inlineformset_factory -from pretixbase.signals import determine_availability -from pretixbase.models import Item -from pretixcontrol.views.forms import RestrictionInlineFormset, RestrictionForm -from pretixcontrol.signals import restriction_formset +from pretix.base.signals import determine_availability +from pretix.base.models import Item +from pretix.control.views.forms import RestrictionInlineFormset, RestrictionForm +from pretix.control.signals import restriction_formset from .models import TimeRestriction diff --git a/src/pretixplugins/timerestriction/tests.py b/src/pretix/plugins/timerestriction/tests.py similarity index 98% rename from src/pretixplugins/timerestriction/tests.py rename to src/pretix/plugins/timerestriction/tests.py index dba9f0616..619792778 100644 --- a/src/pretixplugins/timerestriction/tests.py +++ b/src/pretix/plugins/timerestriction/tests.py @@ -3,13 +3,13 @@ from datetime import timedelta from django.test import TestCase from django.utils.timezone import now -from pretixbase.models import ( +from pretix.base.models import ( Event, Organizer, Item, Property, PropertyValue, ItemVariation ) # Do NOT use relative imports here -from pretixplugins.timerestriction import signals -from pretixplugins.timerestriction.models import TimeRestriction +from pretix.plugins.timerestriction import signals +from pretix.plugins.timerestriction.models import TimeRestriction class TimeRestrictionTest(TestCase): diff --git a/src/pretix/presale/__init__.py b/src/pretix/presale/__init__.py new file mode 100644 index 000000000..23e13910d --- /dev/null +++ b/src/pretix/presale/__init__.py @@ -0,0 +1,8 @@ +from django.apps import AppConfig + + +class PretixPresaleConfig(AppConfig): + name = 'pretix.presale' + label = 'pretixpresale' + +default_app_config = 'pretix.presale.PretixPresaleConfig' diff --git a/src/pretixpresale/middleware.py b/src/pretix/presale/middleware.py similarity index 95% rename from src/pretixpresale/middleware.py rename to src/pretix/presale/middleware.py index 5277bbee6..96f73d4b6 100644 --- a/src/pretixpresale/middleware.py +++ b/src/pretix/presale/middleware.py @@ -1,7 +1,7 @@ from django.core.urlresolvers import resolve from django.http import HttpResponseNotFound -from pretixbase.models import Event +from pretix.base.models import Event class EventMiddleware: diff --git a/src/pretixpresale/static/pretixpresale/js/ui/main.js b/src/pretix/presale/static/pretixpresale/js/ui/main.js similarity index 100% rename from src/pretixpresale/static/pretixpresale/js/ui/main.js rename to src/pretix/presale/static/pretixpresale/js/ui/main.js diff --git a/src/pretixpresale/static/pretixpresale/less/event.less b/src/pretix/presale/static/pretixpresale/less/event.less similarity index 100% rename from src/pretixpresale/static/pretixpresale/less/event.less rename to src/pretix/presale/static/pretixpresale/less/event.less diff --git a/src/pretix/presale/static/pretixpresale/less/main.less b/src/pretix/presale/static/pretixpresale/less/main.less new file mode 100644 index 000000000..87def6689 --- /dev/null +++ b/src/pretix/presale/static/pretixpresale/less/main.less @@ -0,0 +1,5 @@ +@import "../../../../base/static/bootstrap/less/bootstrap.less"; +@import "../../../../base/static/fontawesome/less/font-awesome.less"; +@fa-font-path: "../../fontawesome/fonts"; + +@import "event.less"; diff --git a/src/pretixpresale/templates/pretixpresale/event/base.html b/src/pretix/presale/templates/pretixpresale/event/base.html similarity index 100% rename from src/pretixpresale/templates/pretixpresale/event/base.html rename to src/pretix/presale/templates/pretixpresale/event/base.html diff --git a/src/pretixpresale/templates/pretixpresale/event/fragment_availability.html b/src/pretix/presale/templates/pretixpresale/event/fragment_availability.html similarity index 100% rename from src/pretixpresale/templates/pretixpresale/event/fragment_availability.html rename to src/pretix/presale/templates/pretixpresale/event/fragment_availability.html diff --git a/src/pretixpresale/templates/pretixpresale/event/fragment_cart.html b/src/pretix/presale/templates/pretixpresale/event/fragment_cart.html similarity index 100% rename from src/pretixpresale/templates/pretixpresale/event/fragment_cart.html rename to src/pretix/presale/templates/pretixpresale/event/fragment_cart.html diff --git a/src/pretixpresale/templates/pretixpresale/event/index.html b/src/pretix/presale/templates/pretixpresale/event/index.html similarity index 100% rename from src/pretixpresale/templates/pretixpresale/event/index.html rename to src/pretix/presale/templates/pretixpresale/event/index.html diff --git a/src/pretixpresale/tests.py b/src/pretix/presale/tests.py similarity index 100% rename from src/pretixpresale/tests.py rename to src/pretix/presale/tests.py diff --git a/src/pretix/presale/urls.py b/src/pretix/presale/urls.py new file mode 100644 index 000000000..f93c631cf --- /dev/null +++ b/src/pretix/presale/urls.py @@ -0,0 +1,16 @@ +from django.conf.urls import patterns, url, include + +import pretix.presale.views.event +import pretix.presale.views.cart + +urlpatterns = patterns( + '', + url(r'^(?P[^/]+)/(?P[^/]+)/', include( + patterns( + 'pretix.presale.views.event', + url(r'^$', pretix.presale.views.event.EventIndex.as_view(), name='event.index'), + url(r'^cart/add$', pretix.presale.views.cart.CartAdd.as_view(), name='event.cart.add'), + url(r'^cart/remove$', pretix.presale.views.cart.CartRemove.as_view(), name='event.cart.remove'), + ) + )), +) diff --git a/src/pretixpresale/views/__init__.py b/src/pretix/presale/views/__init__.py similarity index 97% rename from src/pretixpresale/views/__init__.py rename to src/pretix/presale/views/__init__.py index 2ea8d8fb2..962a2df79 100644 --- a/src/pretixpresale/views/__init__.py +++ b/src/pretix/presale/views/__init__.py @@ -3,7 +3,7 @@ from itertools import groupby from django.db.models import Q -from pretixbase.models import CartPosition +from pretix.base.models import CartPosition class CartMixin: diff --git a/src/pretixpresale/views/cart.py b/src/pretix/presale/views/cart.py similarity index 98% rename from src/pretixpresale/views/cart.py rename to src/pretix/presale/views/cart.py index dda833823..35d1e6b35 100644 --- a/src/pretixpresale/views/cart.py +++ b/src/pretix/presale/views/cart.py @@ -8,8 +8,8 @@ from django.utils.timezone import now from django.views.generic import View from django.utils.translation import ugettext_lazy as _ -from pretixbase.models import Item, ItemVariation, Quota, CartPosition -from pretixpresale.views import CartMixin, EventViewMixin +from pretix.base.models import Item, ItemVariation, Quota, CartPosition +from pretix.presale.views import CartMixin, EventViewMixin class CartActionMixin(CartMixin): diff --git a/src/pretixpresale/views/event.py b/src/pretix/presale/views/event.py similarity index 97% rename from src/pretixpresale/views/event.py rename to src/pretix/presale/views/event.py index fea1c49e9..7318c1fed 100644 --- a/src/pretixpresale/views/event.py +++ b/src/pretix/presale/views/event.py @@ -1,6 +1,6 @@ from django.db.models import Count from django.views.generic import TemplateView -from pretixpresale.views import EventViewMixin, CartDisplayMixin +from pretix.presale.views import EventViewMixin, CartDisplayMixin class EventIndex(EventViewMixin, CartDisplayMixin, TemplateView): diff --git a/src/pretix/settings.py b/src/pretix/settings.py index c5f1fb139..27d332b12 100644 --- a/src/pretix/settings.py +++ b/src/pretix/settings.py @@ -37,15 +37,15 @@ INSTALLED_APPS = ( 'django.contrib.sessions', 'django.contrib.messages', 'django.contrib.staticfiles', - 'pretixbase', - 'pretixcontrol', - 'pretixpresale', + 'pretix.base', + 'pretix.control', + 'pretix.presale', 'compressor', 'bootstrap3', 'debug_toolbar.apps.DebugToolbarConfig', 'djangoformsetjs', - 'pretixplugins.testdummy', - 'pretixplugins.timerestriction', + 'pretix.plugins.testdummy', + 'pretix.plugins.timerestriction', ) MIDDLEWARE_CLASSES = ( @@ -57,9 +57,9 @@ MIDDLEWARE_CLASSES = ( 'debug_toolbar.middleware.DebugToolbarMiddleware', 'django.contrib.messages.middleware.MessageMiddleware', 'django.middleware.clickjacking.XFrameOptionsMiddleware', - 'pretixcontrol.middleware.PermissionMiddleware', - 'pretixpresale.middleware.EventMiddleware', - 'pretixbase.middleware.LocaleMiddleware', + 'pretix.control.middleware.PermissionMiddleware', + 'pretix.presale.middleware.EventMiddleware', + 'pretix.base.middleware.LocaleMiddleware', ) TEMPLATE_CONTEXT_PROCESSORS = ( @@ -71,7 +71,7 @@ TEMPLATE_CONTEXT_PROCESSORS = ( "django.core.context_processors.static", "django.core.context_processors.tz", "django.contrib.messages.context_processors.messages", - 'pretixcontrol.context.contextprocessor', + 'pretix.control.context.contextprocessor', ) ROOT_URLCONF = 'pretix.urls' @@ -133,7 +133,7 @@ STATICFILES_FINDERS = ( ) COMPRESS_PRECOMPILERS = ( - ('text/less', 'helpers.lessabsolutefilter.LessFilter'), + ('text/less', 'pretix.helpers.lessabsolutefilter.LessFilter'), ) COMPRESS_CSS_FILTERS = ( @@ -148,7 +148,7 @@ DEBUG_TOOLBAR_CONFIG = { } -# Tixl specific settings +# Pretix specific settings PRETIX_INSTANCE_NAME = 'pretix.de' DEFAULT_CURRENCY = 'EUR' diff --git a/src/pretix/urls.py b/src/pretix/urls.py index 017925521..5a67db51d 100644 --- a/src/pretix/urls.py +++ b/src/pretix/urls.py @@ -2,12 +2,12 @@ from django.conf.urls import patterns, include, url from django.contrib import admin from django.conf import settings -import pretixcontrol.urls -import pretixpresale.urls +import pretix.control.urls +import pretix.presale.urls urlpatterns = patterns('', - url(r'^control/', include(pretixcontrol.urls, namespace='control')), + url(r'^control/', include(pretix.control.urls, namespace='control')), url(r'^admin/', include(admin.site.urls)), # The pretixpresale namespace is configured at the bottom of this file, because it # contains a wildcard-style URL which has to be configured _after_ debug settings. @@ -20,5 +20,5 @@ if settings.DEBUG: ) urlpatterns += patterns('', - url(r'', include(pretixpresale.urls, namespace='presale')) + url(r'', include(pretix.presale.urls, namespace='presale')) ) diff --git a/src/pretixcontrol/static/pretixcontrol/less/main.less b/src/pretixcontrol/static/pretixcontrol/less/main.less deleted file mode 100644 index 404452891..000000000 --- a/src/pretixcontrol/static/pretixcontrol/less/main.less +++ /dev/null @@ -1,4 +0,0 @@ -@import "../../../../pretixbase/static/bootstrap/less/bootstrap.less"; -@import "../../../../pretixbase/static/fontawesome/less/font-awesome.less"; -@fa-font-path: "../../fontawesome/fonts"; -@import "forms.less"; diff --git a/src/pretixcontrol/views/__init__.py b/src/pretixcontrol/views/__init__.py deleted file mode 100644 index e69de29bb..000000000 diff --git a/src/pretixplugins/timerestriction/migrations/__init__.py b/src/pretixplugins/timerestriction/migrations/__init__.py deleted file mode 100644 index e69de29bb..000000000 diff --git a/src/pretixpresale/__init__.py b/src/pretixpresale/__init__.py deleted file mode 100644 index e69de29bb..000000000 diff --git a/src/pretixpresale/static/pretixpresale/less/main.less b/src/pretixpresale/static/pretixpresale/less/main.less deleted file mode 100644 index 2d7120801..000000000 --- a/src/pretixpresale/static/pretixpresale/less/main.less +++ /dev/null @@ -1,5 +0,0 @@ -@import "../../../../pretixbase/static/bootstrap/less/bootstrap.less"; -@import "../../../../pretixbase/static/fontawesome/less/font-awesome.less"; -@fa-font-path: "../../fontawesome/fonts"; - -@import "event.less"; diff --git a/src/pretixpresale/urls.py b/src/pretixpresale/urls.py deleted file mode 100644 index 97929ffdb..000000000 --- a/src/pretixpresale/urls.py +++ /dev/null @@ -1,16 +0,0 @@ -from django.conf.urls import patterns, url, include - -import pretixpresale.views.event -import pretixpresale.views.cart - -urlpatterns = patterns( - '', - url(r'^(?P[^/]+)/(?P[^/]+)/', include( - patterns( - 'pretixpresale.views.event', - url(r'^$', pretixpresale.views.event.EventIndex.as_view(), name='event.index'), - url(r'^cart/add$', pretixpresale.views.cart.CartAdd.as_view(), name='event.cart.add'), - url(r'^cart/remove$', pretixpresale.views.cart.CartRemove.as_view(), name='event.cart.remove'), - ) - )), -)