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:
Roy Johnson 2006-06-15 18:18:19 +00:00
parent 349cf454e8
commit 72654a1b24
4 changed files with 49 additions and 18 deletions

View file

@ -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>
&bull; <a href="<tmpl_var export.tab.url>"><tmpl_var export.tab.label></a> &bull; <a href="<tmpl_var export.tab.url>"><tmpl_var export.tab.label></a>
<tmpl_if entryId> <tmpl_if hasEntries>
&bull; <a href="<tmpl_var delete.url>"><tmpl_var delete.label></a> &bull; <a href="<tmpl_var deleteAllEntries.url>" onclick="<tmpl_var javascript.confirmation.deleteAll>"><tmpl_var deleteAllEntries.label></a>
&bull; <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>
&bull; <a href="<tmpl_var addField.url>"><tmpl_var addField.label></a> &bull; <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{

View file

@ -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>
&bull; <a href="<tmpl_var export.tab.url>"><tmpl_var export.tab.label></a> &bull; <a href="<tmpl_var export.tab.url>"><tmpl_var export.tab.label></a>
<tmpl_if entryId> <tmpl_if entryId>
&bull; <a href="<tmpl_var delete.url>"><tmpl_var delete.label></a> &bull; <a href="<tmpl_var delete.url>" onclick="<tmpl_var javascript.confirmation.deleteOne>"><tmpl_var delete.label></a>
&bull; <a href="<tmpl_var deleteAllEntries.url>"><tmpl_var deleteAllEntries.label></a> </tmpl_if>
<tmpl_if hasEntries>
&bull; <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>
&bull; <a href="<tmpl_var addField.url>"><tmpl_var addField.label></a> &bull; <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{

View file

@ -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;
} }
#------------------------------------------------------------------- #-------------------------------------------------------------------

View file

@ -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