fixing bugs resulting from new form package
This commit is contained in:
parent
6ae2995591
commit
9c3a4eb309
5 changed files with 37 additions and 78 deletions
|
|
@ -74,29 +74,29 @@ sub edit {
|
|||
$tabform->getTab("properties")->yesNo(
|
||||
-name=>"isHidden",
|
||||
-value=>1,
|
||||
-label=>WebGUI::International::get(886,"FilePile"),
|
||||
-hoverHelp=>WebGUI::International::get('886 description',"FilePile"),
|
||||
-label=>WebGUI::International::get(886,"Asset_FilePile"),
|
||||
-hoverHelp=>WebGUI::International::get('886 description',"Asset_FilePile"),
|
||||
-uiLevel=>6
|
||||
);
|
||||
$tabform->getTab("properties")->yesNo(
|
||||
-name=>"newWindow",
|
||||
-value=>0,
|
||||
-label=>WebGUI::International::get(940,"FilePile"),
|
||||
-hoverHelp=>WebGUI::International::get('940 description',"FilePile"),
|
||||
-label=>WebGUI::International::get(940,"Asset_FilePile"),
|
||||
-hoverHelp=>WebGUI::International::get('940 description',"Asset_FilePile"),
|
||||
-uiLevel=>6
|
||||
);
|
||||
$tabform->addTab("security",WebGUI::International::get(107,"Asset"),6);
|
||||
$tabform->getTab("security")->dateTime(
|
||||
-name=>"startDate",
|
||||
-label=>WebGUI::International::get(497,"FilePile"),
|
||||
-hoverHelp=>WebGUI::International::get('497 description',"FilePile"),
|
||||
-label=>WebGUI::International::get(497,"Asset_FilePile"),
|
||||
-hoverHelp=>WebGUI::International::get('497 description',"Asset_FilePile"),
|
||||
-value=>$self->get("startDate"),
|
||||
-uiLevel=>6
|
||||
);
|
||||
$tabform->getTab("security")->dateTime(
|
||||
-name=>"endDate",
|
||||
-label=>WebGUI::International::get(498,"FilePile"),
|
||||
-hoverHelp=>WebGUI::International::get('498 description',"FilePile"),
|
||||
-label=>WebGUI::International::get(498,"Asset_FilePile"),
|
||||
-hoverHelp=>WebGUI::International::get('498 description',"Asset_FilePile"),
|
||||
-value=>$self->get("endDate"),
|
||||
-uiLevel=>6
|
||||
);
|
||||
|
|
@ -118,33 +118,33 @@ sub edit {
|
|||
$tabform->getTab("security")->selectList(
|
||||
-name=>"ownerUserId",
|
||||
-options=>$users,
|
||||
-label=>WebGUI::International::get(108,"FilePile"),
|
||||
-hoverHelp=>WebGUI::International::get('108 description',"FilePile"),
|
||||
-label=>WebGUI::International::get(108,"Asset_FilePile"),
|
||||
-hoverHelp=>WebGUI::International::get('108 description',"Asset_FilePile"),
|
||||
-value=>[$self->get("ownerUserId")],
|
||||
-subtext=>$subtext,
|
||||
-uiLevel=>6
|
||||
);
|
||||
$tabform->getTab("security")->group(
|
||||
-name=>"groupIdView",
|
||||
-label=>WebGUI::International::get(872,"FilePile"),
|
||||
-hoverHelp=>WebGUI::International::get('872 description',"FilePile"),
|
||||
-label=>WebGUI::International::get(872,"Asset_FilePile"),
|
||||
-hoverHelp=>WebGUI::International::get('872 description',"Asset_FilePile"),
|
||||
-value=>[$self->get("groupIdView")],
|
||||
-uiLevel=>6
|
||||
);
|
||||
$tabform->getTab("security")->group(
|
||||
-name=>"groupIdEdit",
|
||||
-label=>WebGUI::International::get(871,"FilePile"),
|
||||
-hoverHelp=>WebGUI::International::get('871 description',"FilePile"),
|
||||
-label=>WebGUI::International::get(871,"Asset_FilePile"),
|
||||
-hoverHelp=>WebGUI::International::get('871 description',"Asset_FilePile"),
|
||||
-value=>[$self->get("groupIdEdit")],
|
||||
-excludeGroups=>[1,7],
|
||||
-uiLevel=>6
|
||||
);
|
||||
$tabform->getTab("properties")->readOnly(
|
||||
$tabform->getTab("properties")->file(
|
||||
-label=>WebGUI::International::get("upload files", "Asset_FilePile"),
|
||||
-hoverHelp=>WebGUI::International::get("upload files", "Asset_FilePile"),
|
||||
-value=>$self->getUploadControl
|
||||
-maxAttachments=>100
|
||||
);
|
||||
$self->getAdminConsole->setHelp("file pile add/edit","FilePile");
|
||||
$self->getAdminConsole->setHelp("file pile add/edit","Asset_FilePile");
|
||||
return $self->getAdminConsole->render($tabform->print,WebGUI::International::get("add pile", "Asset_FilePile"));
|
||||
}
|
||||
|
||||
|
|
@ -208,30 +208,6 @@ sub getName {
|
|||
return WebGUI::International::get('file pile',"Asset_FilePile");
|
||||
}
|
||||
|
||||
#-------------------------------------------------------------------
|
||||
sub getUploadControl {
|
||||
my $self = shift;
|
||||
WebGUI::Style::setScript($session{config}{extrasURL}.'/FileUploadControl.js',{type=>"text/javascript"});
|
||||
my $uploadControl = '<div id="fileUploadControl"> </div>
|
||||
<script>
|
||||
var fileLimit = 100;
|
||||
var images = new Array();
|
||||
';
|
||||
opendir(DIR,$session{config}{extrasPath}.'/fileIcons');
|
||||
my @files = readdir(DIR);
|
||||
closedir(DIR);
|
||||
foreach my $file (@files) {
|
||||
unless ($file eq "." || $file eq "..") {
|
||||
my $ext = $file;
|
||||
$ext =~ s/(.*?)\.gif/$1/;
|
||||
$uploadControl .= 'images["'.$ext.'"] = "'.$session{config}{extrasURL}.'/fileIcons/'.$file.'";'."\n";
|
||||
}
|
||||
}
|
||||
$uploadControl .= 'var uploader = new FileUploadControl("fileUploadControl", images, "'.WebGUI::International::get('removeLabel','WebGUI').'");
|
||||
uploader.addRow();
|
||||
</script>';
|
||||
return $uploadControl;
|
||||
}
|
||||
|
||||
|
||||
#-------------------------------------------------------------------
|
||||
|
|
|
|||
|
|
@ -465,25 +465,9 @@ sub getUploadControl {
|
|||
}
|
||||
return $uploadControl unless ($i < $maxAttachments);
|
||||
}
|
||||
WebGUI::Style::setScript($session{config}{extrasURL}.'/FileUploadControl.js',{type=>"text/javascript"});
|
||||
$uploadControl .= '<div id="fileUploadControl"> </div>
|
||||
<script>
|
||||
var images = new Array();
|
||||
var fileLimit = '.$maxAttachments.';
|
||||
';
|
||||
opendir(DIR,$session{config}{extrasPath}.'/fileIcons');
|
||||
my @files = readdir(DIR);
|
||||
closedir(DIR);
|
||||
foreach my $file (@files) {
|
||||
unless ($file eq "." || $file eq "..") {
|
||||
my $ext = $file;
|
||||
$ext =~ s/(.*?)\.gif/$1/;
|
||||
$uploadControl .= 'images["'.$ext.'"] = "'.$session{config}{extrasURL}.'/fileIcons/'.$file.'";'."\n";
|
||||
}
|
||||
}
|
||||
$uploadControl .= 'var uploader = new FileUploadControl("fileUploadControl", images, "'.WebGUI::International::get('removeLabel','WebGUI').'");
|
||||
uploader.addRow();
|
||||
</script>';
|
||||
$uploadControl .= WebGUI::Form::file(
|
||||
maxAttachments=>$maxAttachments
|
||||
);
|
||||
return $uploadControl;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -302,9 +302,7 @@ sub new {
|
|||
%raw = @_;
|
||||
}
|
||||
my %params;
|
||||
# Ensure that overrides overwrite the previously defined definition of a field
|
||||
my @reversedDefinitions = reverse @{$class->definition};
|
||||
foreach my $definition (@reversedDefinitions) {
|
||||
foreach my $definition (reverse @{$class->definition}) {
|
||||
foreach my $fieldName (keys %{$definition}) {
|
||||
my $value = $raw{$fieldName};
|
||||
# if we have no value, try the tagged name
|
||||
|
|
|
|||
|
|
@ -65,7 +65,7 @@ sub definition {
|
|||
push(@{$definition}, {
|
||||
name=>{
|
||||
defaultValue=>"file"
|
||||
}
|
||||
},
|
||||
maxAttachments=>{
|
||||
defaultValue=>1
|
||||
}
|
||||
|
|
@ -100,7 +100,7 @@ sub getValueFromPost {
|
|||
my $self = shift;
|
||||
my $storage = WebGUI::Storage->create;
|
||||
$storage->addFileFromFormPost($self->{name});
|
||||
@files = $storage->getFiles;
|
||||
my @files = $storage->getFiles;
|
||||
if (scalar(@files) < 1) {
|
||||
$storage->delete;
|
||||
return undef;
|
||||
|
|
@ -130,7 +130,7 @@ sub toHtml {
|
|||
unless ($file eq "." || $file eq "..") {
|
||||
my $ext = $file;
|
||||
$ext =~ s/(.*?)\.gif/$1/;
|
||||
$uploadControl .= 'images["'.$ext.'"] = "'.$session{config}{extrasURL}.'/fileIcons/'.$file.'";'."\n";
|
||||
$uploadControl .= 'fileIcons["'.$ext.'"] = "'.$session{config}{extrasURL}.'/fileIcons/'.$file.'";'."\n";
|
||||
}
|
||||
}
|
||||
$uploadControl .= 'var uploader = new FileUploadControl("'.$self->{name}.'", fileIcons, "'.WebGUI::International::get('removeLabel','WebGUI').'","'.$self->{maxAttachments}.'");
|
||||
|
|
|
|||
|
|
@ -2,14 +2,17 @@
|
|||
//input. Each file upload input is named "file" the control must be rendered in a form. The
|
||||
//Workspace id is the id of the div in the html page to render the control in.
|
||||
|
||||
function FileUploadControl(workspaceId, imageArray, removeLabel) {
|
||||
function FileUploadControl(fieldName, imageArray, removeLabel, fileLimit) {
|
||||
|
||||
this.images = images;
|
||||
this.images = imageArray;
|
||||
this.fileLimit = fileLimit;
|
||||
this.fileCount = 1;
|
||||
this.fieldName = fieldName;
|
||||
workspaceId = fieldName+"_fileUploadControl";
|
||||
this.workspaceId = workspaceId;
|
||||
this.dom=document.getElementById&&!document.all;
|
||||
this.topLevelElement=this.dom? "HTML" : "BODY"
|
||||
|
||||
document.write('<div id="'+workspaceId+'"> </div>');
|
||||
var workspace = document.getElementById(workspaceId);
|
||||
|
||||
var str = '<table border="0"><tbody id="' + workspaceId + '.fileUpload.body">';
|
||||
|
|
@ -17,8 +20,8 @@ function FileUploadControl(workspaceId, imageArray, removeLabel) {
|
|||
|
||||
str +='<table style="display: none;">'
|
||||
|
||||
str += '<tr id="' + workspaceId + '.template" class="fileUploadRow"><td><img src="' + images["unknown"] + '" style="visibility: hidden"></td>';
|
||||
str +='<td><input type="file" name="file" size="40" onchange="FileUploadControl_valueChange(event)"></td><td><input type="button" value="' + removeLabel + '" onclick="FileUploadControl_removeButtonClick(event)"></td></tr>';
|
||||
str += '<tr id="' + workspaceId + '.template" class="fileUploadRow"><td><img src="' + imageArray["unknown"] + '" style="visibility: hidden"></td>';
|
||||
str +='<td><input type="file" name="'+fieldName+'" size="40" onchange="FileUploadControl_valueChange(event)"></td><td><input type="button" value="' + removeLabel + '" onclick="FileUploadControl_removeButtonClick(event)"></td></tr>';
|
||||
|
||||
str += '</table>';
|
||||
|
||||
|
|
@ -80,11 +83,6 @@ function FileUploadControl_swapImage(firedobj) {
|
|||
|
||||
//removes a row from the control
|
||||
function FileUploadControl_removeRow(firedobj) {
|
||||
|
||||
if (this.tbody.childNodes[this.tbody.childNodes.length -1] == this.getRow(firedobj)) {
|
||||
window.status="cant remove last; return true";
|
||||
return;
|
||||
}
|
||||
var row = this.getRow(firedobj);
|
||||
this.tbody.removeChild(row);
|
||||
}
|
||||
|
|
@ -104,9 +102,12 @@ function FileUploadControl_removeButtonClick(e) {
|
|||
var firedobj =dom? e.target : e.srcElement
|
||||
|
||||
var control = FileUploadControl_getControl(firedobj);
|
||||
|
||||
if (control.tbody.childNodes[control.tbody.childNodes.length -1] == control.getRow(firedobj)) {
|
||||
control.addRow();
|
||||
} else {
|
||||
control.fileCount--;
|
||||
}
|
||||
control.removeRow(firedobj);
|
||||
control.fileCount--;
|
||||
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue