add saving of columns (#3776)
This commit is contained in:
parent
391d8146d2
commit
a73622a17e
|
@ -30,6 +30,11 @@ class ICollection(model.Schema):
|
|||
required=False,
|
||||
)
|
||||
|
||||
extra_columns = schema.List(
|
||||
title=u'Extra columns',
|
||||
value_type=schema.TextLine(),
|
||||
required=False)
|
||||
|
||||
sort_on = schema.TextLine(default=u'sortable_title')
|
||||
sort_reversed = schema.Bool(default=False)
|
||||
|
||||
|
@ -91,6 +96,9 @@ class View(form.DisplayForm):
|
|||
def search_uri(self):
|
||||
return api.portal.get().absolute_url() + '/pfwbsearch'
|
||||
|
||||
def extra_columns(self):
|
||||
return ':'.join(self.context.extra_columns or [])
|
||||
|
||||
def save_form(self):
|
||||
f = SaveForm(api.portal.get(), self.request)
|
||||
f.update()
|
||||
|
@ -115,6 +123,7 @@ class View(form.DisplayForm):
|
|||
new_dict[unicode(key, 'utf-8')] = [unicode(x, 'utf-8') for x in value]
|
||||
else:
|
||||
new_dict[unicode(key, 'utf-8')] = unicode(value, 'utf-8')
|
||||
self.context.extra_columns = [x for x in self.request.form.get('form-extra-columns', '').split(':') if x]
|
||||
self.context.sort_on = self.request.form.get('form.widgets.sort_on')
|
||||
self.context.sort_reversed = (self.request.form.get('form.widgets.sort_reversed') and
|
||||
'selected' in self.request.form.get('form.widgets.sort_reversed'))
|
||||
|
|
|
@ -53,8 +53,17 @@
|
|||
if ($('#table-batchSize').val()) {
|
||||
query += '&table-batchSize=' + $('#table-batchSize').val();
|
||||
}
|
||||
if ($('#table-extra-columns').val()) {
|
||||
query += '&table-extra-columns=' + $('#table-extra-columns').val();
|
||||
|
||||
|
||||
var query_extra_columns = '';
|
||||
if ($('#table-extra-columns').length) {
|
||||
query_extra_columns = $('#table-extra-columns').val();
|
||||
} else if ($('#orig-extra-columns').val()) {
|
||||
query_extra_columns = $('#orig-extra-columns').val();
|
||||
}
|
||||
$('#form-extra-columns').val(query_extra_columns);
|
||||
if (query_extra_columns) {
|
||||
query += '&table-extra-columns=' + query_extra_columns;
|
||||
}
|
||||
$.get(query, {}, function (data) {
|
||||
$('#searchresults').html(data);
|
||||
|
@ -180,6 +189,8 @@ function select_metatype(elem)
|
|||
}
|
||||
});
|
||||
|
||||
/* install callbacks */
|
||||
|
||||
$('.metatypes button').click(function() {
|
||||
select_metatype($(this));
|
||||
update_portaltypes();
|
||||
|
@ -236,11 +247,12 @@ function select_metatype(elem)
|
|||
$(this).parent().find('div.criteria-content').toggle('slide');
|
||||
});
|
||||
|
||||
$('portaltype-pfwbgedcollection #plone-contentmenu-actions-save').click(function() {
|
||||
$('.portaltype-pfwbgedcollection #plone-contentmenu-actions-save').click(function() {
|
||||
$('button[name="save"]').click();
|
||||
return false;
|
||||
});
|
||||
$('portaltype-pfwbgedcollection #plone-contentmenu-actions-saveas').click(function() {
|
||||
$('.portaltype-pfwbgedcollection #plone-contentmenu-actions-saveas').click(function() {
|
||||
$('#criterias-form').attr('action', $('#criterias-form').data('saveas'));
|
||||
$('#contentActionMenus .actionMenu .actionMenuHeader a')[0].click()
|
||||
$('.save-as-widgets').show();
|
||||
$('.save-as-widgets div').show();
|
||||
|
|
|
@ -72,6 +72,7 @@ class SearchForm(form.Form):
|
|||
item = createContentInContainer(location, 'pfwbgedcollection',
|
||||
title=data.get('title'),
|
||||
query=data.get('query'),
|
||||
extra_columns=[x for x in self.request.form.get('form-extra-columns', '').split(':') if x],
|
||||
sort_on=data.get('sort_on'),
|
||||
sort_reversed=data.get('sort_reversed'))
|
||||
self.request.response.redirect(item.absolute_url())
|
||||
|
|
|
@ -15,12 +15,13 @@
|
|||
<p class="documentDescription" tal:content="context/description" />
|
||||
<div tal:replace="structure provider:plone.abovecontentbody" />
|
||||
|
||||
<form tal:attributes="action view/search_uri">
|
||||
<form id="criterias-form" tal:attributes="data-saveas view/search_uri">
|
||||
|
||||
<div metal:use-macro="view/criterias_template/macros/criterias">
|
||||
</div>
|
||||
|
||||
<div style="display:none">
|
||||
<input id="orig-extra-columns" tal:attributes="value view/extra_columns"/>
|
||||
<div tal:content="structure view/w/query/render"/>
|
||||
<div tal:content="structure view/w/sort_on/render"/>
|
||||
<div tal:content="structure view/w/sort_reversed/render"/>
|
||||
|
|
|
@ -79,6 +79,8 @@
|
|||
</div>
|
||||
</fieldset>
|
||||
|
||||
<input type="hidden" name="form-extra-columns" id="form-extra-columns"/>
|
||||
|
||||
</div>
|
||||
|
||||
</body>
|
||||
|
|
Reference in New Issue