Skip to content

Commit

Permalink
send
Browse files Browse the repository at this point in the history
  • Loading branch information
mamico committed Aug 6, 2024
1 parent aa6d42c commit e7856c6
Show file tree
Hide file tree
Showing 22 changed files with 842 additions and 190 deletions.
1 change: 1 addition & 0 deletions setup.py
Original file line number Diff line number Diff line change
Expand Up @@ -70,6 +70,7 @@
"souper.plone",
"z3c.form",
"z3c.jbot",
"defusedcsv",
],
extras_require={
"test": [
Expand Down
14 changes: 13 additions & 1 deletion src/rer/ufficiostampa/browser/configure.zcml
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,7 @@
package="z3c.jbot"
file="meta.zcml"
/>

<browser:jbot
directory="overrides"
layer="rer.ufficiostampa.interfaces.IRerUfficiostampaLayer"
Expand All @@ -32,10 +33,20 @@
/>

<adapter
factory=".controlpanel.UfficiostampaConfigletPanel"
factory=".controlpanel.UfficiostampaSettingsConfigletPanel"
provides="rer.ufficiostampa.interfaces.settings.IUfficioStampaControlPanel"
name="rer.ufficiostampa" />

<adapter
factory=".controlpanel.UfficiostampaChannelsConfigletPanel"
provides="rer.ufficiostampa.interfaces.settings.IUfficioStampaManageChannels"
name="ufficiostampa-managechannels" />

<adapter
factory=".controlpanel.UfficiostampaHistoryConfigletPanel"
provides="rer.ufficiostampa.interfaces.settings.IUfficioStampaManageHistory"
name="ufficiostampa-managehistory" />

<browser:page
name="view"
for="rer.ufficiostampa.interfaces.IComunicatoStampa"
Expand Down Expand Up @@ -65,6 +76,7 @@
permission="rer.ufficiostampa.Send"
layer="rer.ufficiostampa.interfaces.IRerUfficiostampaLayer"
/>

<browser:page
name="send-preview"
for="rer.ufficiostampa.interfaces.IInvitoStampa"
Expand Down
30 changes: 29 additions & 1 deletion src/rer/ufficiostampa/browser/controlpanel.py
Original file line number Diff line number Diff line change
Expand Up @@ -90,7 +90,7 @@ def can_access_controlpanels(self):

@adapter(Interface, IRerUfficiostampaLayer)
@implementer(IUfficioStampaControlPanel)
class UfficiostampaConfigletPanel(RegistryConfigletPanel):
class UfficiostampaSettingsConfigletPanel(RegistryConfigletPanel):
"""Volto control panel"""

schema = IRerUfficiostampaSettings
Expand All @@ -99,3 +99,31 @@ class UfficiostampaConfigletPanel(RegistryConfigletPanel):
configlet_category_id = "Products"
title = _("Ufficio Stampa settings")
group = "Products"


@adapter(Interface, IRerUfficiostampaLayer)
@implementer(IUfficioStampaControlPanel)
class UfficiostampaChannelsConfigletPanel(RegistryConfigletPanel):
"""Volto control panel"""

schema = None
schema_prefix = None
configlet_id = "rer.ufficiostampa-managechannels"
configlet_category_id = "Products"
title = _("Ufficio Stampa - Geestione degli iscritti")
# TODO: definire un gruppo specifico per ufficio stampa ?
group = "Products"


@adapter(Interface, IRerUfficiostampaLayer)
@implementer(IUfficioStampaControlPanel)
class UfficiostampaHistoryConfigletPanel(RegistryConfigletPanel):
"""Volto control panel"""

schema = None
schema_prefix = None
configlet_id = "rer.ufficiostampa-managehistory"
configlet_category_id = "Products"
title = _("Ufficio Stampa - Strorico invio comunicati")
# TODO: definire un gruppo specifico per ufficio stampa ?
group = "Products"
3 changes: 2 additions & 1 deletion src/rer/ufficiostampa/browser/send_preview.py
Original file line number Diff line number Diff line change
Expand Up @@ -9,11 +9,12 @@

class View(BrowserView):
def get_html(self):
notes = self.request.form.get("notes")
return prepare_email_message(
context=self.context,
template="@@send_mail_template",
parameters={
"notes": "test notes",
"notes": notes,
"site_title": get_site_title(),
"date": DateTime(),
"folders": self.get_folders_attachments(),
Expand Down
71 changes: 12 additions & 59 deletions src/rer/ufficiostampa/browser/templates/send_mail_template.pt
Original file line number Diff line number Diff line change
@@ -1,3 +1,13 @@
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:i18n="http://xml.zope.org/namespaces/i18n"
xmlns:metal="http://xml.zope.org/namespaces/metal"
xmlns:tal="http://xml.zope.org/namespaces/tal"
lang="en"
xml:lang="en"
i18n:domain="rer.ufficiostampa"
tal:omit-tag=""
>
<tal:root define="
notes python:options.get('notes', '');
css python:options.get('css', '');
Expand All @@ -10,42 +20,14 @@
folders python:options.get('folders', '');
toLocalizedTime nocall:context/@@plone/toLocalizedTime;
"
i18n:domain="rer.ufficiostampa"
>
<style tal:condition="css">${css}</style>
<div class="comunicato-note"
tal:condition="notes"
tal:content="notes"
>
</div>
<div id="logo">
<img alt="Regione Emilia-Romagna"
src="${context/portal_url}/++plone++rer.ufficiostampa/logo_rer.gif"
i18n:attributes="alt"
i18n:translate=""
/>
<div i18n:translate="">Giunta Regionale - Agenzia di informazione e comunicazione</div>
</div>
<div class="infos">
<div class="comunicato-number"
tal:condition="python:comunicato_number and context.portal_type == 'ComunicatoStampa'"
i18n:translate=""
>
N. ${comunicato_number}
</div>
<div class="date"
i18n:translate="send_date_label"
>
Date
<b tal:content="python:toLocalizedTime(date, long_format=False)"
i18n:name="date"
></b>
</div>
<p i18n:translate="">
All'attenzione dei Capi redattori
</p>
</div>
<h1 class="comunicato-title"
<h1 class="comunicato-title"
tal:condition="title"
>${title}</h1>
<p class="comunicato-description"
Expand All @@ -70,35 +52,6 @@
</div>

<div id="footer">
<div class="other-news">
<p i18n:translate="">
Tutti i comunicati sono online su
<a href="https://notizie.regione.emilia-romagna.it"
title="Notizie Regione Emilia-Romagna"
i18n:attributes="title"
>https://notizie.regione.emilia-romagna.it</a>
</p>
<p i18n:translate="">
Seguici su Twitter (<a href="https://twitter.com/@RegioneER">@RegioneER</a>),
Facebook (<a href="https://www.facebook.com/RegioneEmiliaRomagna">@RegioneEmiliaRomagna</a>),
Instagram (<a href="https://www.instagram.com/regione_emiliaromagna">@regione_emiliaromagna</a>),
Linkedin (<a href="https://www.linkedin.com/company/regione-emilia-romagna">@regione-emilia-romagna</a>)
</p>
<p class="last-item-footer"
i18n:translate=""
>Segreteria di redazione tel.
<a href="tel:051-5275490"
i18n:translate=""
>051 5275490</a></p>
</div>
<div class="manage-subscriptions">
<p i18n:translate="manage_subscriptions_intro">
You are receiving this email because you are subscribed to
<b i18n:name="site_title">${site_title}</b>.
</p>
<a href="${context/portal_url}/cancel-subscriptions-request"
i18n:translate="delete_subscriptions_link"
>Unsubscribe</a>
</div>
</div>
</tal:root>
</html>
34 changes: 33 additions & 1 deletion src/rer/ufficiostampa/interfaces/settings.py
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,30 @@ class IRerUfficiostampaSettings(model.Schema):
required=False,
)

email_from_name = schema.TextLine(
title=_(
"email_from_name_label",
default="Email from name",
),
description=_(
"email_from_name_help",
default="Insert the name of the sender for emails.",
),
required=True,
)

email_from_address = schema.TextLine(
title=_(
"email_from_address_label",
default="Email from address",
),
description=_(
"email_from_address_help",
default="Insert the email address of the sender for emails.",
),
required=True,
)

subscription_channels = schema.List(
title=_("subscription_channels_label", default="Subscription Channels"),
description=_(
Expand Down Expand Up @@ -82,7 +106,7 @@ class IRerUfficiostampaSettings(model.Schema):
"css_styles_help",
default="Insert a list of CSS styles for received emails.",
),
required=True,
required=False,
)
comunicato_number = schema.Int(
title=_(
Expand Down Expand Up @@ -141,3 +165,11 @@ class ILegislaturesRowSchema(model.Schema):

class IUfficioStampaControlPanel(IControlpanel):
"""Control panel for Ufficio Stampa settings."""


class IUfficioStampaManageChannels(IControlpanel):
"""Schema for managing subscription channels."""


class IUfficioStampaManageHistory(IControlpanel):
"""Schema for managing subscription channels."""
48 changes: 37 additions & 11 deletions src/rer/ufficiostampa/profiles/default/controlpanel.xml
Original file line number Diff line number Diff line change
@@ -1,20 +1,46 @@
<?xml version="1.0" encoding="utf-8"?>
<object xmlns:i18n="http://xml.zope.org/namespaces/i18n"
name="portal_controlpanel"
i18n:domain="rer.ufficiostampa"
name="portal_controlpanel"
i18n:domain="rer.ufficiostampa"
>

<configlet action_id="rer.ufficiostampa"
appId="ufficiostampa"
category="Products"
condition_expr=""
icon_expr=""
title="Configurazione Ufficio Stampa"
url_expr="string:${portal_url}/@@ufficiostampa-settings"
visible="True"
i18n:attributes="title"
appId="ufficiostampa"
category="Products"
condition_expr=""
icon_expr=""
title="Configurazione Ufficio Stampa"
url_expr="string:${portal_url}/@@ufficiostampa-settings"
visible="True"
i18n:attributes="title"
>
<permission>rer.ufficiostampa: Manage Channels</permission>
</configlet>

<configlet action_id="rer.ufficiostampa-managechannels"
appId="ufficiostampa-managechannels"
category="Products"
condition_expr=""
icon_expr=""
title="Ufficio Stampa - Gestione Canali"
url_expr="string:${portal_url}/@@channels-management"
visible="True"
i18n:attributes="title"
>
<permission>rer.ufficiostampa: Manage Channels</permission>
</configlet>

<configlet action_id="rer.ufficiostampa-managehistory"
appId="ufficiostampa-managehistory"
category="Products"
condition_expr=""
icon_expr=""
title="Ufficio Stampa - Storico Invio Comunicati "
url_expr="string:${portal_url}/@@history-management"
visible="True"
i18n:attributes="title"
>
<permission>rer.ufficiostampa: Manage Channels</permission>
</configlet>
</object>

</object>
2 changes: 1 addition & 1 deletion src/rer/ufficiostampa/profiles/default/metadata.xml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<metadata>
<version>1400</version>
<version>2000</version>
<dependencies>
<!-- <dependency>profile-collective.z3cform.jsonwidget:default</dependency> -->
<dependency>profile-souper.plone:default</dependency>
Expand Down
12 changes: 12 additions & 0 deletions src/rer/ufficiostampa/profiles/uninstall/controlpanel.xml
Original file line number Diff line number Diff line change
Expand Up @@ -10,4 +10,16 @@
title="Configurazione Ufficio Stampa"
>
</configlet>
<configlet action_id="rer.ufficiostampa-managechannels"
appId="ufficiostampa-managechannels"
remove="True"
title="Ufficio Stampa - Gestione Canali"
>
</configlet>
<configlet action_id="rer.ufficiostampa-managehistory"
appId="ufficiostampa-managehistory"
remove="True"
title="Ufficio Stampa - Gestione Canali"
>
</configlet>
</object>
Loading

0 comments on commit e7856c6

Please sign in to comment.