Skip to content
This repository has been archived by the owner on Jan 16, 2023. It is now read-only.

Commit

Permalink
fix #30
Browse files Browse the repository at this point in the history
  • Loading branch information
Daniel Pollithy committed Sep 25, 2017
1 parent 06ed9bc commit 2732cf8
Show file tree
Hide file tree
Showing 3 changed files with 24 additions and 3 deletions.
20 changes: 20 additions & 0 deletions djangocms_reversion2/cms_toolbars.py
Expand Up @@ -7,15 +7,32 @@
from cms.toolbar_pool import toolbar_pool
from cms.toolbar_base import CMSToolbar

from djangocms_reversion2.utils import is_version_page


@toolbar_pool.register
class Reversion2sModifier(CMSToolbar):

def populate(self):
page = self.request.current_page

# if the current page is an archived page we want to disable the toolbar
is_archieved = is_version_page(page)
if is_archieved:
# disable all menus
for name, menu in self.request.toolbar.menus.items():
menu.disabled = True
# remove the publish button


if page and page.publisher_is_draft:
reversion_menu = self.toolbar.get_or_create_menu('djangocms_reversion2', _('Reversion'))

if is_archieved:
reversion_menu.add_item(LinkItem(_('This is an archieved version'), url=''))
return


reversion_menu.add_modal_item(
_('Create a snapshot of current page'),
url=self.get_url('admin:djangocms_reversion2_pageversion_add', query_args={'draft': page.id,
Expand Down Expand Up @@ -55,3 +72,6 @@ def get_url(self, viewname, arguments=None, query_args=None):
url=reverse(viewname=viewname, kwargs=arguments),
query=query_dict.urlencode()
)



4 changes: 3 additions & 1 deletion djangocms_reversion2/templates/admin/view_revision.html
Expand Up @@ -10,9 +10,11 @@

<script type="text/javascript">
function inject_code() {
var iframe_document = document.getElementById('myframe').contentWindow.document;
iframe_document = document.getElementById('myframe').contentWindow.document;
iframe_document.getElementsByClassName('cms-toolbar')[0].remove();
iframe_document.getElementsByClassName('cms-toolbar-trigger')[0].remove();
// monkey patch the missing CMS context
window.CMS = document.getElementById('myframe').contentWindow.CMS;
}
</script>

Expand Down
3 changes: 1 addition & 2 deletions setup.py
Expand Up @@ -21,9 +21,8 @@
'Topic :: Software Development :: Libraries :: Application Frameworks',
]

# ToDo: django>=1.8.17,<1.9 is <1.9 really a hard requirement?
REQUIREMENTS = [
'django>=1.8.17',
'django>=1.8.17,<1.9',
'django-cms>=3.4.3',
'diff-match-patch>=20110725.1',
'django-sekizai>=0.9.0'
Expand Down

0 comments on commit 2732cf8

Please sign in to comment.