예제 #1
0
파일: views.py 프로젝트: fredagscafeen/web
    def form_valid(self, form):
        messages.success(self.request, "Profil opdateret")
        redirect_url = super().form_valid(form)

        if "deactivate" in self.request.POST:
            self.object.isActiveBartender = False
            self.object.save()
            active_count = Bartender.objects.filter(
                isActiveBartender=True).count()
            send_template_email(
                subject=f"Bartender har meldt sig inaktiv: {self.object.name}",
                body_template=f"""Dette er en automatisk email.

{self.object.name} har meldt sig inaktiv.

Der er nu {active_count} aktive bartendere.

/snek""",
                to=["*****@*****.**"],
            )
        elif "subscribe_maillist" in self.request.POST:
            self.object.add_to_mailing_list()
        elif "unsubscribe_maillist" in self.request.POST:
            self.object.remove_from_mailing_list()

        self.object.unavailable_dates.all().delete()
        for ordinal in self.request.POST.getlist("unavailable_ordinals"):
            date = datetime.date.fromordinal(int(ordinal))
            BartenderUnavailableDate(date=date, bartender=self.object).save()

        return redirect_url
예제 #2
0
    def send_reminder_email(self, bartenders, event):
        humanized_bartenders = self.humanized_bartenders(bartenders)

        send_template_email(
            subject=self.email_subject(humanized_bartenders, event),
            body_template=self.email_body(humanized_bartenders, event),
            text_format={},
            html_format={},
            to=self.filter_with_warning(bartenders),
            cc=["*****@*****.**"],
            reply_to=self.email_reply_to(),
        )

        print(
            f'Reminders sent to {", ".join(f"{b.name} ({b.email})" for b in bartenders if b.email)}!'
        )
예제 #3
0
    def send_email(self, next):
        email_address = self.cleaned_data["email"]

        email_token, _ = EmailToken.objects.get_or_create(email=email_address)

        url = urljoin(
            settings.SELF_URL,
            reverse("email_login", args=(email_address, email_token.token)),
        )
        if next:
            url += f"?next={next}"

        return send_template_email(
            subject="fredagscafeen.dk login",
            body_template="""{link} for at logge ind.

/snek""",
            text_format={"link": f"Gå ind på {url}"},
            html_format={"link": mark_safe(f'<a href="{url}">Klik her</a>')},
            to=[email_address],
        )
예제 #4
0
파일: forms.py 프로젝트: fredagscafeen/web
    def send_email(self, pk):
        d = self.cleaned_data

        url = urljoin(
            settings.SELF_URL,
            reverse("admin:udlejning_udlejningapplication_change",
                    args=(pk, )),
        )

        return send_template_email(
            subject=
            f'Ny anmodning om reservation af fadølsanlæg af {d["whoReserved"]}',
            body_template="""Dette er en automatisk email.

{whoReserved} har ansøgt om at låne et fadølsanlæg:
Dato: {dateFrom} til {dateTo}
Kontakt email: {contactEmail}
Kontakt telefonnummer: {contactPhone}
Betaler: {whoPays}
Betalingsform: {paymentType}
EAN-nummer: {EANnumber}
Lokation: {where}
Forventet forbrug: {expectedConsummation}
Kommentarer:
{comments}

Ansøgningen kan blive accepteret eller afvist i {link} ,
men husk at kontakte personen efter dette.
/snek""",
            text_format={
                "link": f"admin interfacet: {url}",
                **d
            },
            html_format={
                "link": mark_safe(f'<a href="{url}">admin interfacet</a>'),
                **d,
            },
            to=["*****@*****.**"],
        )
예제 #5
0
    def send_email(self, pk):
        d = self.cleaned_data

        url = urljoin(
            settings.SELF_URL,
            reverse("admin:bartenders_bartenderapplication_change", args=(pk,)),
        )

        extra_info = ""
        if d["info"]:
            extra_info = f"""
Ekstra information:
{d["info"]}
"""
        d["extra_info"] = extra_info

        return send_template_email(
            subject=f'Bartendertilmelding: {d["name"]}',
            body_template="""Dette er en automatisk email.

{name} har ansøgt om at blive bartender:
Navn: {name}
Brugernavn: {username}
Studienummer: {studentNumber}
Email: {email}
Telefonnummer: {phoneNumber}
{extra_info}
Ansøgningen kan blive accepteret eller afvist i {link}.

/snek""",
            text_format={"link": f"admin interfacet: {url}", **d},
            html_format={
                "link": mark_safe(f'<a href="{url}">admin interfacet</a>'),
                **d,
            },
            to=["*****@*****.**"],
        )
예제 #6
0
파일: models.py 프로젝트: fredagscafeen/web
    def _send_accept_email(self):
        URLS = [
            "barplan",
            "guides",
            "profile",
        ]

        text_format = {"name": self.name}
        html_format = {"name": self.name}

        for url_name in URLS:
            url = urljoin(settings.SELF_URL, reverse(url_name))
            link_name = f"{url_name}_link"
            text_format[link_name] = f"her: {url}"
            html_format[link_name] = mark_safe(f'<a href="{url}">her</a>')

        return send_template_email(
            subject=f"Bartendertilmelding: {self.name}",
            body_template="""Hej {name},

Din ansøgning om at blive bartender ved Fredagscaféen er blevet accepteret.
Scheduleren vil tildele dig barvagter, når den nye barplan bliver lavet.
Du kan se barplanen {barplan_link} og du kan markere, hvilke dage du ikke
kan stå i bar {profile_link}.
Du er blevet tilføjet til vores mailing liste ([email protected]).

Husk at læse bartenderguides'ne, som kan ses {guides_link}.

Ses i baren! :)

/Bestyrelsen""",
            text_format=text_format,
            html_format=html_format,
            to=[self.email],
            cc=["*****@*****.**"],
        )