fixing several bugs. Also enabling saving of contentPositions for all users, not just admins.

This commit is contained in:
Matthew Wilson 2005-12-01 04:17:32 +00:00
parent e9791e34e3
commit 39b949e9f3
7 changed files with 34 additions and 30 deletions

View file

@ -1513,8 +1513,9 @@ $rssFolder->addChild({
sub addTimeZonesToUserPreferences { sub addTimeZonesToUserPreferences {
print "\tDropping time offsets in favor of time zones.\n" unless ($quiet); print "\tDropping time offsets in favor of time zones.\n" unless ($quiet);
WebGUI::SQL->write("delete from userProfileData where fieldName='timeOffset'"); WebGUI::SQL->write("delete from userProfileData where fieldName='timeOffset'");
WebGUI::SQL->write("update userProfileField set dataValues='', fieldName='timeZone', dataType='timeZone', fieldLabel=".quote('WebGUI::International::get("timezone","DateTime");').",dataDefault=".quote("['America/Chicago']")." where fieldName='timeOffset'"); WebGUI::SQL->write("update userProfileField set dataValues='', fieldName='timeZone', dataType='timeZone', fieldLabel=".quote('WebGUI::International::get("timezone","DateTime");').",dataDefault='America/Chicago' where fieldName='timeOffset'");
WebGUI::SQL->write("insert into userProfileData values ('1','timeZone','America/Chicago')"); WebGUI::SQL->write("insert into userProfileData values ('1','timeZone','America/Chicago')");
WebGUI::SQL->write("insert into userProfileData values ('3','timeZone','America/Chicago')");
} }
sub removeUnneededFiles { sub removeUnneededFiles {

View file

@ -170,7 +170,7 @@ sub getUserPref {
my $returnDataType = shift || 'string'; my $returnDataType = shift || 'string';
my $returnDataFormat = shift || 'raw'; my $returnDataFormat = shift || 'raw';
my $sql = "select userValue from wgFieldUserData where assetId=".quote($fieldId)." and userId=".quote($userId); my $sql = "select userValue from wgFieldUserData where assetId=".quote($fieldId)." and userId=".quote($userId);
#WebGUI::ErrorHandler::warn($sql); WebGUI::ErrorHandler::warn($sql);
my ($userValue) = WebGUI::SQL->quickArray($sql); my ($userValue) = WebGUI::SQL->quickArray($sql);
unless ($userValue) { unless ($userValue) {
return '' if $fieldId eq 'skipThisRequest'; return '' if $fieldId eq 'skipThisRequest';
@ -199,9 +199,9 @@ sub setUserPref {
my $returnDataType = shift || 'string'; my $returnDataType = shift || 'string';
my $returnDataFormat = shift || 'raw'; my $returnDataFormat = shift || 'raw';
my $sql = "delete from wgFieldUserData where assetId=".quote($fieldId)." and userId=".quote($userId); my $sql = "delete from wgFieldUserData where assetId=".quote($fieldId)." and userId=".quote($userId);
#WebGUI::ErrorHandler::warn($sql);
WebGUI::SQL->write($sql); WebGUI::SQL->write($sql);
my $sql2 = "insert into wgFieldUserData values (".quote($fieldId).",".quote($userId).",".quote($valueToSet).")"; my $sql2 = "insert into wgFieldUserData values (".quote($fieldId).",".quote($userId).",".quote($valueToSet).")";
WebGUI::ErrorHandler::warn($sql2);
return WebGUI::SQL->write($sql2); return WebGUI::SQL->write($sql2);
} }

View file

@ -53,11 +53,11 @@ sub definition {
}, },
adminsGroupId =>{ adminsGroupId =>{
fieldType=>"group", fieldType=>"group",
defaultValue=>4 defaultValue=>'4'
}, },
usersGroupId =>{ usersGroupId =>{
fieldType=>"group", fieldType=>"group",
defaultValue=>2 defaultValue=>'2'
}, },
mapFieldId =>{ mapFieldId =>{
fieldType=>"text", fieldType=>"text",
@ -96,13 +96,13 @@ sub getEditForm {
-name=>"adminsGroupId", -name=>"adminsGroupId",
-label=>$i18n->get('dashboard adminsGroupId field label'), -label=>$i18n->get('dashboard adminsGroupId field label'),
-hoverHelp=>$i18n->get('dashboard adminsGroupId description'), -hoverHelp=>$i18n->get('dashboard adminsGroupId description'),
-value=>[$self->get("adminsGroupId")] -value=>[$self->getValue("adminsGroupId")]
); );
$tabform->getTab("security")->group( $tabform->getTab("security")->group(
-name=>"usersGroupId", -name=>"usersGroupId",
-label=>$i18n->get('dashboard usersGroupId field label'), -label=>$i18n->get('dashboard usersGroupId field label'),
-hoverHelp=>$i18n->get('dashboard usersGroupId description'), -hoverHelp=>$i18n->get('dashboard usersGroupId description'),
-value=>[$self->get("usersGroupId")] -value=>[$self->getValue("usersGroupId")]
); );
return $tabform; return $tabform;
} }
@ -230,6 +230,7 @@ sub view {
#------------------------------------------------------------------- #-------------------------------------------------------------------
sub www_setContentPositions { sub www_setContentPositions {
my $self = shift; my $self = shift;
return 'Visitors cannot save settings' if $session{user}{userId} == 1;
return WebGUI::Privilege::insufficient() unless ($self->canPersonalize); return WebGUI::Privilege::insufficient() unless ($self->canPersonalize);
return '' unless $self->get("mapFieldId"); return '' unless $self->get("mapFieldId");
my $success = WebGUI::Asset::Field->setUserPref($self->get("mapFieldId"),$session{form}{map}); my $success = WebGUI::Asset::Field->setUserPref($self->get("mapFieldId"),$session{form}{map});

View file

@ -84,7 +84,7 @@ sub view {
my %var = $self->get(); my %var = $self->get();
#Set some template variables #Set some template variables
#Build list of stocks as an array #Build list of searches as an array
my $defaults = $self->getValue("predefinedSearches"); my $defaults = $self->getValue("predefinedSearches");
return $self->processTemplate(\%var, $self->get("templateId")); return $self->processTemplate(\%var, $self->get("templateId"));

View file

@ -15,7 +15,7 @@ package WebGUI::ErrorHandler;
=cut =cut
use FileHandle; use FileHandle;
use Log::Log4perl; #use Log::Log4perl;
use strict; use strict;
use WebGUI::Session; use WebGUI::Session;
use Log::Log4perl; use Log::Log4perl;
@ -217,28 +217,28 @@ Returns a text message containing all of the session variables.
sub getSessionVars { sub getSessionVars {
my $data; my $data;
while (my ($section, $hash) = each %WebGUI::Session::session) { while (my ($section, $hash) = each %WebGUI::Session::session) {
if ($section eq "debug") { if ($section eq "debug") {
next; next;
} elsif (ref $hash eq 'HASH') { } elsif (ref $hash eq 'HASH') {
while (my ($key, $value) = each %$hash) { while (my ($key, $value) = each %$hash) {
if (ref $value eq 'ARRAY') { if (ref $value eq 'ARRAY') {
$value = '['.join(', ',@$value).']'; $value = '['.join(', ',@$value).']';
} elsif (ref $value eq 'HASH') { } elsif (ref $value eq 'HASH') {
$value = '{'.join(', ',map {"$_ => $value->{$_}"} keys %$value).'}'; $value = '{'.join(', ',map {"$_ => $value->{$_}"} keys %$value).'}';
} }
unless (lc($key) eq "password" || lc($key) eq "identifier") { unless (lc($key) eq "password" || lc($key) eq "identifier") {
$data .= "\t".$section.'.'.$key.' = '.$value."\n"; $data .= "\t".$section.'.'.$key.' = '.$value."\n";
} }
} }
} elsif (ref $hash eq 'ARRAY') { } elsif (ref $hash eq 'ARRAY') {
my $i = 1; my $i = 1;
foreach (@$hash) { foreach (@$hash) {
$data .= "\t".$section.'.'.$i.' = '.$_."\n"; $data .= "\t".$section.'.'.$i.' = '.$_."\n";
$i++; $i++;
} }
} }
} }
return $data; return $data;
} }
@ -279,7 +279,7 @@ sub info {
my $message = shift; my $message = shift;
my $logger = getLogger(); my $logger = getLogger();
$logger->info($message); $logger->info($message);
$WebGUI::Session::session{debug}{'info'} .= $message."\n"; $WebGUI::Session::session{debug}{'info'} .= $message."\n";
} }
@ -349,7 +349,7 @@ sub warn {
my $message = shift; my $message = shift;
my $logger = getLogger(); my $logger = getLogger();
$logger->warn($message); $logger->warn($message);
$WebGUI::Session::session{debug}{'warn'} .= $message."\n"; $WebGUI::Session::session{debug}{'warn'} .= $message."\n";
} }

View file

@ -96,6 +96,7 @@ sub setupUserInfo {
my $u = WebGUI::User->new(shift); my $u = WebGUI::User->new(shift);
%{$session{user}} = (%{$u->{_profile}}, %{$u->{_user}}); %{$session{user}} = (%{$u->{_profile}}, %{$u->{_user}});
$session{req}->user($session{user}{username}) if $session{req}; $session{req}->user($session{user}{username}) if $session{req};
$session{user}{userId} = $u->userId;
$session{user}{alias} = $session{user}{username} if ($session{user}{alias} =~ /^\W+$/ || $session{user}{alias} eq ""); $session{user}{alias} = $session{user}{username} if ($session{user}{alias} =~ /^\W+$/ || $session{user}{alias} eq "");
} }

View file

@ -371,6 +371,7 @@ function dragable_postNewContentMap() {
,'method':'POST' ,'method':'POST'
,'map':dragable_getContentMap() ,'map':dragable_getContentMap()
,'func':'setContentPositions' ,'func':'setContentPositions'
// ,'onSuccess':function(req){ alert(req.responseText); }
} }
); );
} }