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

@ -296,6 +296,17 @@ sub getListTemplateVars {
my @fieldLoop;
$var->{"back.url"} = $self->getFormUrl;
$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
where assetId=".$self->session->db->quote($self->getId)." order by sequenceNumber");
while (my $field = $fields->hashRef) {
@ -392,6 +403,11 @@ sub getRecordTemplateVars {
$var->{"back.label"} = $i18n->get(18);
$var->{"addField.url"} = $self->getUrl('func=editField');
$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
$var->{"addTab.label"}= $i18n->get(105);;
$var->{"addTab.url"}= $self->getUrl('func=editTab');
@ -511,6 +527,20 @@ sub getRecordTemplateVars {
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"));
}
#-------------------------------------------------------------------
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 {
my $self = shift;
return $self->session->privilege->insufficient() unless ($self->canEdit && $self->session->form->process("entryId")==$self->getId);
$self->session->db->write("delete from DataForm_entry where assetId=".$self->session->db->quote($self->getId));
return $self->session->privilege->insufficient() unless ($self->canEdit);
$self->session->db->write("delete from DataForm_entry where assetId=?",[$self->getId]);
return $self->www_view;
}
@ -723,6 +744,7 @@ sub www_deleteEntry {
my $entryId = $self->session->form->process("entryId");
$self->deleteCollateral("DataForm_entry","DataForm_entryId",$entryId);
$self->session->stow->set("mode","list");
return $self->www_view;
}
#-------------------------------------------------------------------

View file

@ -25,7 +25,14 @@ our $I18N = {
message => q|Field Name|,
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' => {
message => q|
<p>This Asset creates a simple multipurpose data-entry and display