add Tab (first revision)
This commit is contained in:
parent
2a6143b36d
commit
6b1d239962
2 changed files with 224 additions and 24 deletions
|
|
@ -309,4 +309,24 @@ UPDATE userProfileData set fieldData = '2' where fieldName = 'richEditor' and fi
|
|||
UPDATE userProfileData set fieldData = '3' where fieldName = 'richEditor' and fieldData = 'midas';
|
||||
UPDATE userProfileData set fieldData = '4' where fieldName = 'richEditor' and fieldData = 'classic';
|
||||
UPDATE userProfileData set fieldData = '5' where fieldName = 'richEditor' and fieldData = 'lastResort';
|
||||
|
||||
-- DataForm
|
||||
CREATE TABLE DataForm_tab (
|
||||
wobjectId int(11) NOT NULL default '0',
|
||||
label varchar(255) NOT NULL default '',
|
||||
subtext text,
|
||||
sequenceNumber int(11) NOT NULL default '0',
|
||||
DataForm_tabId int(11) NOT NULL default '0'
|
||||
) TYPE=MyISAM;
|
||||
ALTER TABLE DataForm_field ADD(DataForm_tabId int(11) NOT NULL default '0');
|
||||
DELETE FROM template WHERE namespace = 'DataForm' and templateId = 1;
|
||||
INSERT INTO incrementer VALUES ('DataForm_tabId',1000);
|
||||
INSERT INTO international VALUES (106,'DataForm',1,'Tab Template',NULL,NULL);
|
||||
INSERT INTO international VALUES (105,'DataForm',1,'Add a Tab',NULL,NULL);
|
||||
INSERT INTO international VALUES (104,'DataForm',1,'Tab',NULL,NULL);
|
||||
INSERT INTO international VALUES (103,'DataForm',1,'Add new Tab',NULL,NULL);
|
||||
INSERT INTO international VALUES (102,'DataForm',1,'Subtext',NULL,NULL);
|
||||
INSERT INTO international VALUES (101,'DataForm',1,'Label',NULL,NULL);
|
||||
INSERT INTO international VALUES (100,'DataForm',1,'Are you certain that you want to delete this tab ?',NULL,NULL);
|
||||
INSERT INTO template VALUES (1,'Mail Form','<tmpl_if displayTitle>\r\n <h1><tmpl_var title></h1>\r\n</tmpl_if>\r\n\r\n<tmpl_if error_loop>\r\n<ul>\r\n<tmpl_loop error_loop>\r\n <li><b><tmpl_var error.message></b>\r\n</tmpl_loop>\r\n</ul>\r\n</tmpl_if>\r\n\r\n<tmpl_if description>\r\n <tmpl_var description><p />\r\n</tmpl_if>\r\n\r\n<tmpl_if canEdit>\r\n <a href=\"<tmpl_var entryList.url>\"><tmpl_var entryList.label></a>\r\n · <a href=\"<tmpl_var export.tab.url>\"><tmpl_var export.tab.label></a>\r\n <tmpl_if entryId>\r\n · <a href=\"<tmpl_var delete.url>\"><tmpl_var delete.label></a>\r\n </tmpl_if>\r\n <tmpl_if session.var.adminOn>\r\n · <a href=\"<tmpl_var addField.url>\"><tmpl_var addField.label></a>\r\n · <a href=\"<tmpl_var addTab.url>\"><tmpl_var addTab.label></a>\r\n </tmpl_if>\r\n <p /> \r\n</tmpl_if>\r\n\r\n<tmpl_var form.start>\r\n<table>\r\n<tmpl_loop field_loop>\r\n <tmpl_unless field.isHidden>\r\n <tr><td class=\"formDescription\" valign=\"top\">\r\n <tmpl_if session.var.adminOn><tmpl_if canEdit><tmpl_var field.controls></tmpl_if></tmpl_if>\r\n <tmpl_var field.label>\r\n </td><td class=\"tableData\" valign=\"top\">\r\n <tmpl_if field.isDisplayed>\r\n <tmpl_var field.value>\r\n <tmpl_else>\r\n <tmpl_var field.form>\r\n </tmpl_if>\r\n <tmpl_if field.required>*</tmpl_if>\r\n <span class=\"formSubtext\"><br /><tmpl_var field.subtext></span>\r\n </td></tr>\r\n </tmpl_unless>\r\n</tmpl_loop>\r\n<tr><td></td><td><tmpl_var form.send></td></tr>\r\n</table>\r\n\r\n<tmpl_var form.end>\r\n','DataForm');
|
||||
INSERT INTO template VALUES (4,'Tab Form','<tmpl_if displayTitle>\r\n <h1><tmpl_var title></h1>\r\n</tmpl_if>\r\n\r\n<tmpl_if error_loop>\r\n <ul>\r\n <tmpl_loop error_loop>\r\n <li><b><tmpl_var error.message></b>\r\n </tmpl_loop>\r\n </ul>\r\n</tmpl_if>\r\n\r\n<tmpl_if description>\r\n <tmpl_var description><p />\r\n</tmpl_if>\r\n\r\n<tmpl_if canEdit>\r\n <a href=\"<tmpl_var entryList.url>\"><tmpl_var entryList.label></a>\r\n · <a href=\"<tmpl_var export.tab.url>\"><tmpl_var export.tab.label></a>\r\n <tmpl_if entryId>\r\n · <a href=\"<tmpl_var delete.url>\"><tmpl_var delete.label></a>\r\n </tmpl_if>\r\n <tmpl_if session.var.adminOn>\r\n · <a href=\"<tmpl_var addField.url>\"><tmpl_var addField.label></a>\r\n · <a href=\"<tmpl_var addTab.url>\"><tmpl_var addTab.label></a>\r\n </tmpl_if>\r\n<p /> \r\n</tmpl_if>\r\n<tmpl_var form.start>\r\n<link href=\"/extras/tabs/tabs.css\" rel=\"stylesheet\" rev=\"stylesheet\" type=\"text/css\">\r\n<div class=\"tabs\">\r\n <tmpl_loop tab_loop>\r\n <span onclick=\"toggleTab(<tmpl_var tab.sequence>)\" id=\"tab<tmpl_var tab.sequence>\" class=\"tab\"><tmpl_var tab.label>\r\n <tmpl_if session.var.adminOn>\r\n <tmpl_if canEdit>\r\n <tmpl_var tab.controls>\r\n </tmpl_if>\r\n </tmpl_if>\r\n </span>\r\n </tmpl_loop>\r\n</div>\r\n<tmpl_loop tab_loop>\r\n <tmpl_var tab.start>\r\n <table>\r\n <tmpl_loop tab.field_loop>\r\n <tmpl_unless tab.field.isHidden>\r\n <tr>\r\n <td class=\"formDescription\" valign=\"top\">\r\n <tmpl_if session.var.adminOn>\r\n <tmpl_if canEdit>\r\n <tmpl_var tab.field.controls>\r\n </tmpl_if>\r\n </tmpl_if>\r\n <tmpl_var tab.field.label>\r\n </td>\r\n <td class=\"tableData\" valign=\"top\">\r\n <tmpl_if tab.field.isDisplayed>\r\n <tmpl_var tab.field.value>\r\n <tmpl_else>\r\n <tmpl_var tab.field.form>\r\n </tmpl_if>\r\n <tmpl_if tab.field.isRequired>*</tmpl_if>\r\n <span class=\"formSubtext\">\r\n <br />\r\n <tmpl_var tab.field.subtext>\r\n </span>\r\n </td>\r\n </tr>\r\n </tmpl_unless>\r\n </tmpl_loop>\r\n <tr>\r\n <td colspan=\"2\">\r\n <span class=\"tabSubtext\"><tmpl_var tab.subtext></span>\r\n </td>\r\n </tr>\r\n </table>\r\n <br>\r\n <div><input type=\"submit\" value=\"save\"></div>\r\n <tmpl_var tab.end>\r\n</tmpl_loop>\r\n<tmpl_var tab.init>\r\n<tmpl_var form.end>\r\n','DataForm');
|
||||
-- DataForm
|
||||
|
|
|
|||
|
|
@ -24,6 +24,7 @@ use WebGUI::MessageLog;
|
|||
use WebGUI::Privilege;
|
||||
use WebGUI::Session;
|
||||
use WebGUI::SQL;
|
||||
use WebGUI::TabForm;
|
||||
use WebGUI::URL;
|
||||
use WebGUI::Wobject;
|
||||
use WebGUI::Utility;
|
||||
|
|
@ -81,11 +82,31 @@ sub _createField {
|
|||
#-------------------------------------------------------------------
|
||||
sub _fieldAdminIcons {
|
||||
my $fid = $_[1];
|
||||
my $tid = $_[2];
|
||||
my $output;
|
||||
$output = deleteIcon('func=deleteField&wid='.$_[0]->get("wobjectId").'&fid='.$fid) unless ($_[2]);
|
||||
$output .= editIcon('func=editField&wid='.$_[0]->get("wobjectId").'&fid='.$fid)
|
||||
.moveUpIcon('func=moveFieldUp&wid='.$_[0]->get("wobjectId").'&fid='.$fid)
|
||||
.moveDownIcon('func=moveFieldDown&wid='.$_[0]->get("wobjectId").'&fid='.$fid);
|
||||
$output = deleteIcon('func=deleteField&wid='.$_[0]->get("wobjectId").'&fid='.$fid.'&tid='.$tid) unless ($_[3]);
|
||||
$output .= editIcon('func=editField&wid='.$_[0]->get("wobjectId").'&fid='.$fid.'&tid='.$tid)
|
||||
.moveUpIcon('func=moveFieldUp&wid='.$_[0]->get("wobjectId").'&fid='.$fid.'&tid='.$tid)
|
||||
.moveDownIcon('func=moveFieldDown&wid='.$_[0]->get("wobjectId").'&fid='.$fid.'&tid='.$tid);
|
||||
return $output;
|
||||
}
|
||||
#-------------------------------------------------------------------
|
||||
sub _tabAdminIcons {
|
||||
my $tid = $_[1];
|
||||
my $output;
|
||||
$output = deleteIcon('func=deleteTab&wid='.$_[0]->get("wobjectId").'&tid='.$tid) unless ($_[2]);
|
||||
$output .= editIcon('func=editTab&wid='.$_[0]->get("wobjectId").'&tid='.$tid)
|
||||
.moveLeftIcon('func=moveTabLeft&wid='.$_[0]->get("wobjectId").'&tid='.$tid)
|
||||
.moveRightIcon('func=moveTabRight&wid='.$_[0]->get("wobjectId").'&tid='.$tid);
|
||||
return $output;
|
||||
}
|
||||
|
||||
|
||||
#-------------------------------------------------------------------
|
||||
sub _createTabInit {
|
||||
my $wid = $_[0];
|
||||
my @tabCount = WebGUI::SQL->quickArray("select count(DataForm_tabId) from DataForm_tab where wobjectId=$wid");
|
||||
my $output = '<script type="text/javascript"> var numberOfTabs = '.$tabCount[0].'; initTabs();</script>';
|
||||
return $output;
|
||||
}
|
||||
|
||||
|
|
@ -172,13 +193,17 @@ sub getRecordTemplateVars {
|
|||
$var->{"back.label"} = WebGUI::International::get(18,$self->get("namespace"));
|
||||
$var->{"addField.url"} = WebGUI::URL::page('func=editField&wid='.$self->get("wobjectId"));
|
||||
$var->{"addField.label"} = WebGUI::International::get(76,$self->get("namespace"));
|
||||
# add Tab label, url, header and init
|
||||
$var->{"addTab.label"}= WebGUI::International::get(105,$self->get("namespace"));;
|
||||
$var->{"addTab.url"}= WebGUI::URL::page('func=editTab&wid='.$self->get("wobjectId"));
|
||||
$var->{"tab.init"}= _createTabInit($self->get("wobjectId"));
|
||||
$var->{"form.start"} = WebGUI::Form::formHeader()
|
||||
.WebGUI::Form::hidden({name=>"wid",value=>$self->get("wobjectId")})
|
||||
.WebGUI::Form::hidden({name=>"func",value=>"process"});
|
||||
my @fields;
|
||||
my $where = "where a.wobjectId=".$self->get("wobjectId");
|
||||
my $select = "select a.name, a.DataForm_fieldId, a.label, a.status, a.isMailField, a.subtext, a.type, a.defaultValue, a.possibleValues, a.width, a.rows";
|
||||
my @tabs;
|
||||
my $select = "select a.name, a.DataForm_fieldId, a.DataForm_tabId,a.label, a.status, a.isMailField, a.subtext, a.type, a.defaultValue, a.possibleValues, a.width, a.rows";
|
||||
my $join;
|
||||
my $where = "where a.wobjectId=".$self->get("wobjectId");
|
||||
if ($var->{entryId}) {
|
||||
$var->{"form.start"} .= WebGUI::Form::hidden({name=>"entryId",value=>$var->{entryId}});
|
||||
my $entry = $self->getCollateral("DataForm_entry","DataForm_entryId",$var->{entryId});
|
||||
|
|
@ -194,36 +219,85 @@ sub getRecordTemplateVars {
|
|||
}
|
||||
my %data;
|
||||
tie %data, 'Tie::CPHash';
|
||||
my $sth = WebGUI::SQL->read("$select from DataForm_field as a $join $where order by a.sequenceNumber");
|
||||
my %tab;
|
||||
tie %tab, 'Tie::CPHash';
|
||||
my $tabsth = WebGUI::SQL->read("select * from DataForm_tab where wobjectId=".$self->get("wobjectId")." order by sequenceNumber");
|
||||
while (%tab = $tabsth->hash) {
|
||||
my @fields;
|
||||
my $sth = WebGUI::SQL->read("$select from DataForm_field as a $join $where and a.DataForm_tabId=".$tab{DataForm_tabId}." order by a.sequenceNumber");
|
||||
while (%data = $sth->hash) {
|
||||
my $formValue = $session{form}{$data{name}};
|
||||
if ((not exists $data{value}) && $session{form}{func} ne "editSave" && $session{form}{func} ne "editFieldSave" && defined $formValue) {
|
||||
$data{value} = $formValue;
|
||||
$data{value} = WebGUI::DateTime::setToEpoch($data{value}) if ($data{type} eq "date");
|
||||
}
|
||||
if (not exists $data{value}) {
|
||||
$data{value} = WebGUI::Macro::process($data{defaultValue});
|
||||
}
|
||||
my $hidden = (($data{status} eq "hidden" && !$session{var}{adminOn}) || ($data{isMailField} && !$self->get("mailData")));
|
||||
my $value = $data{value};
|
||||
$value = WebGUI::DateTime::epochToHuman($value,"%z") if ($data{type} eq "date");
|
||||
$value = WebGUI::DateTime::epochToHuman($value) if ($data{type} eq "dateTime");
|
||||
push(@fields,{
|
||||
"tab.field.form" => _createField(\%data),
|
||||
"tab.field.name" => $data{name},
|
||||
"tab.field.tid" => $data{DataForm_tabId},
|
||||
"tab.field.value" => $value,
|
||||
"tab.field.label" => $data{label},
|
||||
"tab.field.isMailField" => $data{isMailField},
|
||||
"tab.field.isHidden" => $hidden,
|
||||
"tab.field.isDisplayed" => ($data{status} eq "visible" && !$hidden),
|
||||
"tab.field.isRequired" => ($data{status} eq "required" && !$hidden),
|
||||
"tab.field.subtext" => $data{subtext},
|
||||
"tab.field.controls" => $self->_fieldAdminIcons($data{DataForm_fieldId},$data{DataForm_tabId},$data{isMailField})
|
||||
});
|
||||
}
|
||||
$sth->finish;
|
||||
push(@tabs,{
|
||||
"tab.start" => '<div id="tabcontent'.$tab{sequenceNumber}.'" class="tabBody">',
|
||||
"tab.end" =>'</div>',
|
||||
"tab.sequence" => $tab{sequenceNumber},
|
||||
"tab.label" => $tab{label},
|
||||
"tab.tid" => $tab{DataForm_tabId},
|
||||
"tab.subtext" => $tab{subtext},
|
||||
"tab.controls" => $self->_tabAdminIcons($tab{DataForm_tabId}),
|
||||
"tab.field_loop" => \@fields
|
||||
});
|
||||
}
|
||||
|
||||
my @fields;
|
||||
my $sth = WebGUI::SQL->read("$select from DataForm_field as a $join $where and a.DataForm_tabId = 0 order by a.sequenceNumber");
|
||||
while (%data = $sth->hash) {
|
||||
my $formValue = $session{form}{$data{name}};
|
||||
if ((not exists $data{value}) && $session{form}{func} ne "editSave" && $session{form}{func} ne "editFieldSave" && defined $formValue) {
|
||||
$data{value} = $formValue;
|
||||
$data{value} = WebGUI::DateTime::setToEpoch($data{value}) if ($data{type} eq "date");
|
||||
}
|
||||
if (not exists $data{value}) {
|
||||
$data{value} = WebGUI::Macro::process($data{defaultValue});
|
||||
}
|
||||
$data{value} = $formValue;
|
||||
$data{value} = WebGUI::DateTime::setToEpoch($data{value}) if ($data{type} eq "date");
|
||||
}
|
||||
if (not exists $data{value}) {
|
||||
$data{value} = WebGUI::Macro::process($data{defaultValue});
|
||||
}
|
||||
my $hidden = (($data{status} eq "hidden" && !$session{var}{adminOn}) || ($data{isMailField} && !$self->get("mailData")));
|
||||
my $value = $data{value};
|
||||
$value = WebGUI::DateTime::epochToHuman($value,"%z") if ($data{type} eq "date");
|
||||
$value = WebGUI::DateTime::epochToHuman($value) if ($data{type} eq "dateTime");
|
||||
$value = WebGUI::DateTime::epochToHuman($value,"%z") if ($data{type} eq "date");
|
||||
$value = WebGUI::DateTime::epochToHuman($value) if ($data{type} eq "dateTime");
|
||||
push(@fields,{
|
||||
"field.form" => _createField(\%data),
|
||||
"field.name" => $data{name},
|
||||
"field.tid" => $data{DataForm_tabId},
|
||||
"field.value" => $value,
|
||||
"field.label" => $data{label},
|
||||
"field.isMailField" => $data{isMailField},
|
||||
"field.isHidden" => $hidden,
|
||||
"field.isDisplayed" => ($data{status} eq "visible" && !$hidden),
|
||||
"field.isEditable" => ($data{status} eq "editable" && !$hidden),
|
||||
"field.isRequired" => ($data{status} eq "required" && !$hidden),
|
||||
"field.subtext" => $data{subtext},
|
||||
"field.controls" => $self->_fieldAdminIcons($data{DataForm_fieldId},$data{isMailField})
|
||||
});
|
||||
"field.controls" => $self->_fieldAdminIcons($data{DataForm_fieldId},$data{DataForm_tabId},$data{isMailField})
|
||||
});
|
||||
}
|
||||
$sth->finish;
|
||||
$var->{field_loop} = \@fields;
|
||||
$tabsth->finish;
|
||||
$var->{tab_loop} = \@tabs;
|
||||
$var->{"form.send"} = WebGUI::Form::submit({value=>WebGUI::International::get(73, $self->get("namespace"))});
|
||||
$var->{"form.save"} = WebGUI::Form::submit();
|
||||
$var->{"form.end"} = "</form>";
|
||||
|
|
@ -266,6 +340,7 @@ sub purge {
|
|||
WebGUI::SQL->write("delete from DataForm_field where wobjectId=".$_[0]->get("wobjectId"));
|
||||
WebGUI::SQL->write("delete from DataForm_entry where wobjectId=".$_[0]->get("wobjectId"));
|
||||
WebGUI::SQL->write("delete from DataForm_entryData where wobjectId=".$_[0]->get("wobjectId"));
|
||||
WebGUI::SQL->write("delete from DataForm_tab where wobjectId=".$_[0]->get("wobjectId"));
|
||||
$_[0]->SUPER::purge();
|
||||
}
|
||||
|
||||
|
|
@ -339,6 +414,22 @@ sub www_deleteFieldConfirm {
|
|||
return "";
|
||||
}
|
||||
|
||||
#-------------------------------------------------------------------
|
||||
sub www_deleteTab {
|
||||
return WebGUI::Privilege::insufficient() unless (WebGUI::Privilege::canEditWobject($_[0]->get("wobjectId")));
|
||||
return $_[0]->confirm(WebGUI::International::get(100,$_[0]->get("namespace")),
|
||||
WebGUI::URL::page('func=deleteTabConfirm&wid='.$_[0]->get("wobjectId").'&tid='.$session{form}{tid}));
|
||||
}
|
||||
|
||||
#-------------------------------------------------------------------
|
||||
sub www_deleteTabConfirm {
|
||||
return WebGUI::Privilege::insufficient() unless (WebGUI::Privilege::canEditWobject($_[0]->get("wobjectId")));
|
||||
$_[0]->deleteCollateral("DataForm_tab","DataForm_tabId",$session{form}{tid});
|
||||
$_[0]->deleteCollateral("DataForm_field","DataForm_tabId",$session{form}{tid});
|
||||
$_[0]->reorderCollateral("DataForm_tab","DataForm_tabId");
|
||||
return "";
|
||||
}
|
||||
|
||||
#-------------------------------------------------------------------
|
||||
sub www_edit {
|
||||
my $layout = WebGUI::HTMLForm->new;
|
||||
|
|
@ -454,7 +545,7 @@ sub www_editSave {
|
|||
sub www_editField {
|
||||
return WebGUI::Privilege::insufficient() unless (WebGUI::Privilege::canEditWobject($_[0]->get("wobjectId")));
|
||||
$session{page}{useAdminStyle} = 1;
|
||||
my ($output, %field, $f, %fieldStatus);
|
||||
my ($output, %field, $f, %fieldStatus,$tab);
|
||||
tie %field, 'Tie::CPHash';
|
||||
tie %fieldStatus, 'Tie::IxHash';
|
||||
|
||||
|
|
@ -468,6 +559,7 @@ sub www_editField {
|
|||
unless ($session{form}{fid} eq "new") {
|
||||
%field = WebGUI::SQL->quickHash("select * from DataForm_field where DataForm_fieldId=$session{form}{fid}");
|
||||
}
|
||||
$tab = WebGUI::SQL->buildHashRef("select DataForm_tabId,label from DataForm_tab where wobjectId=".$_[0]->get("wobjectId"));
|
||||
$output = helpIcon(2,$_[0]->get("namespace"));
|
||||
$output .= '<h1>'.WebGUI::International::get(20,$_[0]->get("namespace")).'</h1>';
|
||||
$f = WebGUI::HTMLForm->new;
|
||||
|
|
@ -484,6 +576,12 @@ sub www_editField {
|
|||
-label=>WebGUI::International::get(21,$_[0]->get("namespace")),
|
||||
-value=>$field{name}
|
||||
);
|
||||
$f->select(
|
||||
-name=>"tid",
|
||||
-options=>$tab,
|
||||
-label=>WebGUI::International::get(104,$_[0]->get("namespace")),
|
||||
-value=>[ $field{DataForm_tabId}]
|
||||
);
|
||||
$f->text(
|
||||
-name=>"subtext",
|
||||
-value=>$field{subtext},
|
||||
|
|
@ -541,6 +639,7 @@ sub www_editField {
|
|||
sub www_editFieldSave {
|
||||
return WebGUI::Privilege::insufficient() unless (WebGUI::Privilege::canEditWobject($_[0]->get("wobjectId")));
|
||||
$session{form}{name} = $session{form}{label} if ($session{form}{name} eq "");
|
||||
$session{form}{tid} = "0" if ($session{form}{tid} eq "");
|
||||
$session{form}{name} = WebGUI::URL::urlize($session{form}{name});
|
||||
$session{form}{name} =~ s/\-//g;
|
||||
$session{form}{name} =~ s/\///g;
|
||||
|
|
@ -549,13 +648,15 @@ sub www_editFieldSave {
|
|||
width=>$session{form}{width},
|
||||
name=>$session{form}{name},
|
||||
label=>$session{form}{label},
|
||||
DataForm_tabId=>$session{form}{tid},
|
||||
status=>$session{form}{status},
|
||||
type=>$session{form}{type},
|
||||
possibleValues=>$session{form}{possibleValues},
|
||||
defaultValue=>$session{form}{defaultValue},
|
||||
subtext=>$session{form}{subtext},
|
||||
rows=>$session{form}{rows}
|
||||
});
|
||||
}, "1","1", "DataForm_tabId",$session{form}{tid});
|
||||
$_[0]->reorderCollateral("DataForm_field","DataForm_fieldId", "DataForm_tabId",$session{form}{tid}) if ($session{form}{fid} ne "new");
|
||||
if ($session{form}{proceed} eq "addField") {
|
||||
$session{form}{fid} = "new";
|
||||
return $_[0]->www_editField();
|
||||
|
|
@ -563,6 +664,68 @@ sub www_editFieldSave {
|
|||
return "";
|
||||
}
|
||||
|
||||
#-------------------------------------------------------------------
|
||||
sub www_editTab {
|
||||
return WebGUI::Privilege::insufficient() unless (WebGUI::Privilege::canEditWobject($_[0]->get("wobjectId")));
|
||||
$session{page}{useAdminStyle} = 1;
|
||||
my ($output, %tab, $f);
|
||||
tie %tab, 'Tie::CPHash';
|
||||
|
||||
$session{form}{tid} = "new" if ($session{form}{tid} eq "");
|
||||
unless ($session{form}{tid} eq "new") {
|
||||
%tab = WebGUI::SQL->quickHash("select * from DataForm_tab where DataForm_tabId=$session{form}{tid}");
|
||||
}
|
||||
$output = helpIcon(2,$_[0]->get("namespace"));
|
||||
$output .= '<h1>'.WebGUI::International::get(20,$_[0]->get("namespace")).'</h1>';
|
||||
$f = WebGUI::HTMLForm->new;
|
||||
$f->hidden("wid",$_[0]->get("wobjectId"));
|
||||
$f->hidden("tid",$session{form}{tid});
|
||||
$f->hidden("func","editTabSave");
|
||||
$f->text(
|
||||
-name=>"label",
|
||||
-label=>WebGUI::International::get(101,$_[0]->get("namespace")),
|
||||
-value=>$tab{label}
|
||||
);
|
||||
$f->textarea(
|
||||
-name=>"subtext",
|
||||
-label=>WebGUI::International::get(102,$_[0]->get("namespace")),
|
||||
-value=>$tab{subtext},
|
||||
-subtext=>""
|
||||
);
|
||||
if ($session{form}{tid} eq "new") {
|
||||
$f->whatNext(
|
||||
-options=>{
|
||||
addTab=>WebGUI::International::get(103,$_[0]->get("namespace")),
|
||||
|
||||
backToPage=>WebGUI::International::get(745)
|
||||
},
|
||||
-value=>"addTab"
|
||||
);
|
||||
}
|
||||
$f->submit;
|
||||
$output .= $f->print;
|
||||
return $output;
|
||||
}
|
||||
|
||||
#-------------------------------------------------------------------
|
||||
sub www_editTabSave {
|
||||
return WebGUI::Privilege::insufficient() unless (WebGUI::Privilege::canEditWobject($_[0]->get("wobjectId")));
|
||||
$session{form}{name} = $session{form}{label} if ($session{form}{name} eq "");
|
||||
$session{form}{name} = WebGUI::URL::urlize($session{form}{name});
|
||||
$session{form}{name} =~ s/\-//g;
|
||||
$session{form}{name} =~ s/\///g;
|
||||
$_[0]->setCollateral("DataForm_tab","DataForm_tabId",{
|
||||
DataForm_tabId=>$session{form}{tid},
|
||||
label=>$session{form}{label},
|
||||
subtext=>$session{form}{subtext}
|
||||
});
|
||||
if ($session{form}{proceed} eq "addTab") {
|
||||
$session{form}{tid} = "new";
|
||||
return $_[0]->www_editTab();
|
||||
}
|
||||
return "";
|
||||
}
|
||||
|
||||
#-------------------------------------------------------------------
|
||||
sub www_exportTab {
|
||||
return WebGUI::Privilege::insufficient() unless (WebGUI::Privilege::canEditWobject($_[0]->get("wobjectId")));
|
||||
|
|
@ -589,14 +752,28 @@ sub www_exportTab {
|
|||
#-------------------------------------------------------------------
|
||||
sub www_moveFieldDown {
|
||||
return WebGUI::Privilege::insufficient() unless (WebGUI::Privilege::canEditWobject($_[0]->get("wobjectId")));
|
||||
$_[0]->moveCollateralDown("DataForm_field","DataForm_fieldId",$session{form}{fid});
|
||||
$_[0]->moveCollateralDown("DataForm_field","DataForm_fieldId",$session{form}{fid},"DataForm_tabId",$session{form}{tid});
|
||||
return "";
|
||||
}
|
||||
|
||||
#-------------------------------------------------------------------
|
||||
sub www_moveFieldUp {
|
||||
return WebGUI::Privilege::insufficient() unless (WebGUI::Privilege::canEditWobject($_[0]->get("wobjectId")));
|
||||
$_[0]->moveCollateralUp("DataForm_field","DataForm_fieldId",$session{form}{fid});
|
||||
$_[0]->moveCollateralUp("DataForm_field","DataForm_fieldId",$session{form}{fid},"DataForm_tabId",$session{form}{tid});
|
||||
return "";
|
||||
}
|
||||
|
||||
#-------------------------------------------------------------------
|
||||
sub www_moveTabRight {
|
||||
return WebGUI::Privilege::insufficient() unless (WebGUI::Privilege::canEditWobject($_[0]->get("wobjectId")));
|
||||
$_[0]->moveCollateralDown("DataForm_tab","DataForm_tabId",$session{form}{tid});
|
||||
return "";
|
||||
}
|
||||
|
||||
#-------------------------------------------------------------------
|
||||
sub www_moveTabLeft {
|
||||
return WebGUI::Privilege::insufficient() unless (WebGUI::Privilege::canEditWobject($_[0]->get("wobjectId")));
|
||||
$_[0]->moveCollateralUp("DataForm_tab","DataForm_tabId",$session{form}{tid});
|
||||
return "";
|
||||
}
|
||||
|
||||
|
|
@ -661,6 +838,9 @@ sub www_view {
|
|||
if ($var->{entryId} eq "list" && WebGUI::Privilege::canEditWobject($_[0]->get("wobjectId"))) {
|
||||
return $_[0]->processTemplate($_[0]->get("listTemplateId"),$_[0]->getListTemplateVars,"DataForm/List");
|
||||
}
|
||||
# add Tab StyleSheet and JavaScript
|
||||
$session{page}{head}{link}{'/extras/tabs/tabs.css'}{type} = 'text/css';
|
||||
$session{page}{head}{javascript}{'/extras/tabs/tabs.js'}{language} = 'JavaScript';
|
||||
$var = $_[1] || $_[0]->getRecordTemplateVars($var);
|
||||
return $_[0]->processTemplate($_[0]->get("templateId"),$var);
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue