Compare commits

..

No commits in common. "1bd7023fdf6a24bcac672760360f692c0c91abbf" and "76c18c0cae926cd616ac93e6ad3805b23f8d5a42" have entirely different histories.

9 changed files with 48 additions and 47 deletions

View file

@ -0,0 +1 @@
default_app_config = 'orchestra.contrib.musician.apps.MusicianConfig'

View file

@ -160,25 +160,25 @@ msgstr "Cancel·lar"
msgid "Save" msgid "Save"
msgstr "Desar" msgstr "Desar"
#: templates/musician/address_list.html:15 #: templates/musician/addresses.html:15
msgid "Email" msgid "Email"
msgstr "Correu electrònic" msgstr "Correu electrònic"
#: templates/musician/address_list.html:16 #: templates/musician/addresses.html:16
msgid "Domain" msgid "Domain"
msgstr "Domini" msgstr "Domini"
#. Translators: This message appears on the page title #. Translators: This message appears on the page title
#: templates/musician/address_list.html:17 templates/musician/mail_base.html:22 #: templates/musician/addresses.html:17 templates/musician/mail_base.html:22
#: views.py:355 #: views.py:355
msgid "Mailboxes" msgid "Mailboxes"
msgstr "Bústies de correu" msgstr "Bústies de correu"
#: templates/musician/address_list.html:18 #: templates/musician/addresses.html:18
msgid "Forward" msgid "Forward"
msgstr "Redirecció" msgstr "Redirecció"
#: templates/musician/address_list.html:38 #: templates/musician/addresses.html:38
msgid "New mail address" msgid "New mail address"
msgstr "Nova adreça de correu" msgstr "Nova adreça de correu"
@ -350,7 +350,7 @@ msgstr "Obre el gestor de bases de dades"
#. Translators: database page when there isn't any database. #. Translators: database page when there isn't any database.
#. Translators: saas page when there isn't any saas. #. Translators: saas page when there isn't any saas.
#: templates/musician/databases.html:58 templates/musician/saas_list.html:49 #: templates/musician/databases.html:58 templates/musician/saas.html:49
msgid "Ooops! Looks like there is nothing here!" msgid "Ooops! Looks like there is nothing here!"
msgstr "Mmmh, sembla que aquí no hi ha res!" msgstr "Mmmh, sembla que aquí no hi ha res!"
@ -370,15 +370,15 @@ msgstr "Consulta aquí la teva configuració DNS."
msgid "Value" msgid "Value"
msgstr "Valor" msgstr "Valor"
#: templates/musician/mail_base.html:6 templates/musician/mailinglist_list.html:6 #: templates/musician/mail_base.html:6 templates/musician/mailinglists.html:6
msgid "Go to global" msgid "Go to global"
msgstr "Totes les adreces" msgstr "Totes les adreces"
#: templates/musician/mail_base.html:10 templates/musician/mailinglist_list.html:9 #: templates/musician/mail_base.html:10 templates/musician/mailinglists.html:9
msgid "for" msgid "for"
msgstr "per a" msgstr "per a"
#: templates/musician/mail_base.html:18 templates/musician/mailbox_list.html:16 #: templates/musician/mail_base.html:18 templates/musician/mailboxes.html:16
msgid "Addresses" msgid "Addresses"
msgstr "Adreces de correu" msgstr "Adreces de correu"
@ -415,27 +415,27 @@ msgstr ""
msgid "Close" msgid "Close"
msgstr "Tancar" msgstr "Tancar"
#: templates/musician/mailbox_list.html:14 #: templates/musician/mailboxes.html:14
msgid "Name" msgid "Name"
msgstr "Nom" msgstr "Nom"
#: templates/musician/mailbox_list.html:15 #: templates/musician/mailboxes.html:15
msgid "Filtering" msgid "Filtering"
msgstr "Filtrat" msgstr "Filtrat"
#: templates/musician/mailbox_list.html:27 #: templates/musician/mailboxes.html:27
msgid "Update password" msgid "Update password"
msgstr "Actualitza la contrasenya" msgstr "Actualitza la contrasenya"
#: templates/musician/mailbox_list.html:43 #: templates/musician/mailboxes.html:43
msgid "New mailbox" msgid "New mailbox"
msgstr "Nova bústia de correu" msgstr "Nova bústia de correu"
#: templates/musician/mailinglist_list.html:34 #: templates/musician/mailinglists.html:34
msgid "Active" msgid "Active"
msgstr "Actiu" msgstr "Actiu"
#: templates/musician/mailinglist_list.html:36 #: templates/musician/mailinglists.html:36
msgid "Inactive" msgid "Inactive"
msgstr "Inactiu" msgstr "Inactiu"
@ -463,19 +463,19 @@ msgstr "mètode de pagament:"
msgid "Check your last bills" msgid "Check your last bills"
msgstr "Consulta les teves darreres factures" msgstr "Consulta les teves darreres factures"
#: templates/musician/saas_list.html:18 #: templates/musician/saas.html:18
msgid "Installed on" msgid "Installed on"
msgstr "Instal·lat a" msgstr "Instal·lat a"
#: templates/musician/saas_list.html:29 #: templates/musician/saas.html:29
msgid "Service info" msgid "Service info"
msgstr "Informació del servei" msgstr "Informació del servei"
#: templates/musician/saas_list.html:30 #: templates/musician/saas.html:30
msgid "active" msgid "active"
msgstr "actiu" msgstr "actiu"
#: templates/musician/saas_list.html:37 #: templates/musician/saas.html:37
msgid "Open service admin panel" msgid "Open service admin panel"
msgstr "Obre el panell dadministració del servei" msgstr "Obre el panell dadministració del servei"

View file

@ -162,25 +162,25 @@ msgstr "Cancelar"
msgid "Save" msgid "Save"
msgstr "Guardar" msgstr "Guardar"
#: templates/musician/address_list.html:15 #: templates/musician/addresses.html:15
msgid "Email" msgid "Email"
msgstr "Correo electrónico" msgstr "Correo electrónico"
#: templates/musician/address_list.html:16 #: templates/musician/addresses.html:16
msgid "Domain" msgid "Domain"
msgstr "Dominio" msgstr "Dominio"
#. Translators: This message appears on the page title #. Translators: This message appears on the page title
#: templates/musician/address_list.html:17 templates/musician/mail_base.html:22 #: templates/musician/addresses.html:17 templates/musician/mail_base.html:22
#: views.py:355 #: views.py:355
msgid "Mailboxes" msgid "Mailboxes"
msgstr "Buzones de correo" msgstr "Buzones de correo"
#: templates/musician/address_list.html:18 #: templates/musician/addresses.html:18
msgid "Forward" msgid "Forward"
msgstr "Redirección" msgstr "Redirección"
#: templates/musician/address_list.html:38 #: templates/musician/addresses.html:38
msgid "New mail address" msgid "New mail address"
msgstr "Nueva dirección de correo" msgstr "Nueva dirección de correo"
@ -352,7 +352,7 @@ msgstr "Abre el gestor de bases de datos"
#. Translators: database page when there isn't any database. #. Translators: database page when there isn't any database.
#. Translators: saas page when there isn't any saas. #. Translators: saas page when there isn't any saas.
#: templates/musician/databases.html:58 templates/musician/saas_list.html:49 #: templates/musician/databases.html:58 templates/musician/saas.html:49
msgid "Ooops! Looks like there is nothing here!" msgid "Ooops! Looks like there is nothing here!"
msgstr "Mmmh… ¡parece que aquí no hay nada!" msgstr "Mmmh… ¡parece que aquí no hay nada!"
@ -372,15 +372,15 @@ msgstr "Consulta aquí tu configuración DNS."
msgid "Value" msgid "Value"
msgstr "Valor" msgstr "Valor"
#: templates/musician/mail_base.html:6 templates/musician/mailinglist_list.html:6 #: templates/musician/mail_base.html:6 templates/musician/mailinglists.html:6
msgid "Go to global" msgid "Go to global"
msgstr "Todas las direcciones" msgstr "Todas las direcciones"
#: templates/musician/mail_base.html:10 templates/musician/mailinglist_list.html:9 #: templates/musician/mail_base.html:10 templates/musician/mailinglists.html:9
msgid "for" msgid "for"
msgstr "para" msgstr "para"
#: templates/musician/mail_base.html:18 templates/musician/mailbox_list.html:16 #: templates/musician/mail_base.html:18 templates/musician/mailboxes.html:16
msgid "Addresses" msgid "Addresses"
msgstr "Direcciones de correo" msgstr "Direcciones de correo"
@ -417,27 +417,27 @@ msgstr ""
msgid "Close" msgid "Close"
msgstr "Cerrar" msgstr "Cerrar"
#: templates/musician/mailbox_list.html:14 #: templates/musician/mailboxes.html:14
msgid "Name" msgid "Name"
msgstr "Nombre" msgstr "Nombre"
#: templates/musician/mailbox_list.html:15 #: templates/musician/mailboxes.html:15
msgid "Filtering" msgid "Filtering"
msgstr "Filtrado" msgstr "Filtrado"
#: templates/musician/mailbox_list.html:27 #: templates/musician/mailboxes.html:27
msgid "Update password" msgid "Update password"
msgstr "Actualiza la contraseña" msgstr "Actualiza la contraseña"
#: templates/musician/mailbox_list.html:43 #: templates/musician/mailboxes.html:43
msgid "New mailbox" msgid "New mailbox"
msgstr "Nuevo buzón de correo" msgstr "Nuevo buzón de correo"
#: templates/musician/mailinglist_list.html:34 #: templates/musician/mailinglists.html:34
msgid "Active" msgid "Active"
msgstr "Activo" msgstr "Activo"
#: templates/musician/mailinglist_list.html:36 #: templates/musician/mailinglists.html:36
msgid "Inactive" msgid "Inactive"
msgstr "Inactivo" msgstr "Inactivo"
@ -465,19 +465,19 @@ msgstr "método de pago:"
msgid "Check your last bills" msgid "Check your last bills"
msgstr "Consulta tus últimas facturas" msgstr "Consulta tus últimas facturas"
#: templates/musician/saas_list.html:18 #: templates/musician/saas.html:18
msgid "Installed on" msgid "Installed on"
msgstr "Instalado en" msgstr "Instalado en"
#: templates/musician/saas_list.html:29 #: templates/musician/saas.html:29
msgid "Service info" msgid "Service info"
msgstr "Información del servicio" msgstr "Información del servicio"
#: templates/musician/saas_list.html:30 #: templates/musician/saas.html:30
msgid "active" msgid "active"
msgstr "activo" msgstr "activo"
#: templates/musician/saas_list.html:37 #: templates/musician/saas.html:37
msgid "Open service admin panel" msgid "Open service admin panel"
msgstr "Abre el panel de administración del servicio" msgstr "Abre el panel de administración del servicio"

View file

@ -12,7 +12,7 @@ from django.shortcuts import get_object_or_404
from django.urls import reverse_lazy from django.urls import reverse_lazy
from django.utils import translation from django.utils import translation
from django.utils.html import format_html from django.utils.html import format_html
from django.utils.http import url_has_allowed_host_and_scheme from django.utils.http import is_safe_url
from django.utils.translation import gettext_lazy as _ from django.utils.translation import gettext_lazy as _
from django.views import View from django.views import View
from django.views.generic.base import RedirectView, TemplateView from django.views.generic.base import RedirectView, TemplateView
@ -153,7 +153,7 @@ def profile_set_language(request, code):
translation.activate(user_language) translation.activate(user_language)
redirect_to = request.GET.get('next', '') redirect_to = request.GET.get('next', '')
url_is_safe = url_has_allowed_host_and_scheme( url_is_safe = is_safe_url(
url=redirect_to, url=redirect_to,
allowed_hosts={request.get_host()}, allowed_hosts={request.get_host()},
require_https=request.is_secure(), require_https=request.is_secure(),
@ -232,7 +232,7 @@ class BillDownloadView(CustomContextMixin, UserTokenRequiredMixin, View):
bill = self.get_object() bill = self.get_object()
# TODO(@slamora): implement download as PDF, now only HTML is reachable via link # TODO(@slamora): implement download as PDF, now only HTML is reachable via link
content_type = request.headers.get('accept') content_type = request.META.get('HTTP_ACCEPT')
if content_type == 'application/pdf': if content_type == 'application/pdf':
pdf = html_to_pdf(bill.html or bill.render()) pdf = html_to_pdf(bill.html or bill.render())
return HttpResponse(pdf, content_type='application/pdf') return HttpResponse(pdf, content_type='application/pdf')
@ -243,7 +243,7 @@ class BillDownloadView(CustomContextMixin, UserTokenRequiredMixin, View):
class AddressListView(ServiceListView): class AddressListView(ServiceListView):
service_class = AddressService service_class = AddressService
model = Address model = Address
template_name = "musician/address_list.html" template_name = "musician/addresses.html"
extra_context = { extra_context = {
# Translators: This message appears on the page title # Translators: This message appears on the page title
'title': _('Mail addresses'), 'title': _('Mail addresses'),
@ -317,7 +317,7 @@ class AddressDeleteView(CustomContextMixin, UserTokenRequiredMixin, DeleteView):
class MailingListsView(ServiceListView): class MailingListsView(ServiceListView):
service_class = MailinglistService service_class = MailinglistService
model = List model = List
template_name = "musician/mailinglist_list.html" template_name = "musician/mailinglists.html"
extra_context = { extra_context = {
# Translators: This message appears on the page title # Translators: This message appears on the page title
'title': _('Mailing lists'), 'title': _('Mailing lists'),
@ -348,7 +348,7 @@ class MailingListsView(ServiceListView):
class MailboxListView(ServiceListView): class MailboxListView(ServiceListView):
service_class = MailboxService service_class = MailboxService
model = Mailbox model = Mailbox
template_name = "musician/mailbox_list.html" template_name = "musician/mailboxes.html"
extra_context = { extra_context = {
# Translators: This message appears on the page title # Translators: This message appears on the page title
'title': _('Mailboxes'), 'title': _('Mailboxes'),
@ -447,7 +447,7 @@ class DatabasesView(ServiceListView):
class SaasListView(ServiceListView): class SaasListView(ServiceListView):
service_class = SaasService service_class = SaasService
model = SaaS model = SaaS
template_name = "musician/saas_list.html" template_name = "musician/saas.html"
extra_context = { extra_context = {
# Translators: This message appears on the page title # Translators: This message appears on the page title
'title': _('Software as a Service'), 'title': _('Software as a Service'),
@ -496,7 +496,7 @@ class DomainUpdateRecordView(CustomContextMixin, UserTokenRequiredMixin, UpdateV
class DomainDeleteRecordView(CustomContextMixin, UserTokenRequiredMixin, DeleteView): class DomainDeleteRecordView(CustomContextMixin, UserTokenRequiredMixin, DeleteView):
model = Record model = Record
template_name = "musician/record_check_delete.html" template_name = "musician/record_confirm_delete.html"
pk_url_kwarg = "record_pk" pk_url_kwarg = "record_pk"
def get_queryset(self): def get_queryset(self):
@ -545,7 +545,7 @@ class LoginView(FormView):
self.redirect_field_name, self.redirect_field_name,
self.request.GET.get(self.redirect_field_name, '') self.request.GET.get(self.redirect_field_name, '')
) )
url_is_safe = url_has_allowed_host_and_scheme( url_is_safe = is_safe_url(
url=redirect_to, url=redirect_to,
allowed_hosts={self.request.get_host()}, allowed_hosts={self.request.get_host()},
require_https=self.request.is_secure(), require_https=self.request.is_secure(),