lots more fixes and enhanced User.t
This commit is contained in:
parent
ea14e9de4c
commit
6266be5b65
9 changed files with 87 additions and 29 deletions
|
|
@ -1285,7 +1285,7 @@ sub publish {
|
|||
my $assetIds = $self->session->db->buildArrayRef("select assetId from asset where lineage like ".$self->session->db->quote($self->get("lineage").'%'));
|
||||
my $idList = $self->session->db->quoteAndJoin($assetIds);
|
||||
$self->session->db->write("update asset set state='published', stateChangedBy=".$self->session->db->quote($self->session->user->userId).", stateChanged=".$self->session->datetime->time()." where assetId in (".$idList.")");
|
||||
my $cache = WebGUI::Cache->new;
|
||||
my $cache = WebGUI::Cache->new($self->session);
|
||||
foreach my $id (@{$assetIds}) {
|
||||
# we do the purge directly cuz it's a lot faster than instantiating all these assets
|
||||
$cache->deleteChunk(["asset",$id]);
|
||||
|
|
|
|||
|
|
@ -121,7 +121,7 @@ sub getEditForm {
|
|||
})
|
||||
);
|
||||
}
|
||||
$tabform->getTab("display")->template($self->session,
|
||||
$tabform->getTab("display")->template(
|
||||
-name=>"templateId",
|
||||
-value=>$self->getValue("templateId"),
|
||||
-namespace=>"EventsCalendar/Event",
|
||||
|
|
|
|||
|
|
@ -149,40 +149,40 @@ sub edit {
|
|||
|
||||
#-------------------------------------------------------------------
|
||||
sub editSave {
|
||||
my $class = shift;
|
||||
my $tempStorage = WebGUI::Storage->create;
|
||||
my $self = shift;
|
||||
my $tempStorage = WebGUI::Storage->create($self->session);
|
||||
$tempStorage->addFileFromFormPost("file");
|
||||
foreach my $filename (@{$tempStorage->getFiles}) {
|
||||
my $storage = WebGUI::Storage::Image->create;
|
||||
my $storage = WebGUI::Storage::Image->create($self->session);
|
||||
$storage->addFileFromFilesystem($tempStorage->getPath($filename));
|
||||
$storage->setPrivileges($class->getParent->get("ownerUserId"),$class->getParent->get("groupIdView"),$class->getParent->get("groupIdEdit"));
|
||||
$storage->setPrivileges($self->getParent->get("ownerUserId"),$self->getParent->get("groupIdView"),$self->getParent->get("groupIdEdit"));
|
||||
my %data;
|
||||
my $className = 'WebGUI::Asset::File';
|
||||
$className = "WebGUI::Asset::File::Image" if ($storage->isImage($filename));
|
||||
foreach my $definition (@{$className->definition}) {
|
||||
my $selfName = 'WebGUI::Asset::File';
|
||||
$selfName = "WebGUI::Asset::File::Image" if ($storage->isImage($filename));
|
||||
foreach my $definition (@{$selfName->definition($self->session)}) {
|
||||
foreach my $property (keys %{$definition->{properties}}) {
|
||||
$data{$property} = $class->session->form->process(
|
||||
$data{$property} = $self->session->form->process(
|
||||
$property,
|
||||
$definition->{properties}{$property}{fieldType},
|
||||
$definition->{properties}{$property}{defaultValue}
|
||||
);
|
||||
}
|
||||
}
|
||||
$data{className} = $className;
|
||||
$data{className} = $selfName;
|
||||
$data{storageId} = $storage->getId;
|
||||
$data{filename} = $data{title} = $data{menuTitle} = $filename;
|
||||
$data{templateId} = 'PBtmpl0000000000000024';
|
||||
$data{templateId} = 'PBtmpl0000000000000088' if ($className eq "WebGUI::Asset::File::Image");
|
||||
$data{url} = $class->getParent->getUrl.'/'.$filename;
|
||||
my $newAsset = $class->getParent->addChild(\%data);
|
||||
$data{templateId} = 'PBtmpl0000000000000088' if ($selfName eq "WebGUI::Asset::File::Image");
|
||||
$data{url} = $self->getParent->getUrl.'/'.$filename;
|
||||
my $newAsset = $self->getParent->addChild(\%data);
|
||||
delete $newAsset->{_storageLocation};
|
||||
$newAsset->setSize($storage->getFileSize($filename));
|
||||
$newAsset->generateThumbnail if ($className eq "WebGUI::Asset::File::Image");
|
||||
$newAsset->generateThumbnail if ($selfName eq "WebGUI::Asset::File::Image");
|
||||
$newAsset->commit;
|
||||
}
|
||||
$tempStorage->delete;
|
||||
return $class->getParent->www_manageAssets if ($class->session->form->process("proceed") eq "manageAssets");
|
||||
return $class->getParent->www_view;
|
||||
return $self->getParent->www_manageAssets if ($self->session->form->process("proceed") eq "manageAssets");
|
||||
return $self->getParent->www_view;
|
||||
}
|
||||
|
||||
#-------------------------------------------------------------------
|
||||
|
|
|
|||
|
|
@ -349,7 +349,7 @@ sub getOverridesList {
|
|||
my %overrides = $self->getOverrides;
|
||||
$output .= '<table cellspacing="0" cellpadding="3" border="1">';
|
||||
$output .= '<tr class="tableHeader"><td>'.$i18n->get('fieldName').'</td><td>'.$i18n->get('edit delete fieldname').'</td><td>'.$i18n->get('Original Value').'</td><td>'.$i18n->get('New value').'</td><td>'.$i18n->get('Replacement value').'</td></tr>';
|
||||
foreach my $definition (@{$self->getShortcutOriginal->definition}) {
|
||||
foreach my $definition (@{$self->getShortcutOriginal->definition($self->session)}) {
|
||||
foreach my $prop (keys %{$definition->{properties}}) {
|
||||
next if $definition->{properties}{$prop}{fieldType} eq 'hidden';
|
||||
$output .= '<tr>';
|
||||
|
|
@ -383,7 +383,7 @@ sub getOverrides {
|
|||
my $orig = $self->getShortcutOriginal;
|
||||
unless (exists $orig->{_propertyDefinitions}) {
|
||||
my %properties;
|
||||
foreach my $definition (@{$orig->definition}) {
|
||||
foreach my $definition (@{$orig->definition($self->session)}) {
|
||||
%properties = (%properties, %{$definition->{properties}});
|
||||
}
|
||||
$orig->{_propertyDefinitions} = \%properties;
|
||||
|
|
@ -740,7 +740,7 @@ sub www_editOverride {
|
|||
my %overrides = $self->getOverrides;
|
||||
my $output = '';
|
||||
my %props;
|
||||
foreach my $def (@{$self->getShortcutOriginal->definition}) {
|
||||
foreach my $def (@{$self->getShortcutOriginal->definition($self->session)}) {
|
||||
%props = (%props,%{$def->{properties}});
|
||||
}
|
||||
$output .= '</table>';
|
||||
|
|
@ -780,7 +780,7 @@ sub www_saveOverride {
|
|||
my %overrides = $self->getOverrides;
|
||||
my $output = '';
|
||||
my %props;
|
||||
foreach my $def (@{$self->getShortcutOriginal->definition}) {
|
||||
foreach my $def (@{$self->getShortcutOriginal->definition($self->session)}) {
|
||||
%props = (%props,%{$def->{properties}});
|
||||
}
|
||||
my $fieldType = $props{$fieldName}{fieldType};
|
||||
|
|
|
|||
|
|
@ -129,7 +129,7 @@ sub getAssetsInClipboard {
|
|||
assetData.title desc
|
||||
");
|
||||
while (my ($id, $date, $class) = $sth->array) {
|
||||
push(@assets, WebGUI::Asset->new($id,$class,$date));
|
||||
push(@assets, WebGUI::Asset->new($self->session,$id,$class,$date));
|
||||
}
|
||||
$sth->finish;
|
||||
return \@assets;
|
||||
|
|
@ -150,7 +150,7 @@ Alphanumeric ID tag of Asset.
|
|||
sub paste {
|
||||
my $self = shift;
|
||||
my $assetId = shift;
|
||||
my $pastedAsset = WebGUI::Asset->newByDynamicClass($assetId);
|
||||
my $pastedAsset = WebGUI::Asset->newByDynamicClass($self->session,$assetId);
|
||||
return 0 unless ($self->get("state") eq "published");
|
||||
if ($self->getId eq $pastedAsset->get("parentId") || $pastedAsset->setParent($self)) {
|
||||
$pastedAsset->publish;
|
||||
|
|
@ -189,7 +189,7 @@ sub www_copyList {
|
|||
my $self = shift;
|
||||
return $self->session->privilege->insufficient() unless $self->canEdit;
|
||||
foreach my $assetId ($self->session->request->param("assetId")) {
|
||||
my $asset = WebGUI::Asset->newByDynamicClass($assetId);
|
||||
my $asset = WebGUI::Asset->newByDynamicClass($self->session,$assetId);
|
||||
if ($asset->canEdit) {
|
||||
my $newAsset = $asset->duplicate;
|
||||
$newAsset->update({ title=>$newAsset->getTitle.' (copy)'});
|
||||
|
|
@ -265,7 +265,7 @@ sub www_cutList {
|
|||
my $self = shift;
|
||||
return $self->session->privilege->insufficient() unless $self->canEdit;
|
||||
foreach my $assetId ($self->session->request->param("assetId")) {
|
||||
my $asset = WebGUI::Asset->newByDynamicClass($assetId);
|
||||
my $asset = WebGUI::Asset->newByDynamicClass($self->session,$assetId);
|
||||
if ($asset->canEdit) {
|
||||
$asset->cut;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -307,7 +307,7 @@ sub getLineage {
|
|||
my $cmd = "use ".$className;
|
||||
eval ($cmd);
|
||||
$self->session->errorHandler->fatal("Couldn't compile asset package: ".$className.". Root cause: ".$@) if ($@);
|
||||
foreach my $definition (@{$className->definition}) {
|
||||
foreach my $definition (@{$className->definition($self->session)}) {
|
||||
unless ($definition->{tableName} eq "asset") {
|
||||
my $tableName = $definition->{tableName};
|
||||
$tables .= " left join $tableName on assetData.assetId=".$tableName.".assetId and assetData.revisionDate=".$tableName.".revisionDate";
|
||||
|
|
|
|||
|
|
@ -202,7 +202,7 @@ sub purgeRevision {
|
|||
my $self = shift;
|
||||
if ($self->getRevisionCount > 1) {
|
||||
$self->session->db->beginTransaction;
|
||||
foreach my $definition (@{$self->definition}) {
|
||||
foreach my $definition (@{$self->definition($self->session)}) {
|
||||
$self->session->db->write("delete from ".$definition->{tableName}." where assetId=".$self->session->db->quote($self->getId)." and revisionDate=".$self->session->db->quote($self->get("revisionDate")));
|
||||
}
|
||||
$self->session->db->commit;
|
||||
|
|
|
|||
|
|
@ -418,7 +418,7 @@ sub new {
|
|||
my $self = WebGUI::Auth->new($session,$authMethod,$userId,\@callable);
|
||||
my $connection = $session->scratch->get("ldapConnection") || $session->setting->get("ldapConnection");
|
||||
my $ldaplink = WebGUI::LDAPLink->new($session,$connection);
|
||||
$self->{_connection} = $ldaplink->get;
|
||||
$self->{_connection} = $ldaplink->get if $ldaplink;
|
||||
my $i18n = WebGUI::International->new($session, "AuthLDAP");
|
||||
my %ldapStatusCode = map { $_ => $i18n->get("LDAPLink_".$_) }
|
||||
(0..21, 32,33,34,36, 48..54, 64..71, 80);
|
||||
|
|
|
|||
60
t/User.t
60
t/User.t
|
|
@ -17,7 +17,7 @@ use WebGUI::Session;
|
|||
use WebGUI::Utility;
|
||||
|
||||
use WebGUI::User;
|
||||
use Test::More tests => 34; # increment this value for each test you create
|
||||
use Test::More tests => 49; # increment this value for each test you create
|
||||
|
||||
my $session = WebGUI::Test->session;
|
||||
|
||||
|
|
@ -141,6 +141,64 @@ $user = WebGUI::User->new($session);
|
|||
is($user->userId, '1', 'new() -- returns visitor with no args');
|
||||
$user = "";
|
||||
|
||||
$user = WebGUI::User->new($session, "new", "ROYSUNIQUEUSERID000002");
|
||||
is($user->userId, "ROYSUNIQUEUSERID000002", 'new() -- override user id');
|
||||
$user->authMethod("LDAP");
|
||||
is($user->authMethod, "LDAP", 'authMethod() -- set to LDAP');
|
||||
|
||||
#get/set karma
|
||||
my $oldKarma = $user->karma;
|
||||
$user->karma('69', 'peter gibbons', 'test karma');
|
||||
is($user->karma, $oldKarma+69, 'karma() -- get/set add amount');
|
||||
|
||||
my ($source, $description) = $session->db->quickArray("select source, description from karmaLog where userId=".$session->db->quote($user->userId));
|
||||
|
||||
is($source, 'peter gibbons', 'karma() -- get/set source');
|
||||
is($description, 'test karma', 'karma() -- get/set description');
|
||||
|
||||
$oldKarma = $user->karma;
|
||||
$user->karma('-69', 'peter gibbons', 'lumberg took test karma away');
|
||||
is($user->karma, $oldKarma-69, 'karma() -- get/set subtract amount');
|
||||
|
||||
#Let's test referringAffiliate
|
||||
$lastUpdate = time();
|
||||
$user->referringAffiliate(10);
|
||||
is($user->referringAffiliate, '10', 'referringAffiliate() -- get/set');
|
||||
is($user->lastUpdated, $lastUpdate, 'lastUpdated() -- referringAffiliate');
|
||||
|
||||
#Let's try adding this user to some groups
|
||||
my @groups = qw|2 4|;
|
||||
$user->addToGroups(\@groups);
|
||||
|
||||
my ($result) = $session->db->quickArray("select count(*) from groupings where groupId=".$session->db->quote('2')." and userId=".$session->db->quote($user->userId));
|
||||
ok($result, 'addToGroups() -- added to first test group');
|
||||
|
||||
($result) = $session->db->quickArray("select count(*) from groupings where groupId=".$session->db->quote('4')." and userId=".$session->db->quote($user->userId));
|
||||
ok($result, 'addToGroups() -- added to second test group');
|
||||
|
||||
#Let's delete this user from our test groups
|
||||
$user->deleteFromGroups(\@groups);
|
||||
|
||||
($result) = $session->db->quickArray("select count(*) from groupings where groupId=".$session->db->quote('2')." and userId=".$session->db->quote($user->userId));
|
||||
is($result, '0', 'deleteFromGroups() -- removed from first test group');
|
||||
|
||||
($result) = $session->db->quickArray("select count(*) from groupings where groupId=".$session->db->quote('4')." and userId=".$session->db->quote($user->userId));
|
||||
is($result, '0', 'deleteFromGroups() -- removed from second test group');
|
||||
|
||||
#Let's delete this user
|
||||
my $userId = $user->userId;
|
||||
$user->delete;
|
||||
|
||||
my ($count) = $session->db->quickArray("select count(*) from users where userId=".$session->db->quote($userId));
|
||||
is($count, '0', 'delete() -- users table');
|
||||
|
||||
($count) = $session->db->quickArray("select count(*) from userProfileData where userId=".$session->db->quote($userId));
|
||||
is($count, '0', 'delete() -- userProfileData table');
|
||||
|
||||
($count) = $session->db->quickArray("select count(*) from messageLog where userId=".$session->db->quote($userId));
|
||||
is($count, '0', 'delete() -- messageLog table');
|
||||
|
||||
|
||||
#identifier() and uncache()
|
||||
SKIP: {
|
||||
skip("identifier() -- deprecated",1);
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue