Exposed new template variables to the DataForm
Added Delete confirmation prompts for deleting data form entries and deleting all entries Fixed deleteEntry method to return the view instead of a blank page. Removed deleteAllEntries method because nothing was using it Fixed deleteAllEntriesConfirm method Added hasEntries method Adjusted Dataform view templates to use new vars
This commit is contained in:
parent
349cf454e8
commit
72654a1b24
4 changed files with 49 additions and 18 deletions
|
|
@ -6,11 +6,9 @@
|
||||||
|
|
||||||
<tmpl_if canEdit>
|
<tmpl_if canEdit>
|
||||||
<div class="dataControls">
|
<div class="dataControls">
|
||||||
<a href="<tmpl_var entryList.url>"><tmpl_var entryList.label></a>
|
|
||||||
• <a href="<tmpl_var export.tab.url>"><tmpl_var export.tab.label></a>
|
• <a href="<tmpl_var export.tab.url>"><tmpl_var export.tab.label></a>
|
||||||
<tmpl_if entryId>
|
<tmpl_if hasEntries>
|
||||||
• <a href="<tmpl_var delete.url>"><tmpl_var delete.label></a>
|
• <a href="<tmpl_var deleteAllEntries.url>" onclick="<tmpl_var javascript.confirmation.deleteAll>"><tmpl_var deleteAllEntries.label></a>
|
||||||
• <a href="<tmpl_var deleteAllEntries.url>"><tmpl_var deleteAllEntries.label></a>
|
|
||||||
</tmpl_if>
|
</tmpl_if>
|
||||||
<tmpl_if session.var.adminOn>
|
<tmpl_if session.var.adminOn>
|
||||||
• <a href="<tmpl_var addField.url>"><tmpl_var addField.label></a>
|
• <a href="<tmpl_var addField.url>"><tmpl_var addField.label></a>
|
||||||
|
|
@ -41,6 +39,7 @@
|
||||||
</tr>
|
</tr>
|
||||||
</tmpl_loop record_loop>
|
</tmpl_loop record_loop>
|
||||||
</table>
|
</table>
|
||||||
|
|
||||||
~~~
|
~~~
|
||||||
<style type="text/css">
|
<style type="text/css">
|
||||||
h2{
|
h2{
|
||||||
|
|
|
||||||
|
|
@ -27,8 +27,10 @@
|
||||||
<a href="<tmpl_var entryList.url>"><tmpl_var entryList.label></a>
|
<a href="<tmpl_var entryList.url>"><tmpl_var entryList.label></a>
|
||||||
• <a href="<tmpl_var export.tab.url>"><tmpl_var export.tab.label></a>
|
• <a href="<tmpl_var export.tab.url>"><tmpl_var export.tab.label></a>
|
||||||
<tmpl_if entryId>
|
<tmpl_if entryId>
|
||||||
• <a href="<tmpl_var delete.url>"><tmpl_var delete.label></a>
|
• <a href="<tmpl_var delete.url>" onclick="<tmpl_var javascript.confirmation.deleteOne>"><tmpl_var delete.label></a>
|
||||||
• <a href="<tmpl_var deleteAllEntries.url>"><tmpl_var deleteAllEntries.label></a>
|
</tmpl_if>
|
||||||
|
<tmpl_if hasEntries>
|
||||||
|
• <a href="<tmpl_var deleteAllEntries.url>" onclick="<tmpl_var javascript.confirmation.deleteAll>"><tmpl_var deleteAllEntries.label></a>
|
||||||
</tmpl_if>
|
</tmpl_if>
|
||||||
<tmpl_if session.var.adminOn>
|
<tmpl_if session.var.adminOn>
|
||||||
• <a href="<tmpl_var addField.url>"><tmpl_var addField.label></a>
|
• <a href="<tmpl_var addField.url>"><tmpl_var addField.label></a>
|
||||||
|
|
@ -68,6 +70,7 @@
|
||||||
<br />
|
<br />
|
||||||
<tmpl_var form.save>
|
<tmpl_var form.save>
|
||||||
<tmpl_var form.end>
|
<tmpl_var form.end>
|
||||||
|
|
||||||
~~~
|
~~~
|
||||||
<style type="text/css">
|
<style type="text/css">
|
||||||
h2{
|
h2{
|
||||||
|
|
|
||||||
|
|
@ -296,6 +296,17 @@ sub getListTemplateVars {
|
||||||
my @fieldLoop;
|
my @fieldLoop;
|
||||||
$var->{"back.url"} = $self->getFormUrl;
|
$var->{"back.url"} = $self->getFormUrl;
|
||||||
$var->{"back.label"} = $i18n->get('go to form');
|
$var->{"back.label"} = $i18n->get('go to form');
|
||||||
|
$var->{"deleteAllEntries.url"} = $self->getUrl("func=deleteAllEntriesConfirm");
|
||||||
|
$var->{"javascript.confirmation.deleteAll"} = sprintf("return confirm('%s');",$i18n->get('confirm delete all'));
|
||||||
|
$var->{"deleteAllEntries.label"} = $i18n->get(91);
|
||||||
|
$var->{"hasEntries"} = $self->hasEntries;
|
||||||
|
$var->{canEdit} = ($self->canEdit);
|
||||||
|
$var->{"export.tab.url"} = $self->getUrl('func=exportTab');
|
||||||
|
$var->{"export.tab.label"} = $i18n->get(84);
|
||||||
|
$var->{"addField.url"} = $self->getUrl('func=editField');
|
||||||
|
$var->{"addField.label"} = $i18n->get(76);
|
||||||
|
$var->{"addTab.label"}= $i18n->get(105);;
|
||||||
|
$var->{"addTab.url"}= $self->getUrl('func=editTab');
|
||||||
my $fields = $self->session->db->read("select DataForm_fieldId,name,label,isMailField,type from DataForm_field
|
my $fields = $self->session->db->read("select DataForm_fieldId,name,label,isMailField,type from DataForm_field
|
||||||
where assetId=".$self->session->db->quote($self->getId)." order by sequenceNumber");
|
where assetId=".$self->session->db->quote($self->getId)." order by sequenceNumber");
|
||||||
while (my $field = $fields->hashRef) {
|
while (my $field = $fields->hashRef) {
|
||||||
|
|
@ -392,6 +403,11 @@ sub getRecordTemplateVars {
|
||||||
$var->{"back.label"} = $i18n->get(18);
|
$var->{"back.label"} = $i18n->get(18);
|
||||||
$var->{"addField.url"} = $self->getUrl('func=editField');
|
$var->{"addField.url"} = $self->getUrl('func=editField');
|
||||||
$var->{"addField.label"} = $i18n->get(76);
|
$var->{"addField.label"} = $i18n->get(76);
|
||||||
|
$var->{"deleteAllEntries.url"} = $self->getUrl("func=deleteAllEntriesConfirm");
|
||||||
|
$var->{"deleteAllEntries.label"} = $i18n->get(91);
|
||||||
|
$var->{"javascript.confirmation.deleteAll"} = sprintf("return confirm('%s');",$i18n->get('confirm delete all'));
|
||||||
|
$var->{"javascript.confirmation.deleteOne"} = sprintf("return confirm('%s');",$i18n->get('confirm delete one'));
|
||||||
|
$var->{"hasEntries"} = $self->hasEntries;
|
||||||
# add Tab label, url, header and init
|
# add Tab label, url, header and init
|
||||||
$var->{"addTab.label"}= $i18n->get(105);;
|
$var->{"addTab.label"}= $i18n->get(105);;
|
||||||
$var->{"addTab.url"}= $self->getUrl('func=editTab');
|
$var->{"addTab.url"}= $self->getUrl('func=editTab');
|
||||||
|
|
@ -511,6 +527,20 @@ sub getRecordTemplateVars {
|
||||||
return $var;
|
return $var;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#-------------------------------------------------------------------
|
||||||
|
|
||||||
|
=head2 hasEntries ( )
|
||||||
|
|
||||||
|
Returns number of entries that exist for this dataform.
|
||||||
|
|
||||||
|
=cut
|
||||||
|
|
||||||
|
sub hasEntries {
|
||||||
|
my $self = shift;
|
||||||
|
my ($entryCount) = $self->session->db->quickArray("select count(*) from DataForm_entry where assetId=?",[$self->getId]);
|
||||||
|
|
||||||
|
return $entryCount;
|
||||||
|
}
|
||||||
|
|
||||||
#-------------------------------------------------------------------
|
#-------------------------------------------------------------------
|
||||||
|
|
||||||
|
|
@ -698,20 +728,11 @@ sub viewForm {
|
||||||
return $self->processTemplate($var,$self->get("templateId"));
|
return $self->processTemplate($var,$self->get("templateId"));
|
||||||
}
|
}
|
||||||
|
|
||||||
#-------------------------------------------------------------------
|
|
||||||
sub www_deleteAllEntries {
|
|
||||||
my $self = shift;
|
|
||||||
return $self->session->privilege->insufficient() unless $self->canEdit;
|
|
||||||
my $assetId = $self->session->form->process("entryId");
|
|
||||||
$self->deleteCollateral("DataForm_entry","assetId",$assetId);
|
|
||||||
$self->session->stow->set("mode","list");
|
|
||||||
}
|
|
||||||
|
|
||||||
#-------------------------------------------------------------------
|
#-------------------------------------------------------------------
|
||||||
sub www_deleteAllEntriesConfirm {
|
sub www_deleteAllEntriesConfirm {
|
||||||
my $self = shift;
|
my $self = shift;
|
||||||
return $self->session->privilege->insufficient() unless ($self->canEdit && $self->session->form->process("entryId")==$self->getId);
|
return $self->session->privilege->insufficient() unless ($self->canEdit);
|
||||||
$self->session->db->write("delete from DataForm_entry where assetId=".$self->session->db->quote($self->getId));
|
$self->session->db->write("delete from DataForm_entry where assetId=?",[$self->getId]);
|
||||||
return $self->www_view;
|
return $self->www_view;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -723,6 +744,7 @@ sub www_deleteEntry {
|
||||||
my $entryId = $self->session->form->process("entryId");
|
my $entryId = $self->session->form->process("entryId");
|
||||||
$self->deleteCollateral("DataForm_entry","DataForm_entryId",$entryId);
|
$self->deleteCollateral("DataForm_entry","DataForm_entryId",$entryId);
|
||||||
$self->session->stow->set("mode","list");
|
$self->session->stow->set("mode","list");
|
||||||
|
return $self->www_view;
|
||||||
}
|
}
|
||||||
|
|
||||||
#-------------------------------------------------------------------
|
#-------------------------------------------------------------------
|
||||||
|
|
|
||||||
|
|
@ -25,7 +25,14 @@ our $I18N = {
|
||||||
message => q|Field Name|,
|
message => q|Field Name|,
|
||||||
lastUpdated => 1031514049
|
lastUpdated => 1031514049
|
||||||
},
|
},
|
||||||
|
'confirm delete all' => {
|
||||||
|
message => q|Are you sure you want to DELETE all of this Data Form\'s entries permanently?|,
|
||||||
|
lastUpdated => 1031514049
|
||||||
|
},
|
||||||
|
'confirm delete one' => {
|
||||||
|
message => q|Are you sure you want to DELETE this entry permanently?|,
|
||||||
|
lastUpdated => 1031514049
|
||||||
|
},
|
||||||
'71' => {
|
'71' => {
|
||||||
message => q|
|
message => q|
|
||||||
<p>This Asset creates a simple multipurpose data-entry and display
|
<p>This Asset creates a simple multipurpose data-entry and display
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue