backoffice: add link to management page (#54935)
gitea-wip/wcs/pipeline/head Build started...
Details
gitea-wip/wcs/pipeline/head Build started...
Details
This commit is contained in:
parent
16604d04a9
commit
37647b2651
|
@ -516,3 +516,17 @@ def test_carddef_usage(pub):
|
|||
user_formdef = UserFieldsFormDef(pub)
|
||||
user_formdef.fields = []
|
||||
user_formdef.store()
|
||||
|
||||
|
||||
def test_card_management_view(pub):
|
||||
create_superuser(pub)
|
||||
|
||||
CardDef.wipe()
|
||||
carddef = CardDef()
|
||||
carddef.name = 'foo'
|
||||
carddef.fields = []
|
||||
carddef.store()
|
||||
|
||||
app = login(get_app(pub))
|
||||
resp = app.get('/backoffice/cards/1/')
|
||||
assert 'backoffice/data/foo/' in resp
|
||||
|
|
|
@ -2335,6 +2335,21 @@ def test_form_public_url(pub):
|
|||
assert 'http://example.net/form-title/' in resp.text
|
||||
|
||||
|
||||
def test_form_management_view(pub):
|
||||
create_superuser(pub)
|
||||
create_role(pub)
|
||||
|
||||
FormDef.wipe()
|
||||
formdef = FormDef()
|
||||
formdef.name = 'form title'
|
||||
formdef.fields = []
|
||||
formdef.store()
|
||||
|
||||
app = login(get_app(pub))
|
||||
resp = app.get('/backoffice/forms/1/')
|
||||
assert 'backoffice/management/form-title/' in resp
|
||||
|
||||
|
||||
def test_form_archive(pub):
|
||||
create_superuser(pub)
|
||||
create_role(pub)
|
||||
|
|
|
@ -581,6 +581,7 @@ class FormDefPage(Directory):
|
|||
'The form has been successfully overwritten. '
|
||||
'Do note it kept its existing address and role and workflow parameters.'
|
||||
)
|
||||
readonly_message = _('This form is readonly.')
|
||||
|
||||
def __init__(self, component, instance=None):
|
||||
try:
|
||||
|
@ -856,7 +857,7 @@ class FormDefPage(Directory):
|
|||
def get_sidebar(self):
|
||||
r = TemplateIO(html=True)
|
||||
if self.formdef.is_readonly():
|
||||
r += htmltext('<div class="infonotice"><p>%s</p></div>') % _('This form is readonly.')
|
||||
r += htmltext('<div class="infonotice"><p>%s</p></div>') % self.readonly_message
|
||||
r += utils.snapshot_info_block(snapshot=self.formdef.snapshot_object)
|
||||
return r.getvalue()
|
||||
r += htmltext('<ul id="sidebar-actions">')
|
||||
|
@ -867,21 +868,28 @@ class FormDefPage(Directory):
|
|||
if get_publisher().snapshot_class:
|
||||
r += htmltext('<li><a rel="popup" href="history/save">%s</a></li>') % _('Save snapshot')
|
||||
r += htmltext('<li><a href="history/">%s</a></li>') % _('History')
|
||||
if not get_publisher().is_using_postgresql():
|
||||
if not get_publisher().is_using_postgresql() and self.formdef_class == FormDef:
|
||||
r += htmltext('<li><a href="archive">%s</a></li>') % _('Archive')
|
||||
r += htmltext('</ul>')
|
||||
|
||||
r += htmltext('<ul>')
|
||||
if self.formdef.is_disabled():
|
||||
if self.formdef_class == FormDef:
|
||||
if self.formdef.is_disabled():
|
||||
r += htmltext('<li><a href="%s">%s</a></li>') % (
|
||||
self.formdef.get_url(preview=True),
|
||||
_('Preview Online'),
|
||||
)
|
||||
else:
|
||||
r += htmltext('<li><a href="%s">%s</a></li>') % (self.formdef.get_url(), _('Display Online'))
|
||||
r += htmltext('<li><a href="public-url" rel="popup">%s</a></li>') % _('Display public URL')
|
||||
if qrcode is not None:
|
||||
r += htmltext('<li><a href="qrcode" rel="popup">%s</a></li>') % _('Display QR Code')
|
||||
user = get_request().user
|
||||
if user.is_admin or self.formdef.is_of_concern_for_user(user):
|
||||
r += htmltext('<li><a href="%s">%s</a></li>') % (
|
||||
self.formdef.get_url(preview=True),
|
||||
_('Preview Online'),
|
||||
self.formdef.get_url(backoffice=True),
|
||||
_('Management view'),
|
||||
)
|
||||
else:
|
||||
r += htmltext('<li><a href="%s">%s</a></li>') % (self.formdef.get_url(), _('Display Online'))
|
||||
r += htmltext('<li><a href="public-url" rel="popup">%s</a></li>') % _('Display public URL')
|
||||
if qrcode is not None:
|
||||
r += htmltext('<li><a href="qrcode" rel="popup">%s</a></li>') % _('Display QR Code')
|
||||
r += htmltext('</ul>')
|
||||
r += LoggedErrorsDirectory.errors_block(formdef_class=self.formdef_class, formdef_id=self.formdef.id)
|
||||
return r.getvalue()
|
||||
|
|
|
@ -21,7 +21,6 @@ from quixote.html import TemplateIO, htmltext
|
|||
from wcs.admin import utils
|
||||
from wcs.admin.categories import CardDefCategoriesDirectory
|
||||
from wcs.admin.forms import FormDefPage, FormDefUI, FormsDirectory, OptionsDirectory, html_top
|
||||
from wcs.admin.logged_errors import LoggedErrorsDirectory
|
||||
from wcs.carddef import CardDef
|
||||
from wcs.categories import CardDefCategory
|
||||
from wcs.workflows import Workflow
|
||||
|
@ -58,6 +57,7 @@ class CardDefPage(FormDefPage):
|
|||
'The card model has been successfully overwritten. '
|
||||
'Do note it kept its existing address and role and workflow parameters.'
|
||||
)
|
||||
readonly_message = _('This card model is readonly.')
|
||||
|
||||
def html_top(self, title):
|
||||
return html_top('cards', title)
|
||||
|
@ -209,25 +209,6 @@ class CardDefPage(FormDefPage):
|
|||
self.formdefui.formdef.store()
|
||||
return response
|
||||
|
||||
def get_sidebar(self):
|
||||
r = TemplateIO(html=True)
|
||||
if self.formdef.is_readonly():
|
||||
r += htmltext('<div class="infonotice"><p>%s</p></div>') % _('This card model is readonly.')
|
||||
r += utils.snapshot_info_block(snapshot=self.formdef.snapshot_object)
|
||||
return r.getvalue()
|
||||
r += htmltext('<ul id="sidebar-actions">')
|
||||
r += htmltext('<li><a href="delete" rel="popup">%s</a></li>') % _('Delete')
|
||||
r += htmltext('<li><a href="duplicate">%s</a></li>') % _('Duplicate')
|
||||
r += htmltext('<li><a rel="popup" href="overwrite">%s</a></li>') % _('Overwrite with new import')
|
||||
r += htmltext('<li><a href="export">%s</a></li>') % _('Export')
|
||||
if get_publisher().snapshot_class:
|
||||
r += htmltext('<li><a rel="popup" href="history/save">%s</a></li>') % _('Save snapshot')
|
||||
r += htmltext('<li><a href="history/">%s</a></li>') % _('History')
|
||||
r += htmltext('</ul>')
|
||||
|
||||
r += LoggedErrorsDirectory.errors_block(formdef_class=self.formdef_class, formdef_id=self.formdef.id)
|
||||
return r.getvalue()
|
||||
|
||||
def get_check_count_before_deletion_message(self):
|
||||
if not get_publisher().is_using_postgresql():
|
||||
return None
|
||||
|
|
Loading…
Reference in New Issue