diff --git a/Dockerfile b/Dockerfile index 54a65ec5528393e225985428d8d03925f3f2353c..f95a8b3d108aa9d1413b771f7a7e2a94d97686c8 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,12 +1,11 @@ -FROM python:3 +FROM python:3.6 -COPY . /tmp/ -RUN chmod +x /tmp/entrypoint.sh +COPY requirements.txt /tmp/ RUN pip install --no-cache-dir -r /tmp/requirements.txt -RUN python /tmp/manage.py migrate -ENTRYPOINT ["/tmp/entrypoint.sh"] +#RUN python /tmp/manage.py migrate +#ENTRYPOINT ["/tmp/entrypoint.sh"] # Superuser parameters are --username USERNAME and --email EMAIL but there is no password # RUN python /tmp/manage.py createsuperuser diff --git a/build.sh b/build.sh new file mode 100755 index 0000000000000000000000000000000000000000..263476c355626b81e6d51940af34cbf847f5c104 --- /dev/null +++ b/build.sh @@ -0,0 +1,3 @@ +#!/bin/bash + +exec sudo docker build -t aura/pv . diff --git a/cleanup.sh b/cleanup.sh new file mode 100755 index 0000000000000000000000000000000000000000..da119306e4e507effbb89626800d3b8f960b8ff6 --- /dev/null +++ b/cleanup.sh @@ -0,0 +1,4 @@ +#!/bin/bash +BASE_D=$(realpath "${BASH_SOURCE%/*}/") + +rm -f "$BASE_D/pv/dev_data.sqlite" diff --git a/prepare.sh b/prepare.sh new file mode 100755 index 0000000000000000000000000000000000000000..0542405d178def25161a20c2d115036871794606 --- /dev/null +++ b/prepare.sh @@ -0,0 +1,7 @@ +#!/bin/bash +BASE_D=$(realpath "${BASH_SOURCE%/*}/") + +sudo docker run --rm -it -u $UID:$GID -v "$BASE_D":/srv aura/pv /srv/manage.py migrate +sudo docker run --rm -it -u $UID:$GID -v "$BASE_D":/srv aura/pv bash -c "/srv/manage.py loaddata /srv/program/fixtures/*.yaml" +sudo docker run --rm -it -u $UID:$GID -v "$BASE_D":/srv aura/pv /srv/manage.py createsuperuser --username equinox --email equinox@helsinki.at +sudo docker run --rm -it -u $UID:$GID -v "$BASE_D":/srv aura/pv /srv/manage.py creatersakey diff --git a/pv/oidc_provider_settings.py b/pv/oidc_provider_settings.py new file mode 100644 index 0000000000000000000000000000000000000000..e1b96998b883d69f3925736daa66325963297471 --- /dev/null +++ b/pv/oidc_provider_settings.py @@ -0,0 +1,30 @@ +from django.utils.translation import ugettext as _ +from oidc_provider.lib.claims import ScopeClaims + + +class AuraScopeClaims(ScopeClaims): + + info_username = ( + _(u'username'), + _(u'Your username.'), + ) + + def scope_username(self): + dic = { + 'username': self.user.username + } + + return dic + + info_aura_shows = ( + _(u'AURA Shows'), + _(u'AURA shows you have access to.'), + ) + + def scope_aura_shows(self): + show_slugs = list(self.user.shows.all().values_list('slug', flat=True)) + dic = { + 'shows': show_slugs + } + + return dic diff --git a/pv/settings.py b/pv/settings.py index 5ece1568bef969b3930a01912d34a0f665af0d6d..80514a60eb68ab845283e11006f7e50309206cbe 100644 --- a/pv/settings.py +++ b/pv/settings.py @@ -189,6 +189,7 @@ CBA_REST_API_URL = CBA_URL + '/wp-json/wp/v2/' # OIDC Provider Settings USE_TZ = True # django-oidc-provider needs timezones in database LOGIN_URL = '/admin/login/' # Login page OIDC redirects to +OIDC_EXTRA_SCOPE_CLAIMS = 'pv.oidc_provider_settings.AuraScopeClaims' #WSGI_APPLICATION = 'pv.wsgi.application'; @@ -205,4 +206,4 @@ SPECIAL_PROGRAM_IDS = () try: from .local_settings import * except ImportError: - pass \ No newline at end of file + pass diff --git a/run.sh b/run.sh new file mode 100755 index 0000000000000000000000000000000000000000..4ad27d8f8a0621bd8ac58b91f0de76878c807e73 --- /dev/null +++ b/run.sh @@ -0,0 +1,4 @@ +#!/bin/bash +BASE_D=$(realpath "${BASH_SOURCE%/*}/") + +exec sudo docker run --rm -it -u $UID:$GID -p 127.0.0.1:8000:8000 -v "$BASE_D":/srv aura/pv /srv/manage.py runserver 0.0.0.0:8000