Skip to content

Commit

Permalink
Plone app contenttypes 1 1 1 (#358)
Browse files Browse the repository at this point in the history
* plone.app.contenttypes para versão Plone (1.1.1)

Iniciando a troca de nomes das views como definido em

https://github.com/plone/plone.app.contenttypes/blob/1.1.1/plone/app/contenttypes/upgrades.py#L134

* Adiciona campo ateendees para o obj evento-1.

Evita o erro

plone.app.contenttypes-1.1.1-py2.7.egg/plone/app/contenttypes/migration/dxmigration.py", line 74, in migrate_schema_fields
    self.new.attendees = tuple(self.old.attendees.splitlines())
AttributeError: 'NoneType' object has no attribute 'splitlines'

ao rodar o upgradeStep. No caso, isso só é util se o usuário voltar a
rodar esse upgradeStep, pois para usuários que criam sites novos a
partir desse commit não terão esse problema.

* Pina plone.app.contenttypes.

Queremos evitar de pinar numa branch de portal.buildout para que no
futuro, caso seja necessário remontar esse ambiente com esse commit, não
dê erro na branch que terá sido excluída.

* Adiciona upgradeStep.

* Patch em migrate_schema_fields

Ao atualizar para plone.app.contenttypes 1.1.1, se você tiver um evento
criado pelo brasil.gov.portal sem attendees ou ter eventos criados pela
interface sem preencher o campo atteendes, dá erro na migração. Por isso
precisamos do patch.

* Melhora a documentação do migrate_schema_fields

* Adiciona Products.DateRecurringIndex no teste.

plone/plone.app.event#81 (comment)

* Adapta o nome das views para o padrão 1.1.1.

Com a atualização para o plone.app.contenttypes, houve mudança no nome
das views e foi necessária a sua adaptação, tanto nas templates quanto
na lógica dos overrides.zcml.

https://github.com/plone/plone.app.contenttypes/tree/1.1.1#user-content-differences-to-productsatcontenttypes

folder_listing_view (Folders) and collection_view (Collections) -> listing_view (Folders and Collections)
folder_summary_view (Folders) and summary_view (Collections) -> summary_view (Folders and Collections)
folder_tabular_view (Folders) and tabular_view (Collections) -> tabular_view (Folders and Collections)
folder_full_view (Folders) and all_content (Collections) -> full_view (Folders and Collections)
atct_album_view (Folders) and thumbnail_view (Collections) -> album_view (Folders and Collections)

* Coloca a url da branch.

Coloca a url da branch para poder passar no travis.

* Permite que os testes test_collection_summary_view e
test_collection_listing_view falhem.

test_collection_listing_view e test_collection_summary_view estão
falhando após plone.app.contenttypes >= 1.1.1

Ver: #359
  • Loading branch information
idgserpro authored and hvelarde committed Jul 7, 2017
1 parent 6271179 commit 9cb7649
Show file tree
Hide file tree
Showing 45 changed files with 468 additions and 131 deletions.
3 changes: 3 additions & 0 deletions CHANGES.rst
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,8 @@ Histórico de Alterações
ATENÇÃO: No momento de executar os upgradeSteps para esse release, os de
brasil.gov.portal devem ser os últimos a serem executados.

- Atualiza plone.app.contenttypes para a versão do Plone (1.1.1) (closes `#240`).

- Prepara pacote para ser compatível com novas versões de collective.nitf a
partir da versão 2.1b2. (closes `#349`).
[idgserpro]
Expand Down Expand Up @@ -502,6 +504,7 @@ Histórico de Alterações
.. _`#226`: https://github.com/plonegovbr/brasil.gov.portal/issues/226
.. _`#229`: https://github.com/plonegovbr/brasil.gov.portal/issues/229
.. _`#232`: https://github.com/plonegovbr/brasil.gov.portal/issues/232
.. _`#240`: https://github.com/plonegovbr/brasil.gov.portal/issues/240
.. _`#241`: https://github.com/plonegovbr/brasil.gov.portal/issues/241
.. _`#242`: https://github.com/plonegovbr/brasil.gov.portal/issues/242
.. _`#275`: https://github.com/plonegovbr/brasil.gov.portal/issues/275
Expand Down
14 changes: 14 additions & 0 deletions buildout.cfg
Original file line number Diff line number Diff line change
Expand Up @@ -4,18 +4,27 @@ extends =
https://raw.github.com/collective/buildout.plonetest/master/qa.cfg
https://raw.githubusercontent.com/plone/plone.app.robotframework/master/versions.cfg
https://raw.githubusercontent.com/plonegovbr/portal.buildout/master/buildout.d/versions.cfg
https://raw.githubusercontent.com/plonegovbr/portal.buildout/plone_app_contenttypes_1_1_1/buildout.d/versions.cfg

package-name = brasil.gov.portal
package-extras = [test]

parts +=
instance
code-analysis
createcoverage
node
omelette
rebuild_i18n-sh
precompile

[instance]
recipe = plone.recipe.zope2instance
# Com a atualização de plone.app.contenttypes, precisamos setar essa variável
# de ambiente.
environment-vars =
TZ America/Sao_Paulo

[code-analysis]
recipe = plone.recipe.codeanalysis
directory = ${buildout:directory}/src/brasil/gov/portal
Expand Down Expand Up @@ -52,3 +61,8 @@ compile-mo-files = true
# baixado de novo: o fato dele estar no src não impede o download
# dele de novo como um egg se ele estiver pinado no extends.
brasil.gov.portal =

# FIXME: Está aqui de forma temporária, isso deve ser pinado em
# portal.buildout.
brasil.gov.agenda = 1.1
plone.app.contenttypes = 1.1.1
7 changes: 5 additions & 2 deletions setup.py
Original file line number Diff line number Diff line change
Expand Up @@ -53,7 +53,8 @@
# do brasil.gov.tiles passa a ser essa.
'brasil.gov.tiles >= 1.4b1',
'brasil.gov.vcge',
'collective.cover > 1.0a8',
# Versão mínima requerida por brasil.gov.tiles.
'collective.cover > 1.3b1',
'collective.jsonmigrator',
# Imports como
# "from collective.nitf.browser import NITFBylineViewlet as CollectiveNITFBylineViewlet"
Expand All @@ -71,7 +72,9 @@
'five.grok',
'five.pt',
'plone.api > 1.1.0',
'plone.app.contenttypes',
# Passo a referenciar visões novas adicionadas nesse marco:
# https://github.com/plone/plone.app.contenttypes/blob/1.1.1/plone/app/contenttypes/upgrades.py#L153
'plone.app.contenttypes >= 1.1.1',
'plone.app.controlpanel',
'plone.app.dexterity',
'plone.app.layout',
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,9 +7,9 @@
i18n:domain="plone">
<body>
<metal:content-core fill-slot="content-core">
<metal:block use-macro="context/standard_view/macros/content-core">
<metal:block use-macro="context/listing_view/macros/content-core">
<metal:entries fill-slot="entries">
<metal:block use-macro="context/standard_view/macros/entries">
<metal:block use-macro="context/listing_view/macros/entries">
<metal:entry fill-slot="entry">
<div tal:attributes="class python:'tileItem visualIEFloatFix tile-%s' % normalizeString(item.portal_type);"
tal:define="obj item/getObject">
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -49,7 +49,7 @@

<fieldset id="folder-listing">
<legend i18n:translate="">Contents</legend>
<tal:block define="listing_macro context/folder_listing/macros/listing;
<tal:block define="listing_macro context/listing_view/macros/listing;
contentFilter python:{'portal_type': ['File', 'Link']}">
<metal:use_macro use-macro="listing_macro" />
</tal:block>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -93,7 +93,7 @@
<fieldset id="folder-listing"
tal:condition="python:not ajax_load and not context.is_empty()">
<legend i18n:translate="">Contents</legend>
<tal:block define="listing_macro context/folder_listing/macros/listing;
<tal:block define="listing_macro context/listing_view/macros/listing;
contentFilter python:{'portal_type': ['File', 'Link']}">
<metal:use_macro use-macro="listing_macro" />
</tal:block>
Expand Down
116 changes: 89 additions & 27 deletions src/brasil/gov/portal/browser/plone/configure.zcml
Original file line number Diff line number Diff line change
Expand Up @@ -43,16 +43,6 @@
layer="brasil.gov.portal.interfaces.IBrasilGov"
/>

<browser:page
name="folder_summary_view"
for="plone.app.contenttypes.interfaces.IFolder"
layer="plone.app.contenttypes.interfaces.IPloneAppContenttypesLayer"
template="templates/folder_summary_view.pt"
permission="zope2.View"
menu="plone_displayviews"
title="Summary view"
/>

<browser:page
name="portal_settings"
for="*"
Expand All @@ -72,38 +62,110 @@
title="View Image"
/>

<browser:viewlet
name="plone.htmlhead.title"
manager="plone.app.layout.viewlets.interfaces.IHtmlHead"
class=".title.TitleViewlet"
permission="zope2.View"
/>

<!--INICIO Customização plone.app.contenttypes
Para maiores explicações e detalhes sobre essas customizações, veja o
arquivo overrides.zcml.
FIXME: Com a mudança dos nomes das views, também mudar depois o nome do
.pt da customização para ficar mais consistente. Seria uma boa idéia
no commit colocar o de/para.-->
<!-- VIEWS FOR PLONE SITE ROOT -->
<browser:pages
for="Products.CMFPlone.interfaces.IPloneSiteRoot"
class="plone.app.contenttypes.browser.folder.FolderView"
layer="plone.app.contenttypes.interfaces.IPloneAppContenttypesLayer"
permission="zope2.View">
<browser:page
name="folder_listing"
for="plone.app.contenttypes.interfaces.IFolder"
layer="plone.app.contenttypes.interfaces.IPloneAppContenttypesLayer"
name="listing_view"
template="templates/folder_listing.pt"
permission="zope2.View"
menu="plone_displayviews"
title="Standard view"
/>

<browser:page
name="standard_view"
permission="zope2.View"
for="plone.app.contenttypes.interfaces.ICollection"
template="templates/standard_view.pt"
name="summary_view"
template="templates/folder_summary_view.pt"
menu="plone_displayviews"
title="Summary view"
/>
<browser:page
name="tabular_view"
template="templates/folder_tabular_view.pt"
menu="plone_displayviews"
title="Tabular view"
/>
</browser:pages>


<!-- VIEWS FOR FOLDERS -->
<browser:pages
for="plone.dexterity.interfaces.IDexterityContainer"
class="plone.app.contenttypes.browser.folder.FolderView"
layer="plone.app.contenttypes.interfaces.IPloneAppContenttypesLayer"
permission="zope2.View">
<browser:page
name="folder_tabular_view"
for="plone.app.contenttypes.interfaces.IFolder"
layer="plone.app.contenttypes.interfaces.IPloneAppContenttypesLayer"
name="listing_view"
template="templates/folder_listing.pt"
menu="plone_displayviews"
title="Standard view"
/>
<browser:page
name="summary_view"
template="templates/folder_summary_view.pt"
menu="plone_displayviews"
title="Summary view"
/>
<browser:page
name="tabular_view"
template="templates/folder_tabular_view.pt"
permission="zope2.View"
menu="plone_displayviews"
title="Tabular view"
/>
</browser:pages>

<browser:viewlet
name="plone.htmlhead.title"
manager="plone.app.layout.viewlets.interfaces.IHtmlHead"
class=".title.TitleViewlet"

<!-- VIEWS FOR COLLECTION ITEM -->
<browser:page
name="listing_view"
for="plone.app.contenttypes.interfaces.ICollection"
class="plone.app.contenttypes.browser.collection.CollectionView"
layer="plone.app.contenttypes.interfaces.IPloneAppContenttypesLayer"
template="templates/folder_listing.pt"
permission="zope2.View"
/>

<!-- VIEWS FOR ANYTHING WITH THE COLLECTION BEHAVIOR.
Note that these ignore other fields, but integrators should
create other themplates if they want that. Or improve the
query view widget. -->
<browser:pages
for="plone.app.contenttypes.behaviors.collection.ISyndicatableCollection"
class="plone.app.contenttypes.browser.collection.CollectionView"
layer="plone.app.contenttypes.interfaces.IPloneAppContenttypesLayer"
permission="zope2.View">
<browser:page
name="listing_view"
template="templates/folder_listing.pt"
menu="plone_displayviews"
title="Standard view"
/>
<browser:page
name="summary_view"
template="templates/folder_summary_view.pt"
menu="plone_displayviews"
title="Summary view"
/>
<browser:page
name="tabular_view"
template="templates/folder_tabular_view.pt"
menu="plone_displayviews"
title="Tabular view"
/>
</browser:pages>
<!--FIM Customização plone.app.contenttypes-->
</configure>

0 comments on commit 9cb7649

Please sign in to comment.