Skip to content

Commit

Permalink
Issue 11 (#15)
Browse files Browse the repository at this point in the history
* Remove Grok at views and viewlets

* Remove dependency on plone.directives.form and latest traces of Grok

* Update changelog
  • Loading branch information
rodfersou authored and hvelarde committed Feb 13, 2017
1 parent 5a7ee1f commit 54ee7f2
Show file tree
Hide file tree
Showing 7 changed files with 63 additions and 36 deletions.
4 changes: 4 additions & 0 deletions CHANGES.rst
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,9 @@ There's a frood who really knows where his towel is.
1.0b4 (unreleased)
^^^^^^^^^^^^^^^^^^

- Remove dependency on five.grok (closes `#11`_).
[rodfersou]

- Remove hard dependency on plone.app.referenceablebehavior as Archetypes is no longer the default framework in Plone 5.
Under Plone < 5.0 you should now explicitly add it to the `eggs` part of your buildout configuration to avoid issues while upgrading.
[hvelarde]
Expand Down Expand Up @@ -88,3 +91,4 @@ There's a frood who really knows where his towel is.
.. _`#5`: https://github.com/simplesconsultoria/sc.blog/issues/5
.. _`#7`: https://github.com/simplesconsultoria/sc.blog/issues/7
.. _`#9`: https://github.com/simplesconsultoria/sc.blog/issues/9
.. _`#11`: https://github.com/simplesconsultoria/sc.blog/issues/11
5 changes: 2 additions & 3 deletions setup.py
Original file line number Diff line number Diff line change
Expand Up @@ -43,14 +43,13 @@
zip_safe=False,
install_requires=[
'plone.api',
'plone.app.dexterity [grok, relations]',
'plone.app.dexterity [relations]',
'plone.app.layout',
'plone.app.relationfield',
'plone.dexterity',
'plone.directives.dexterity',
'plone.directives.form',
'plone.i18n',
'plone.namedfile [blobs]',
'plone.supermodel',
'Products.CMFCore',
'Products.CMFPlone >=4.2',
'Products.GenericSetup',
Expand Down
38 changes: 15 additions & 23 deletions src/sc/blog/browser/blog.py
Original file line number Diff line number Diff line change
@@ -1,26 +1,19 @@
# -*- coding: utf-8 -*-
from Acquisition import aq_inner
from five import grok
from plone import api
from plone.app.layout.viewlets.interfaces import IAboveContent
from plone.directives import dexterity
from plone.app.layout.viewlets import ViewletBase
from Products.CMFCore.interfaces import ISiteRoot
from Products.Five.browser import BrowserView
from Products.Five.browser.pagetemplatefile import ViewPageTemplateFile
from sc.blog.config import BLOG_BLACKLISTED_TYPES
from sc.blog.content import IBlog
from sc.blog.interfaces import IBlogLayer
from zope.interface import Interface


grok.templatedir('templates')
class View(BrowserView):


class View(dexterity.DisplayForm):
"""Default view. Looks like a standard Folder Full View."""

grok.context(IBlog)
grok.layer(IBlogLayer)
grok.template('folder_full_view')
grok.require('zope2.View')
index = ViewPageTemplateFile('templates/folder_full_view.pt')

def get_blog_friendly_types(self):
"""Return the portal types than should be displayed as post entries
Expand All @@ -34,26 +27,25 @@ def get_blog_friendly_types(self):
blog_types = set(friendly_types) - set(BLOG_BLACKLISTED_TYPES)
return tuple(blog_types)

def __call__(self):
return self.index()


class BlogSummaryView(View):

"""Looks like a standard Folder Summary View."""

grok.context(IBlog)
grok.layer(IBlogLayer)
grok.name('blog_summary_view')
grok.template('folder_summary_view')
grok.require('zope2.View')
index = ViewPageTemplateFile('templates/folder_summary_view.pt')

def __call__(self):
return self.index()


class BlogHeader(ViewletBase):

class BlogHeader(grok.Viewlet):
"""A viewlet to include a header in the container (Blog) and contained
(News Article) elements.
"""
grok.name('sc.blog.blogheader')
grok.context(Interface)
grok.layer(IBlogLayer)
grok.require('zope2.View')
grok.viewletmanager(IAboveContent)

def update(self):
""" check if we are inside a Blog, if its true
Expand Down
33 changes: 33 additions & 0 deletions src/sc/blog/browser/configure.zcml
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
<configure
xmlns="http://namespaces.zope.org/zope"
xmlns:browser="http://namespaces.zope.org/browser"
xmlns:i18n="http://namespaces.zope.org/i18n"
xmlns:plone="http://namespaces.plone.org/plone"
i18n_domain="sc.blog">

<browser:page
for="..content.IBlog"
name="view"
class=".blog.View"
permission="zope2.View"
layer="..interfaces.IBlogLayer"
/>

<browser:page
for="..content.IBlog"
name="blog_summary_view"
class=".blog.BlogSummaryView"
permission="zope2.View"
layer="..interfaces.IBlogLayer"
/>

<browser:viewlet
name="sc.blog.blogheader"
manager="plone.app.layout.viewlets.interfaces.IAboveContent"
class=".blog.BlogHeader"
template="templates/blogheader.pt"
permission="zope2.View"
layer="..interfaces.IBlogLayer"
/>

</configure>
8 changes: 4 additions & 4 deletions src/sc/blog/browser/templates/blogheader.pt
Original file line number Diff line number Diff line change
Expand Up @@ -6,11 +6,11 @@
i18n:domain="sc.blog">
<body>

<tal:viewlet condition="viewlet/available">
<tal:viewlet condition="view/available">
<div id="blog-header"
tal:define="blog nocall:viewlet/blog;
tal:define="blog nocall:view/blog;
blog_title blog/Title;
blog_url viewlet/blog_url;
blog_url view/blog_url;
image nocall:blog/image|nothing;
scale blog/@@images">
<a href="" title="" tal:attributes="href blog_url; title blog_title">
Expand All @@ -23,4 +23,4 @@
</tal:viewlet>

</body>
</html>
</html>
3 changes: 1 addition & 2 deletions src/sc/blog/configure.zcml
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,6 @@
xmlns:five="http://namespaces.zope.org/five"
xmlns:i18n="http://namespaces.zope.org/i18n"
xmlns:genericsetup="http://namespaces.zope.org/genericsetup"
xmlns:grok="http://namespaces.zope.org/grok"
i18n_domain="sc.blog">

<includeDependencies package="." />
Expand All @@ -16,7 +15,7 @@
title="sc.blog: Add Blog"
/>

<grok:grok package="." />
<include package=".browser" />

<browser:resourceDirectory
name="sc.blog"
Expand Down
8 changes: 4 additions & 4 deletions src/sc/blog/content.py
Original file line number Diff line number Diff line change
@@ -1,13 +1,13 @@
# -*- coding: utf-8 -*-
from five import grok
from plone.dexterity.content import Container
from plone.directives import form
from plone.namedfile.field import NamedBlobImage
from plone.supermodel import model
from sc.blog import _
from zope import schema
from zope.interface import implementer


class IBlog(form.Schema):
class IBlog(model.Schema):
"""A Blog."""

author = schema.TextLine(
Expand All @@ -21,9 +21,9 @@ class IBlog(form.Schema):
)


@implementer(IBlog)
class Blog(Container):
"""A Blog."""
grok.implements(IBlog) # noqa: D001


def blog_added(ob, event):
Expand Down

0 comments on commit 54ee7f2

Please sign in to comment.