From 02a257e1d1dd73b47b3654d2e6389dcc0e806ab7 Mon Sep 17 00:00:00 2001 From: Colin Kuskie Date: Mon, 15 Feb 2010 15:18:39 -0800 Subject: [PATCH] Update GalleryFile for Moose. --- lib/WebGUI/Asset/File/GalleryFile.pm | 105 ++++++++++++++------------- 1 file changed, 55 insertions(+), 50 deletions(-) diff --git a/lib/WebGUI/Asset/File/GalleryFile.pm b/lib/WebGUI/Asset/File/GalleryFile.pm index 7c90cbd0c..fc1a58f6d 100644 --- a/lib/WebGUI/Asset/File/GalleryFile.pm +++ b/lib/WebGUI/Asset/File/GalleryFile.pm @@ -15,7 +15,39 @@ package WebGUI::Asset::File::GalleryFile; =cut use strict; -use base 'WebGUI::Asset::File'; +use WebGUI::Definition::Asset; +extends 'WebGUI::Asset::File'; +aspect assetName => ['assetName', 'Asset_GalleryFile']; +aspect tableName => 'GalleryFile'; +property views => ( + noFormPost => 1, + default => 0, + ); +property friendsOnly => ( + label => ['editForm friendsOnly','Asset_Photo'], + default => 0, + ); +property rating => ( + noFormPost => 1, + default => 0, + ); +for my $i ( 1 .. 5 ) { + property 'userDefined'.$i => ( + default => undef, + label => '', + fieldType => 'text', + ); +} + +around isHidden => sub { + my $orig = shift; + my $self = shift; + if (@_ > 0) { + $_[0] = 1; + } + $self->$orig(@_); +}; + use Carp qw( croak confess ); use URI::Escape; @@ -53,15 +85,6 @@ sub definition { my $i18n = WebGUI::International->new($session,'Asset_Photo'); tie my %properties, 'Tie::IxHash', ( - views => { - defaultValue => 0, - }, - friendsOnly => { - defaultValue => 0, - }, - rating => { - defaultValue => 0, - }, ); # UserDefined Fields @@ -72,9 +95,6 @@ sub definition { } push @{$definition}, { - assetName => $i18n->get('assetName'), - autoGenerateForms => 0, - tableName => 'GalleryFile', className => 'WebGUI::Asset::File::GalleryFile', properties => \%properties, }; @@ -137,7 +157,7 @@ sub appendTemplateVarsCommentForm { $var->{ commentForm_bodyText } = WebGUI::Form::HTMLArea( $session, { name => "bodyText", - richEditId => $self->getGallery->get("richEditIdComment"), + richEditId => $self->getGallery->richEditIdComment, value => $comment->{ bodyText }, }); @@ -203,7 +223,7 @@ sub canEdit { my $userId = shift || $self->session->user->userId; my $album = $self->getParent; - return 1 if $userId eq $self->get("ownerUserId"); + return 1 if $userId eq $self->ownerUserId; return $album->canEdit($userId); } @@ -241,8 +261,8 @@ sub canView { my $album = $self->getParent; return 0 unless $album->canView($userId); - if ($self->isFriendsOnly && $userId ne $self->get("ownerUserId") ) { - my $owner = WebGUI::User->new( $self->session, $self->get("ownerUserId") ); + if ($self->isFriendsOnly && $userId ne $self->ownerUserId ) { + my $owner = WebGUI::User->new( $self->session, $self->ownerUserId ); return 0 unless WebGUI::Friends->new($self->session, $owner)->isFriend($userId); } @@ -284,7 +304,7 @@ sub getAutoCommitWorkflowId { my $self = shift; my $gallery = $self->getGallery; if ($gallery->hasBeenCommitted) { - return $gallery->get("workflowIdCommit") + return $gallery->workflowIdCommit || $self->session->setting->get('defaultVersionTagWorkflow'); } return undef; @@ -377,7 +397,7 @@ sub getCurrentRevisionDate { return undef unless $asset; - if ( $asset->get( 'status' ) eq "approved" || $asset->canEdit ) { + if ( $asset->approved || $asset->canEdit ) { return $revisionDate; } else { @@ -416,7 +436,7 @@ sub getParent { return $album; } # Only get the pending version if we're allowed to see this photo in its pending status - elsif ( $self->getGallery->canEdit || $self->get( 'ownerUserId' ) eq $self->session->user->userId ) { + elsif ( $self->getGallery->canEdit || $self->ownerUserId eq $self->session->user->userId ) { my $album = $self->getLineage( ['ancestors'], { includeOnlyClasses => [ 'WebGUI::Asset::Wobject::GalleryAlbum' ], @@ -456,13 +476,13 @@ sub getTemplateVars { my $self = shift; my $session = $self->session; my $var = $self->get; - my $owner = WebGUI::User->new( $session, $self->get("ownerUserId") ); + my $owner = WebGUI::User->new( $session, $self->ownerUserId ); $var->{ fileUrl } = $self->getFileUrl; $var->{ thumbnailUrl } = $self->getThumbnailUrl; # Set a flag for pending files - if ( $self->get( "status" ) eq "pending" ) { + if ( $self->status eq "pending" ) { $var->{ 'isPending' } = 1; } @@ -474,7 +494,7 @@ sub getTemplateVars { } # Add a text-only synopsis - $var->{ synopsis_textonly } = WebGUI::HTML::filter( $self->get('synopsis'), "all" ); + $var->{ synopsis_textonly } = WebGUI::HTML::filter( $self->synopsis, "all" ); # Figure out on what page of the album the gallery file belongs. my $album = $self->getParent; @@ -483,7 +503,7 @@ sub getTemplateVars { my $pageNumber = int ( ( first_index { $_ eq $id } @{ $fileIdsInAlbum } ) # Get index of file in album - / $album->getParent->get( 'defaultFilesPerPage' ) # Divide by the number of files per page + / $album->getParent->defaultFilesPerPage # Divide by the number of files per page ) + 1; # Round upwards $var->{ canComment } = $self->canComment; @@ -501,7 +521,7 @@ sub getTemplateVars { $var->{ url_slideshow } = $self->getParent->getUrl('func=slideshow'); $var->{ url_makeShortcut } = $self->getUrl('func=makeShortcut'); $var->{ url_listFilesForOwner } - = $self->getGallery->getUrl('func=listFilesForUser;userId=' . $self->get("ownerUserId")); + = $self->getGallery->getUrl('func=listFilesForUser;userId=' . $self->ownerUserId); $var->{ url_promote } = $self->getUrl('func=promote'); return $var; @@ -518,7 +538,7 @@ Returns true if this GalleryFile is friends only. Returns false otherwise. sub isFriendsOnly { my $self = shift; - return $self->get("friendsOnly"); + return $self->friendsOnly; } #---------------------------------------------------------------------------- @@ -570,7 +590,7 @@ sub prepareView { $self->SUPER::prepareView(); my $template - = WebGUI::Asset::Template->new($self->session, $self->getGallery->get("templateIdViewFile")); + = WebGUI::Asset::Template->new($self->session, $self->getGallery->templateIdViewFile); $template->prepare($self->getMetaDataAsTemplateVariables); $self->{_viewTemplate} = $template; @@ -637,7 +657,7 @@ sub processPropertiesFromFormPost { my $errors = $self->SUPER::processPropertiesFromFormPost || []; # Make sure we have the disk space for this - if ( !$self->getGallery->hasSpaceAvailable( $self->get( 'assetSize' ) ) ) { + if ( !$self->getGallery->hasSpaceAvailable( $self->assetSize ) ) { push @{ $errors }, $i18n->get( "error no space" ); } @@ -647,7 +667,7 @@ sub processPropertiesFromFormPost { ### Passes all checks # If the album doesn't yet have a thumbnail, make this File the thumbnail - if ( !$self->getParent->get('assetIdThumbnail') ) { + if ( !$self->getParent->assetIdThumbnail ) { $self->getParent->update( { assetIdThumbnail => $self->getId, } ); @@ -723,21 +743,6 @@ sub setComment { ); } -#################################################################### - -=head2 update - -Wrap update so that isHidden is always set to be a 1. - -=cut - -sub update { - my $self = shift; - my $properties = shift; - return $self->SUPER::update({%$properties, isHidden => 1}); -} - - #---------------------------------------------------------------------------- =head2 view ( ) @@ -788,7 +793,7 @@ sub view { url_searchKeywordUser => $self->getGallery->getUrl( "func=search;submit=1;" - . "userId=" . $self->get("ownerUserId") . ';' + . "userId=" . $self->ownerUserId . ';' . 'keywords=' . uri_escape( $keyword ) ), }; @@ -836,7 +841,7 @@ sub www_delete { # TODO Get albums with shortcuts to this asset return $self->processStyle( - $self->processTemplate( $var, $self->getGallery->get("templateIdDeleteFile") ) + $self->processTemplate( $var, $self->getGallery->templateIdDeleteFile ) ); } @@ -934,7 +939,7 @@ sub www_editComment { $var->{ isNew } = $commentId eq "new"; return $self->processStyle( - $self->processTemplate( $var, $self->getGallery->get("templateIdEditComment") ) + $self->processTemplate( $var, $self->getGallery->templateIdEditComment ) ); } @@ -1015,7 +1020,7 @@ sub www_makeShortcut { for my $assetId ( @$albums ) { my $asset = WebGUI::Asset->newById($session, $assetId); if ($asset->canAddFile) { - $albumOptions{ $assetId } = $asset->get("title"); + $albumOptions{ $assetId } = $asset->title; } } $var->{ form_parentId } @@ -1026,7 +1031,7 @@ sub www_makeShortcut { }); return $self->processStyle( - $self->processTemplate($var, $self->getGallery->get("templateIdMakeShortcut")) + $self->processTemplate($var, $self->getGallery->templateIdMakeShortcut) ); } @@ -1065,7 +1070,7 @@ sub www_view { return $self->session->privilege->insufficient unless $self->canView; # Add to views - $self->update({ views => $self->get('views') + 1 }); + $self->update({ views => $self->views + 1 }); $self->session->http->setLastModified($self->getContentLastModified); $self->session->http->sendHeader;