diff --git a/.github/workflows/linter.yml b/.github/workflows/linter.yml index 01ceee7e..74c2b8e4 100644 --- a/.github/workflows/linter.yml +++ b/.github/workflows/linter.yml @@ -50,10 +50,17 @@ jobs: - name: Install Required packages run: | - sudo apt-get install -y libvirt-dev python3-lxml zlib1g-dev libxslt1-dev + sudo apt-get install -y python3-virtualenv libvirt-dev python3-lxml zlib1g-dev libxslt1-dev + + - name: Create & Activate VENV + run: | + python3 -m venv venv + source venv/bin/activate + - name: Install dependencies run: | python3 -m pip install --upgrade pip + pip3 install wheel if [ -f dev/requirements.txt ]; then pip3 install -r dev/requirements.txt; else pip3 install -r conf/requirements.txt; fi ################################ # Run Linter against code base # @@ -61,6 +68,7 @@ jobs: - name: Lint Code Base uses: docker://github/super-linter:latest env: + FILTER_REGEX_EXCLUDE: .*(static|scss|venv|locale)/.* DEFAULT_BRANCH: master GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} VALIDATE_ANSIBLE: false diff --git a/Dockerfile b/Dockerfile index 0349facb..91f9f129 100644 --- a/Dockerfile +++ b/Dockerfile @@ -9,52 +9,53 @@ CMD ["/sbin/my_init"] RUN echo 'APT::Get::Clean=always;' >> /etc/apt/apt.conf.d/99AutomaticClean -RUN apt-get update -qqy -RUN DEBIAN_FRONTEND=noninteractive apt-get -qyy install \ - -o APT::Install-Suggests=false \ +RUN apt-get update -qqy \ + && DEBIAN_FRONTEND=noninteractive apt-get -qyy install \ + --no-install-recommends \ git \ - python3-virtualenv \ + python3-venv \ python3-dev \ python3-lxml \ - virtualenv \ libvirt-dev \ zlib1g-dev \ nginx \ - libsasl2-modules + pkg-config \ + gcc \ + libsasl2-modules \ + && rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/* -RUN rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/* - -ADD . /srv/webvirtcloud +COPY . /srv/webvirtcloud RUN chown -R www-data:www-data /srv/webvirtcloud # Setup webvirtcloud -RUN cd /srv/webvirtcloud && \ - virtualenv --python=python3 venv && \ +WORKDIR /srv/webvirtcloud +RUN python3 -m venv venv && \ . venv/bin/activate && \ pip3 install -U pip && \ + pip3 install wheel && \ pip3 install -r conf/requirements.txt && \ chown -R www-data:www-data /srv/webvirtcloud -RUN cd /srv/webvirtcloud && . venv/bin/activate && \ - python3 manage.py migrate && \ +RUN . venv/bin/activate && \ + python3 manage.py migrate && \ chown -R www-data:www-data /srv/webvirtcloud # Setup Nginx -RUN echo "\ndaemon off;" >> /etc/nginx/nginx.conf && \ +RUN printf "\n%s" "daemon off;" >> /etc/nginx/nginx.conf && \ rm /etc/nginx/sites-enabled/default && \ chown -R www-data:www-data /var/lib/nginx -ADD conf/nginx/webvirtcloud.conf /etc/nginx/conf.d/ +COPY conf/nginx/webvirtcloud.conf /etc/nginx/conf.d/ # Register services to runit RUN mkdir /etc/service/nginx && \ mkdir /etc/service/nginx-log-forwarder && \ mkdir /etc/service/webvirtcloud && \ mkdir /etc/service/novnc -ADD conf/runit/nginx /etc/service/nginx/run -ADD conf/runit/nginx-log-forwarder /etc/service/nginx-log-forwarder/run -ADD conf/runit/novncd.sh /etc/service/novnc/run -ADD conf/runit/webvirtcloud.sh /etc/service/webvirtcloud/run +COPY conf/runit/nginx /etc/service/nginx/run +COPY conf/runit/nginx-log-forwarder /etc/service/nginx-log-forwarder/run +COPY conf/runit/novncd.sh /etc/service/novnc/run +COPY conf/runit/webvirtcloud.sh /etc/service/webvirtcloud/run # Define mountable directories. #VOLUME [] diff --git a/accounts/forms.py b/accounts/forms.py index 12d754d8..cbd34256 100644 --- a/accounts/forms.py +++ b/accounts/forms.py @@ -1,6 +1,6 @@ from appsettings.settings import app_settings from django.contrib.auth import get_user_model -from django.forms import ModelForm, ValidationError +from django.forms import EmailField, Form, ModelForm, ValidationError from django.utils.translation import gettext_lazy as _ from .models import UserInstance, UserSSHKey @@ -69,3 +69,7 @@ def save(self, commit=True): class Meta: model = UserSSHKey fields = ('keyname', 'keypublic') + + +class EmailOTPForm(Form): + email = EmailField(label=_('Email')) diff --git a/accounts/templates/account.html b/accounts/templates/account.html index 3775a63f..b44aa8ec 100644 --- a/accounts/templates/account.html +++ b/accounts/templates/account.html @@ -8,7 +8,15 @@ {% block page_heading %}{% trans "User Profile" %}: {{ user }}{% endblock page_heading %} {% block page_heading_extra %} - +{% if otp_enabled %} + + {% icon 'qrcode' %} + +{% endif %} + + {% icon 'pencil' %} + + {% icon 'plus' %} {% endblock page_heading_extra %} @@ -21,11 +29,6 @@