Initial commit
commit
49a0bb34e0
@ -0,0 +1,63 @@
|
|||||||
|
# Byte-compiled / optimized / DLL files
|
||||||
|
__pycache__/
|
||||||
|
*.py[cod]
|
||||||
|
*$py.class
|
||||||
|
|
||||||
|
# C extensions
|
||||||
|
*.so
|
||||||
|
|
||||||
|
# Distribution / packaging
|
||||||
|
.Python
|
||||||
|
env/
|
||||||
|
build/
|
||||||
|
develop-eggs/
|
||||||
|
dist/
|
||||||
|
downloads/
|
||||||
|
eggs/
|
||||||
|
.eggs/
|
||||||
|
lib/
|
||||||
|
lib64/
|
||||||
|
parts/
|
||||||
|
sdist/
|
||||||
|
var/
|
||||||
|
*.egg-info/
|
||||||
|
.installed.cfg
|
||||||
|
*.egg
|
||||||
|
.ropeproject/
|
||||||
|
|
||||||
|
# PyInstaller
|
||||||
|
# Usually these files are written by a python script from a template
|
||||||
|
# before PyInstaller builds the exe, so as to inject date/other infos into it.
|
||||||
|
*.manifest
|
||||||
|
*.spec
|
||||||
|
|
||||||
|
# Installer logs
|
||||||
|
pip-log.txt
|
||||||
|
pip-delete-this-directory.txt
|
||||||
|
|
||||||
|
# Unit test / coverage reports
|
||||||
|
htmlcov/
|
||||||
|
.tox/
|
||||||
|
.coverage
|
||||||
|
.coverage.*
|
||||||
|
.cache
|
||||||
|
nosetests.xml
|
||||||
|
coverage.xml
|
||||||
|
*,cover
|
||||||
|
.hypothesis/
|
||||||
|
|
||||||
|
# Translations
|
||||||
|
*.mo
|
||||||
|
|
||||||
|
# Django stuff:
|
||||||
|
*.log
|
||||||
|
data/
|
||||||
|
|
||||||
|
# Sphinx documentation
|
||||||
|
docs/_build/
|
||||||
|
|
||||||
|
# PyBuilder
|
||||||
|
target/
|
||||||
|
|
||||||
|
#Ipython Notebook
|
||||||
|
.ipynb_checkpoints
|
@ -0,0 +1,17 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
REPO_DIR=$(git rev-parse --show-toplevel)
|
||||||
|
GIT_DIR=$REPO_DIR/.git
|
||||||
|
VENV_ACTIVATE=$VIRTUAL_ENV/bin/activate
|
||||||
|
if [[ ! -f $VENV_ACTIVATE ]]
|
||||||
|
then
|
||||||
|
echo "Could not find your virtual environment"
|
||||||
|
fi
|
||||||
|
|
||||||
|
echo "#!/bin/sh" >> $GIT_DIR/hooks/pre-commit
|
||||||
|
echo "set -e" >> $GIT_DIR/hooks/pre-commit
|
||||||
|
echo "source $VENV_ACTIVATE" >> $GIT_DIR/hooks/pre-commit
|
||||||
|
echo "docformatter --check -r ." >> $GIT_DIR/hooks/pre-commit
|
||||||
|
echo "black --check ." >> $GIT_DIR/hooks/pre-commit
|
||||||
|
echo "isort -c ." >> $GIT_DIR/hooks/pre-commit
|
||||||
|
echo "flake8 ." >> $GIT_DIR/hooks/pre-commit
|
||||||
|
chmod +x $GIT_DIR/hooks/pre-commit
|
@ -0,0 +1,15 @@
|
|||||||
|
|
||||||
|
Copyright 2022 n0emis
|
||||||
|
|
||||||
|
Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
you may not use this file except in compliance with the License.
|
||||||
|
You may obtain a copy of the License at
|
||||||
|
|
||||||
|
http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
|
||||||
|
Unless required by applicable law or agreed to in writing, software
|
||||||
|
distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
See the License for the specific language governing permissions and
|
||||||
|
limitations under the License.
|
||||||
|
|
@ -0,0 +1,5 @@
|
|||||||
|
recursive-include pretix_poos/static *
|
||||||
|
recursive-include pretix_poos/templates *
|
||||||
|
recursive-include pretix_poos/locale *
|
||||||
|
include LICENSE
|
||||||
|
exclude .gitlab-ci.yml
|
@ -0,0 +1,10 @@
|
|||||||
|
all: localecompile
|
||||||
|
LNGS:=`find pretix_poos/locale/ -mindepth 1 -maxdepth 1 -type d -printf "-l %f "`
|
||||||
|
|
||||||
|
localecompile:
|
||||||
|
django-admin compilemessages
|
||||||
|
|
||||||
|
localegen:
|
||||||
|
django-admin makemessages --keep-pot -i build -i dist -i "*egg*" $(LNGS)
|
||||||
|
|
||||||
|
.PHONY: all localecompile localegen
|
@ -0,0 +1,19 @@
|
|||||||
|
from django.dispatch import receiver
|
||||||
|
|
||||||
|
from pretix.base.signals import register_sales_channels
|
||||||
|
from pretix.base.channels import SalesChannel
|
||||||
|
|
||||||
|
class PoosSalesChannel(SalesChannel):
|
||||||
|
identifier = "pretixpos"
|
||||||
|
verbose_name = 'Box office (pretixPOS)'
|
||||||
|
icon = "shopping-basket"
|
||||||
|
|
||||||
|
payment_restrictions_supported = False
|
||||||
|
customer_accounts_supported = False
|
||||||
|
|
||||||
|
@receiver(register_sales_channels, dispatch_uid="poos_register_sales_channels")
|
||||||
|
def base_sales_channels(sender, **kwargs):
|
||||||
|
return (
|
||||||
|
PoosSalesChannel(),
|
||||||
|
)
|
||||||
|
|
@ -0,0 +1,10 @@
|
|||||||
|
from pretix.api.urls import router, orga_router
|
||||||
|
from django.conf.urls import url
|
||||||
|
|
||||||
|
|
||||||
|
from .views import *
|
||||||
|
|
||||||
|
urlpatterns = [
|
||||||
|
url(r'^api/v1/organizers/(?P<organizer>[^/]+)/posdevices/(?P<device_id>[^/.]+)/closings/', ClosingsView.as_view(), name='api.closings'),
|
||||||
|
url(r'^api/v1/organizers/(?P<organizer>[^/]+)/pos/cashiers/', CashierView.as_view(), name='api.cashiers'),
|
||||||
|
]
|
@ -0,0 +1,45 @@
|
|||||||
|
from rest_framework.response import Response
|
||||||
|
from rest_framework.views import APIView
|
||||||
|
|
||||||
|
class ClosingsView(APIView):
|
||||||
|
def get(self, request, organizer, device_id):
|
||||||
|
return Response({
|
||||||
|
'count': 0,
|
||||||
|
'next': None,
|
||||||
|
'previous': None,
|
||||||
|
'results': []
|
||||||
|
})
|
||||||
|
|
||||||
|
class CashierView(APIView):
|
||||||
|
def get(self, request, organizer):
|
||||||
|
return Response({
|
||||||
|
"count": 1,
|
||||||
|
"next": None,
|
||||||
|
"previous": None,
|
||||||
|
"results": [
|
||||||
|
{
|
||||||
|
"active": Trie,
|
||||||
|
"id": 1,
|
||||||
|
"last_modified": "2022-02-25T08:26:38.489714+01:00",
|
||||||
|
"name": "User",
|
||||||
|
"pin": None,
|
||||||
|
"team": {
|
||||||
|
"all_devices": True,
|
||||||
|
"can_accept_gift_cards": True,
|
||||||
|
"can_access_settings": True,
|
||||||
|
"can_manage_cash_close_sessions": False,
|
||||||
|
"can_open_drawer": True,
|
||||||
|
"can_perform_refunds": True,
|
||||||
|
"can_reprint_tickets": True,
|
||||||
|
"can_switch_events": True,
|
||||||
|
"can_view_all_orders": True,
|
||||||
|
"can_view_past_transactions": True,
|
||||||
|
"devices": [],
|
||||||
|
"id": 1,
|
||||||
|
"last_modified": "2022-02-25T08:26:38.484243+01:00",
|
||||||
|
"name": "Administrators"
|
||||||
|
},
|
||||||
|
"userid": "0001"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
})
|
@ -0,0 +1,41 @@
|
|||||||
|
[flake8]
|
||||||
|
ignore = N802,W503,E402
|
||||||
|
max-line-length = 160
|
||||||
|
exclude = migrations,.ropeproject,static,_static,build
|
||||||
|
|
||||||
|
[isort]
|
||||||
|
combine_as_imports = true
|
||||||
|
default_section = THIRDPARTY
|
||||||
|
include_trailing_comma = true
|
||||||
|
known_third_party = pretix
|
||||||
|
known_standard_library = typing
|
||||||
|
multi_line_output = 3
|
||||||
|
skip = setup.py
|
||||||
|
use_parentheses = True
|
||||||
|
force_grid_wrap = 0
|
||||||
|
line_length = 88
|
||||||
|
known_first_party = pretix_poos
|
||||||
|
|
||||||
|
[tool:pytest]
|
||||||
|
DJANGO_SETTINGS_MODULE = pretix.testutils.settings
|
||||||
|
|
||||||
|
[coverage:run]
|
||||||
|
source = pretix_poos
|
||||||
|
omit = */migrations/*,*/urls.py,*/tests/*
|
||||||
|
|
||||||
|
[coverage:report]
|
||||||
|
exclude_lines =
|
||||||
|
pragma: no cover
|
||||||
|
def __str__
|
||||||
|
der __repr__
|
||||||
|
if settings.DEBUG
|
||||||
|
NOQA
|
||||||
|
NotImplementedError
|
||||||
|
|
||||||
|
[check-manifest]
|
||||||
|
ignore =
|
||||||
|
.update-locales.sh
|
||||||
|
.install-hooks.sh
|
||||||
|
Makefile
|
||||||
|
manage.py
|
||||||
|
tests/*
|
@ -0,0 +1,45 @@
|
|||||||
|
import os
|
||||||
|
from distutils.command.build import build
|
||||||
|
|
||||||
|
from django.core import management
|
||||||
|
from setuptools import find_packages, setup
|
||||||
|
|
||||||
|
from pretix_poos import __version__
|
||||||
|
|
||||||
|
|
||||||
|
try:
|
||||||
|
with open(
|
||||||
|
os.path.join(os.path.dirname(__file__), "README.rst"), encoding="utf-8"
|
||||||
|
) as f:
|
||||||
|
long_description = f.read()
|
||||||
|
except Exception:
|
||||||
|
long_description = ""
|
||||||
|
|
||||||
|
|
||||||
|
class CustomBuild(build):
|
||||||
|
def run(self):
|
||||||
|
management.call_command("compilemessages", verbosity=1)
|
||||||
|
build.run(self)
|
||||||
|
|
||||||
|
|
||||||
|
cmdclass = {"build": CustomBuild}
|
||||||
|
|
||||||
|
|
||||||
|
setup(
|
||||||
|
name="pretix-poos",
|
||||||
|
version=__version__,
|
||||||
|
description="Short description",
|
||||||
|
long_description=long_description,
|
||||||
|
url="GitHub repository URL",
|
||||||
|
author="n0emis",
|
||||||
|
author_email="git@N0emis.eu",
|
||||||
|
license="Apache",
|
||||||
|
install_requires=[],
|
||||||
|
packages=find_packages(exclude=["tests", "tests.*"]),
|
||||||
|
include_package_data=True,
|
||||||
|
cmdclass=cmdclass,
|
||||||
|
entry_points="""
|
||||||
|
[pretix.plugin]
|
||||||
|
pretix_poos=pretix_poos:PretixPluginMeta
|
||||||
|
""",
|
||||||
|
)
|
Loading…
Reference in New Issue