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 {
print "\tDropping time offsets in favor of time zones.\n" unless ($quiet);
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 ('3','timeZone','America/Chicago')");
}
sub removeUnneededFiles {

View file

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

View file

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

View file

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

View file

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

View file

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