Skip to content

Commit

Permalink
added colors and bypass unrestricted in calendar portlet
Browse files Browse the repository at this point in the history
  • Loading branch information
Roberto Diaz committed Jul 23, 2018
1 parent 77896be commit 3ac3a6b
Show file tree
Hide file tree
Showing 6 changed files with 49 additions and 49 deletions.
2 changes: 1 addition & 1 deletion genweb/organs/browser/stylesheets/genweb_organs.css
Original file line number Diff line number Diff line change
Expand Up @@ -1976,7 +1976,7 @@ td.organevent.cal_has_events .popover-content a {
}

.cal_has_events {
background-color: #384e65;
background-color: #007BC0;
text-shadow: none;
cursor: pointer;
}
Expand Down
5 changes: 1 addition & 4 deletions genweb/organs/browser/viewlets_templates/header.pt
Original file line number Diff line number Diff line change
Expand Up @@ -53,11 +53,8 @@
Identifica't</tal:bk>
</a>
</li>
<!-- <li>
<tal:block replace="structure provider:genweb.search_manager" />
</li> -->
<li>
<a tal:attributes="href string:${portal_url}/${lang}/search"><i class="fa fa-search">&nbsp;<tal:bk i18n:translate="" i18n:domain="genweb.organs">Cercador</tal:bk></i></a>
<a tal:attributes="href string:${portal_url}/${lang}/search"><i class="fa fa-search" aria-hidden="true">&nbsp;<tal:bk i18n:translate="" i18n:domain="genweb.organs">Cercador</tal:bk></i></a>
</li>
</ul>

Expand Down
14 changes: 8 additions & 6 deletions genweb/organs/browser/views.py
Original file line number Diff line number Diff line change
Expand Up @@ -660,21 +660,23 @@ def year(self):
def sessions(self):
""" Returns sessions from organs marked as public fields,
bypassing security permissions """

values = api.content.find(
portal_type=['genweb.organs.organgovern'],
visiblefields=True,)

results = []
for item in values:
path = item.getPath()
sessions = api.content.find(
portal_type=['genweb.organs.sessio'],
path=path,
portal_catalog = getToolByName(self.context, 'portal_catalog')
sessions = portal_catalog.unrestrictedSearchResults(
portal_type='genweb.organs.sessio',
sort_on='start',
sort_order='reverse',)
sort_order='reverse',
path={'query': path,
'depth': 1})
current_year = datetime.datetime.now().strftime('%Y')
for session in sessions:
obj = session.getObject()
obj = session._unrestrictedGetObject()
event = IEventAccessor(obj)
if obj.start.strftime('%Y') == current_year:
results.append(dict(
Expand Down
2 changes: 1 addition & 1 deletion genweb/organs/locales/ca/LC_MESSAGES/genweb.organs.po
Original file line number Diff line number Diff line change
Expand Up @@ -372,7 +372,7 @@ msgstr "Esteu visualitzant la sessió amb el rol"

#: ./genweb/organs/content/organgovern.py:130
msgid "Events color help"
msgstr "Si està marcada la opció anterior, color amb el que es mostren les sessions d'aquest òrgan al calendari. Són vàlids tant els literals CSS (green) com els codis de colors HTML (#008000). En cas de no indicar cap color, s'utilitzarà el color per defecte del lloc web. Podeu trobar la llista de colors acceptats pels navegadors <a href='http://www.w3schools.com/colors/colors_names.asp' target='_blank'>aquí.</a>"
msgstr "Si està marcada la opció anterior, color amb el que es mostren les sessions d'aquest òrgan al calendari. Són vàlids tant els literals CSS (green) com els codis de colors HTML (#008000). En cas de no indicar cap color, s'utilitzarà el color per defecte #007BC0.<br/>Podeu trobar la llista de colors acceptats pels navegadors <a href='http://www.w3schools.com/colors/colors_names.asp' target='_blank'>aquí.</a>"

#: ./genweb/organs/browser/views/acta_preview.pt:57
#: ./genweb/organs/browser/views/acta_print.pt:74
Expand Down
11 changes: 6 additions & 5 deletions genweb/organs/portlets/portlet_calendar.pt
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
<div id="calendari" class="portlet portlet-calendari"
<div id="calendari" class="portlet portlet-calendari"
tal:define="year view/year;
portal_state context/@@plone_portal_state;
portal_url portal_state/portal_url;"
portal_url portal_state/portal_url;"
i18n:domain="plone">

<div>
Expand Down Expand Up @@ -64,10 +64,11 @@
</div>
<ul class="icons-ul">
<tal:block tal:repeat="events view/getDayEventsGroup">
<li style="border-left: 5px solid yellow;">
<p tal:repeat="event events/events">
<li tal:define="licolor events/color" tal:attributes="style string:border-left: 5px solid ${licolor}">
<p tal:repeat="event events/events">
<i class="fa fa-calendar"></i>&nbsp;
<a tal:attributes="href event/getURL" style="color: yellow;">
<a tal:attributes="href event/getURL;
style string:color:${event/color}">
<tal:event content="event/start"> 07/12 </tal:event>
<span tal:condition="event/end">
<span i18n:translate="" i18n:domain="genweb.organs"> to </span>
Expand Down
64 changes: 32 additions & 32 deletions genweb/organs/portlets/portlet_calendar.py
Original file line number Diff line number Diff line change
@@ -1,15 +1,13 @@
from Acquisition import aq_inner
from Products.CMFCore.utils import getToolByName
from Products.Five.browser.pagetemplatefile import ViewPageTemplateFile
from plone.app.event.base import RET_MODE_OBJECTS
from plone.app.event.base import first_weekday
from plone.app.event.base import get_events, construct_calendar
from plone.app.event.base import construct_calendar
from plone.app.event.base import localized_today
from plone.app.event.base import wkday_to_mon1
from plone.app.event.portlets import get_calendar_url
from plone.app.portlets import PloneMessageFactory as _
from plone.app.portlets.portlets import base
from plone.event.interfaces import IEventAccessor
from plone.portlets.interfaces import IPortletDataProvider
from zope.i18nmessageid import MessageFactory
from zope.interface import implements
Expand Down Expand Up @@ -138,15 +136,13 @@ def getDateEvents(self):
return dateEvent

def getNextThreeEvents(self):
context = aq_inner(self.context)
query_kw = {}

events = get_events(
context,
ret_mode=RET_MODE_OBJECTS,
expand=True,
path=self.get_public_organs_fields(),
**query_kw)
portal_catalog = getToolByName(self.context, 'portal_catalog')
items = portal_catalog.unrestrictedSearchResults(
portal_type='genweb.organs.sessio',
path=self.get_public_organs_fields())
events = []
for event in items:
events.append(event._unrestrictedGetObject())
events = self.filterNextEvents(events)
events = self.filterOccurrenceEvents(events)

Expand All @@ -166,6 +162,7 @@ def getEventCalendarDict(self, event):
start=start,
searchStart=searchStart,
end=end,
color=event.aq_parent.eventsColor,
community_name=event.aq_parent.aq_parent.title,
community_url=event.aq_parent.aq_parent.absolute_url())

Expand Down Expand Up @@ -211,7 +208,8 @@ def getDayEventsGroup(self):
community_url=events[0]['community_url'],
community_name=events[0]['community_name'],
num_events=len(events),
events=events))
events=events,
color=events[0]['color']))
return group_events
else:
return None
Expand All @@ -226,19 +224,23 @@ def getDayEvents(self, date):
return list_events

def getCalendarDict(self):
context = aq_inner(self.context)
# context = aq_inner(self.context)
year, month = self.year_month_display()
monthdates = [dat for dat in self.cal.itermonthdates(year, month)]

query_kw = {}
start = monthdates[0]
end = monthdates[-1]
events = get_events(context,
start=start - timedelta(days=30),
end=end,
ret_mode=RET_MODE_OBJECTS,
path=self.get_public_organs_fields(),
expand=True, **query_kw)

date_range_query = {'query': (start - timedelta(days=30), end), 'range': 'min:max'}
portal_catalog = getToolByName(self.context, 'portal_catalog')
items = portal_catalog.unrestrictedSearchResults(
portal_type='genweb.organs.sessio',
start=date_range_query,
path=self.get_public_organs_fields())
events = []
for event in items:
events.append(event._unrestrictedGetObject())

return construct_calendar(events, start=start, end=end)

@property
Expand All @@ -249,20 +251,18 @@ def cal_data(self):
today = localized_today(context)
year, month = self.year_month_display()
monthdates = [dat for dat in self.cal.itermonthdates(year, month)]

query_kw = {}

start = monthdates[0]
end = monthdates[-1]

events = get_events(
context,
start=start,
end=end,
ret_mode=RET_MODE_OBJECTS,
expand=True,
path=self.get_public_organs_fields(),
**query_kw)
date_range_query = {'query': (start, end), 'range': 'min:max'}
portal_catalog = getToolByName(self.context, 'portal_catalog')
items = portal_catalog.unrestrictedSearchResults(
portal_type='genweb.organs.sessio',
start=date_range_query,
path=self.get_public_organs_fields())
events = []
for event in items:
events.append(event._unrestrictedGetObject())

cal_dict = construct_calendar(events, start=start, end=end)

Expand Down

0 comments on commit 3ac3a6b

Please sign in to comment.