Added UI Level to Article, and fixed some form bugs.

This commit is contained in:
JT Smith 2002-10-05 22:07:20 +00:00
parent 95c08144f0
commit 428200daad
5 changed files with 138 additions and 41 deletions

View file

@ -453,7 +453,7 @@ sub group {
=cut
sub hidden {
return '<input type="hidden" name="'.$_[0]->{name}.'" value="'._fixQuotes($_[0]->{value}).'">';
return '<input type="hidden" name="'.$_[0]->{name}.'" value="'._fixQuotes($_[0]->{value}).'">'."\n";
}
@ -465,6 +465,10 @@ sub hidden {
the HTMLForm package, but we decided to make it a public method
in case anybody else had a use for it.
=item name
The name of this field.
=item options
A hash reference where the key is the "name" of the hidden field.
@ -479,16 +483,16 @@ sub hidden {
sub hiddenList {
my ($output, $key, $item);
foreach $key (keys %{$_[0]->{options}}) {
foreach $item (@$_[0]->{value}) {
foreach $item (@{$_[0]->{value}}) {
if ($item eq $key) {
$output .= hidden({
name=>$key,
value=>$item
name=>$_[0]->{name},
value=>$key
});
}
}
}
return $output;
return $output."\n";
}

View file

@ -16,6 +16,7 @@ package WebGUI::HTMLForm;
use CGI::Util qw(rearrange);
use strict qw(vars refs);
use WebGUI::DateTime;
use WebGUI::Form;
use WebGUI::International;
use WebGUI::Session;
@ -98,7 +99,7 @@ sub _subtext {
#-------------------------------------------------------------------
sub _tableFormRow {
unless ($_[0]->{_noTable}) {
return '<tr><td class="formDescription" valign="top">'.$_[1].'</td><td class="tableData">'.$_[2].'</td></tr>';
return '<tr><td class="formDescription" valign="top">'.$_[1].'</td><td class="tableData">'.$_[2]."</td></tr>\n";
} else {
return $_[2];
}
@ -244,7 +245,8 @@ sub checkList {
$output .= _subtext($subtext);
$output = $self->_tableFormRow($label,$output);
} else {
hiddenList({
$output = WebGUI::Form::hiddenList({
name=>$name,
options=>$options,
value=>$value
});
@ -325,6 +327,7 @@ sub combo {
$output = $self->_tableFormRow($label,$output);
} else {
$output = WebGUI::Form::hiddenList({
name=>$name,
options=>$options,
value=>$value
});
@ -398,7 +401,7 @@ sub date {
} else {
$output = WebGUI::Form::hidden({
name=>$name,
value=>$value
value=>epochToSet($value)
});
}
$self->{_data} .= $output;
@ -600,7 +603,8 @@ sub group {
$output = $self->_tableFormRow($label,$output);
} else {
my $hashRef = WebGUI::SQL->quickHashRef("select groupId,groupName from groups");
hiddenList({
$output = WebGUI::Form::hiddenList({
name=>$name,
options=>$hashRef,
value=>$value
});
@ -912,15 +916,15 @@ sub new {
my ($noTable, $action, $method, $extras, $enctype, $tableExtras) =
rearrange([noTable, action, method, extras, enctype, tableExtras], @p);
$noTable = $noTable || 0;
$header = WebGUI::Form::formHeader({
$header = "\n\n".WebGUI::Form::formHeader({
action=>$action,
extras=>$extras,
method=>$method,
enctype=>$enctype
});
$header .= '<table '.$tableExtras.'>' unless ($noTable);
$footer = '</table>' unless ($noTable);
$footer .= '</form>';
$header .= "\n<table ".$tableExtras.'>' unless ($noTable);
$footer = "</table>\n" unless ($noTable);
$footer .= "</form>\n\n";
bless {_noTable => $noTable, _header => $header, _footer => $footer, _data => ''}, $self;
}
@ -990,7 +994,7 @@ sub password {
$output = $self->_tableFormRow($label,$output);
} else {
$output = WebGUI::Form::hidden({
name=>$name.'_interval',
name=>$name,
value=>$value
});
}
@ -1061,7 +1065,7 @@ sub phone {
$output = $self->_tableFormRow($label,$output);
} else {
$output = WebGUI::Form::hidden({
name=>$name.'_interval',
name=>$name,
value=>$value
});
}
@ -1224,7 +1228,8 @@ sub radioList {
$output .= _subtext($subtext);
$output = $self->_tableFormRow($label,$output);
} else {
hiddenList({
$output = WebGUI::Form::hiddenList({
name=>$name,
options=>$options,
value=>[$value]
});
@ -1367,7 +1372,8 @@ sub select {
$output .= _subtext($subtext);
$output = $self->_tableFormRow($label,$output);
} else {
hiddenList({
$output = WebGUI::Form::hiddenList({
name=>$name,
options=>$options,
value=>$value
});
@ -1481,7 +1487,7 @@ sub text {
$output = $self->_tableFormRow($label,$output);
} else {
$output = WebGUI::Form::hidden({
name=>$name.'_interval',
name=>$name,
value=>$value
});
}
@ -1631,7 +1637,7 @@ sub url {
$output = $self->_tableFormRow($label,$output);
} else {
$output = WebGUI::Form::hidden({
name=>$name.'_interval',
name=>$name,
value=>$value
});
}
@ -1764,7 +1770,7 @@ sub zipcode {
$output = $self->_tableFormRow($label,$output);
} else {
$output = WebGUI::Form::hidden({
name=>$name.'_interval',
name=>$name,
value=>$value
});
}

View file

@ -28,7 +28,9 @@ sub _replacement {
#--content adder
$hash{WebGUI::URL::page()} = WebGUI::International::get(1);
$hash{WebGUI::URL::page('op=editPage&npp='.$session{page}{pageId})} = WebGUI::International::get(2);
$hash{WebGUI::URL::page('op=selectPackageToDeploy')} = WebGUI::International::get(376);
if ($session{user}{uiLevel} >= 7) {
$hash{WebGUI::URL::page('op=selectPackageToDeploy')} = WebGUI::International::get(376);
}
foreach $key (keys %{$session{wobject}}) {
$hash2{WebGUI::URL::page('func=edit&wid=new&namespace='.$key)} = $session{wobject}{$key};
}

View file

@ -162,7 +162,7 @@ sub description {
=cut
sub discussionProperties {
my ($f,$editTimeout,$groupToModerate,%moderationType,$moderationType);
my ($f,$editTimeout,$interval, $units, $groupToModerate,%moderationType,$moderationType);
%moderationType = (before=>WebGUI::International::get(567),after=>WebGUI::International::get(568));
$f = WebGUI::HTMLForm->new;
if ($_[0]->get("wobjectId") eq "new") {
@ -173,15 +173,38 @@ sub discussionProperties {
$moderationType = $_[0]->get("moderationType");
}
$groupToModerate = $_[0]->get("groupToModerate") || 4;
$f->group("groupToPost",WebGUI::International::get(564),[$_[0]->get("groupToPost")]);
$f->interval("editTimeout",WebGUI::International::get(566),WebGUI::DateTime::secondsToInterval($editTimeout));
if ($session{setting}{useKarma}) {
$f->group(
-name=>"groupToPost",
-label=>WebGUI::International::get(564),
-value=>[$_[0]->get("groupToPost")],
-uiLevel=>7
);
($interval, $units) = WebGUI::DateTime::secondsToInterval($editTimeout);
$f->interval(
-name=>"editTimeout",
-label=>WebGUI::International::get(566),
-intervalValue=>$interval,
-unitsValue=>$units,
-uiLevel=>7
);
if ($session{setting}{useKarma} && $session{user}{uiLevel} <= 7) {
$f->integer("karmaPerPost",WebGUI::International::get(541),$_[0]->get("karmaPerPost"));
} else {
$f->hidden("karmaPerPost",$_[0]->get("karmaPerPost"));
}
$f->group("groupToModerate",WebGUI::International::get(565),[$groupToModerate]);
$f->select("moderationType",\%moderationType,WebGUI::International::get(569),[$moderationType]);
$f->group(
-name=>"groupToModerate",
-label=>WebGUI::International::get(565),
-value=>[$groupToModerate],
-uiLevel=>7
);
$f->select(
-name=>"moderationType",
-options=>\%moderationType,
-label=>WebGUI::International::get(569),
-value=>[$moderationType],
-uiLevel=>7
);
return $f->printRowsOnly;
}
@ -895,13 +918,43 @@ sub www_edit {
$f->hidden("namespace",$_[0]->get("namespace")) if ($_[0]->get("wobjectId") eq "new");
$f->hidden("func","editSave");
$f->submit if ($_[0]->get("wobjectId") ne "new");
$f->readOnly($_[0]->get("wobjectId"),WebGUI::International::get(499));
$f->readOnly(
-value=>$_[0]->get("wobjectId"),
-label=>WebGUI::International::get(499),
-uiLevel=>3
);
$f->text("title",WebGUI::International::get(99),$title);
$f->yesNo("displayTitle",WebGUI::International::get(174),$displayTitle);
$f->yesNo("processMacros",WebGUI::International::get(175),$_[0]->get("processMacros"));
$f->select("templatePosition",WebGUI::Template::getPositions($session{page}{templateId}),WebGUI::International::get(363),[$templatePosition]);
$f->date("startDate",WebGUI::International::get(497),$startDate);
$f->date("endDate",WebGUI::International::get(498),$endDate);
$f->yesNo(
-name=>"displayTitle",
-label=>WebGUI::International::get(174),
-value=>$displayTitle,
-uiLevel=>5
);
$f->yesNo(
-name=>"processMacros",
-label=>WebGUI::International::get(175),
-value=>$_[0]->get("processMacros"),
-uiLevel=>5
);
$f->select(
-name=>"templatePosition",
-label=>WebGUI::International::get(363),
-value=>[$templatePosition],
-uiLevel=>5,
-options=>WebGUI::Template::getPositions($session{page}{templateId})
);
$f->date(
-name=>"startDate",
-label=>WebGUI::International::get(497),
-value=>$startDate,
-uiLevel=>9
);
$f->date(
-name=>"endDate",
-label=>WebGUI::International::get(498),
-value=>$endDate,
-uiLevel=>9
);
$f->HTMLArea("description",WebGUI::International::get(85),$_[0]->get("description"));
$f->raw($_[1]);
$f->submit;

View file

@ -68,19 +68,51 @@ sub www_edit {
$output = helpIcon(1,$namespace);
$output .= '<h1>'.WebGUI::International::get(12,$namespace).'</h1>';
$f = WebGUI::HTMLForm->new;
$f->raw($_[0]->fileProperty("image",6));
$f->raw(
-value=>$_[0]->fileProperty("image",6),
-uiLevel=>3
);
%hash = (
right => WebGUI::International::get(15,$namespace),
left => WebGUI::International::get(16,$namespace),
center => WebGUI::International::get(17,$namespace)
);
$f->select("alignImage",\%hash,WebGUI::International::get(14,$namespace),[$_[0]->get("alignImage")]);
$f->raw($_[0]->fileProperty("attachment",9));
$f->text("linkTitle",WebGUI::International::get(7,$namespace),$_[0]->get("linkTitle"));
$f->url("linkURL",WebGUI::International::get(8,$namespace),$_[0]->get("linkURL"));
$f->yesNo("convertCarriageReturns",WebGUI::International::get(10,$namespace),$_[0]->get("convertCarriageReturns")
,'',' &nbsp; <span style="font-size: 8pt;">'.WebGUI::International::get(11,$namespace).'</span>');
$f->yesNo("allowDiscussion",WebGUI::International::get(18,$namespace),$_[0]->get("allowDiscussion"));
$f->select(
-name=>"alignImage",
-options=>\%hash,
-label=>WebGUI::International::get(14,$namespace),
-value=>[$_[0]->get("alignImage")],
-uiLevel=>3
);
$f->raw(
-value=>$_[0]->fileProperty("attachment",9),
-uiLevel=>1
);
$f->text(
-name=>"linkTitle",
-label=>WebGUI::International::get(7,$namespace),
-value=>$_[0]->get("linkTitle"),
-uiLevel=>3
);
$f->url(
-name=>"linkURL",
-label=>WebGUI::International::get(8,$namespace),
-value=>$_[0]->get("linkURL"),
-uiLevel=>3
);
$f->yesNo(
-name=>"convertCarriageReturns",
-label=>WebGUI::International::get(10,$namespace),
-value=>$_[0]->get("convertCarriageReturns"),
-subtext=>' &nbsp; <span style="font-size: 8pt;">'.WebGUI::International::get(11,$namespace).'</span>',
-uiLevel=>5
);
$f->yesNo(
-name=>"allowDiscussion",
-label=>WebGUI::International::get(18,$namespace),
-value=>$_[0]->get("allowDiscussion"),
-uiLevel=>5
);
$f->raw($_[0]->SUPER::discussionProperties);
$output .= $_[0]->SUPER::www_edit($f->printRowsOnly);
return $output;