almost done
This commit is contained in:
parent
b35848179c
commit
efbe79e365
3 changed files with 72 additions and 29 deletions
|
|
@ -81,8 +81,13 @@ Deletes this ad.
|
||||||
|
|
||||||
sub delete {
|
sub delete {
|
||||||
my $self = shift;
|
my $self = shift;
|
||||||
|
my $iterator = WebGUI::AssetCollateral::Sku::Ad::Ad->getAllIterator($session,{
|
||||||
|
constraints => [ { "adSkuPurchase.adId = ?" => $self->getId } ],
|
||||||
|
});
|
||||||
|
while( my $object = $iterator->() ) {
|
||||||
|
$object->update('isDeleted' => 1);
|
||||||
|
}
|
||||||
my $storage = WebGUI::Storage->get($self->session, $self->get("storageId"));
|
my $storage = WebGUI::Storage->get($self->session, $self->get("storageId"));
|
||||||
# dav TODO update WebGUI::AssetColateral::Sku::Ad::Ad set delete flag for this AdId
|
|
||||||
$storage->delete if defined $storage;
|
$storage->delete if defined $storage;
|
||||||
$self->session->db->deleteRow("advertisement","adId",$self->getId);
|
$self->session->db->deleteRow("advertisement","adId",$self->getId);
|
||||||
$self = undef;
|
$self = undef;
|
||||||
|
|
|
||||||
|
|
@ -273,17 +273,25 @@ sub manage {
|
||||||
});
|
});
|
||||||
my %ads;
|
my %ads;
|
||||||
while( my $object = $iterator->() ) {
|
while( my $object = $iterator->() ) {
|
||||||
next if $object->get('isDeleted'); # because the ad is deleted... all we could show is the 'deleted' text...
|
|
||||||
next if exists $ads{$object->get('adId')};
|
next if exists $ads{$object->get('adId')};
|
||||||
my $ad = $ads{$object->get('adId')} = WebGUI::AdSpace::Ad->new($session,$object->get('adId'));
|
my $ad = $ads{$object->get('adId')} = WebGUI::AdSpace::Ad->new($session,$object->get('adId'));
|
||||||
next if undef $ad; # TODO not sure why we get here...
|
if( $object->get('isDeleted') ) {
|
||||||
push @{$var{myAds}}, {
|
push @{$var{myAds}}, {
|
||||||
|
rowTitle => '',
|
||||||
|
rowClicks => '0/0',
|
||||||
|
rowImpressions => '0/0',
|
||||||
|
rowDeleted => 1,
|
||||||
|
rowRenewLink => '',
|
||||||
|
};
|
||||||
|
} else {
|
||||||
|
push @{$var{myAds}}, {
|
||||||
rowTitle => $ad->get('title'),
|
rowTitle => $ad->get('title'),
|
||||||
rowClicks => $ad->get('clicks') . '/' . $ad->get('clicksBought'),
|
rowClicks => $ad->get('clicks') . '/' . $ad->get('clicksBought'),
|
||||||
rowImpressions => $ad->get('impressions') . '/' . $ad->get('impressionsBought'),
|
rowImpressions => $ad->get('impressions') . '/' . $ad->get('impressionsBought'),
|
||||||
rowDeleted => $object->get('isDeleted'),
|
rowDeleted => 0,
|
||||||
rowRenewLink => $self->getUrl('func=renew;adId=' . $object->get('adId') ),
|
rowRenewLink => $self->getUrl('func=renew;Id=' . $object->get('adSkuPurchaseId') ),
|
||||||
};
|
};
|
||||||
|
}
|
||||||
}
|
}
|
||||||
return $self->processTemplate(\%var,undef,$self->{_viewTemplate});
|
return $self->processTemplate(\%var,undef,$self->{_viewTemplate});
|
||||||
}
|
}
|
||||||
|
|
@ -292,7 +300,7 @@ sub manage {
|
||||||
|
|
||||||
=head2 onCompletePurchase
|
=head2 onCompletePurchase
|
||||||
|
|
||||||
inserts the ad intothe adspace...
|
inserts the ad into the adspace...
|
||||||
|
|
||||||
=cut
|
=cut
|
||||||
|
|
||||||
|
|
@ -300,21 +308,35 @@ sub onCompletePurchase {
|
||||||
my $self = shift;
|
my $self = shift;
|
||||||
my $item = shift;
|
my $item = shift;
|
||||||
my $options = $self->getOptions;
|
my $options = $self->getOptions;
|
||||||
|
my $ad;
|
||||||
|
|
||||||
# LATER: if we use Temp Storage for the image we need to move it to perm storage
|
# LATER: if we use Temp Storage for the image we need to move it to perm storage
|
||||||
|
|
||||||
my $ad = WebGUI::AdSpace::Ad->create($self->session,$self->get('adSpace'),{
|
if( $options->{adId} ne '' ) {
|
||||||
title => $options->{'adtitle'},
|
$ad = WebGUI::AdSpace::Ad->new($self->session,$options->{adId});
|
||||||
clicksBought => $options->{'clicks'},
|
my $clicks = $options->{clicks} + $ad->get('clicksBought');
|
||||||
impressionsBought => $options->{'impressions'},
|
my $impressions = $options->{impressions} + $ad->get('impressionsBought');
|
||||||
url => $options->{'link'},
|
$ad->set({
|
||||||
storageId => $options->{'image'},
|
title => $options->{'adtitle'},
|
||||||
ownerUserId => $self->session->user->userId,
|
clicksBought => $clicks,
|
||||||
isActive => 1,
|
impressionsBought => $impressions,
|
||||||
type => 'image',
|
url => $options->{'link'},
|
||||||
priority => $self->get('priority'),
|
storageId => $options->{'image'},
|
||||||
adSpace => $self->get('adSpace'),
|
});
|
||||||
});
|
} else {
|
||||||
|
$ad = WebGUI::AdSpace::Ad->create($self->session,$self->get('adSpace'),{
|
||||||
|
title => $options->{'adtitle'},
|
||||||
|
clicksBought => $options->{'clicks'},
|
||||||
|
impressionsBought => $options->{'impressions'},
|
||||||
|
url => $options->{'link'},
|
||||||
|
storageId => $options->{'image'},
|
||||||
|
ownerUserId => $self->session->user->userId,
|
||||||
|
isActive => 1,
|
||||||
|
type => 'image',
|
||||||
|
priority => $self->get('priority'),
|
||||||
|
adSpace => $self->get('adSpace'),
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
WebGUI::AssetCollateral::Sku::Ad::Ad->create($self->session,{
|
WebGUI::AssetCollateral::Sku::Ad::Ad->create($self->session,{
|
||||||
userId => $item->transaction->get('userId'),
|
userId => $item->transaction->get('userId'),
|
||||||
|
|
@ -343,7 +365,7 @@ sub onRemoveFromCart {
|
||||||
my $self = shift;
|
my $self = shift;
|
||||||
my $item = shift;
|
my $item = shift;
|
||||||
my $options = $self->getOptions;
|
my $options = $self->getOptions;
|
||||||
WebGUI::Storage->new($self->session,$options->{'image'})->delete;
|
# TODO figure this out WebGUI::Storage->new($self->session,$options->{'image'})->delete;
|
||||||
}
|
}
|
||||||
|
|
||||||
#-------------------------------------------------------------------
|
#-------------------------------------------------------------------
|
||||||
|
|
@ -426,7 +448,7 @@ Displays the purchase adspace form
|
||||||
sub view {
|
sub view {
|
||||||
my ($self) = @_;
|
my ($self) = @_;
|
||||||
my $session = $self->session;
|
my $session = $self->session;
|
||||||
my $options = $self->getOptions();
|
my $options = $self->getOptions();
|
||||||
|
|
||||||
my $i18n = WebGUI::International->new($session, "Asset_AdSku");
|
my $i18n = WebGUI::International->new($session, "Asset_AdSku");
|
||||||
my %var = (
|
my %var = (
|
||||||
|
|
@ -469,6 +491,10 @@ my $options = $self->getOptions();
|
||||||
-size=>40
|
-size=>40
|
||||||
-required=>1,
|
-required=>1,
|
||||||
}),
|
}),
|
||||||
|
formAdId => WebGUI::Form::Hidden($session, {
|
||||||
|
-name=>"formAdId",
|
||||||
|
-value=>$options->{adId} || '',
|
||||||
|
}),
|
||||||
clickPrice => $self->get('pricePerClick'),
|
clickPrice => $self->get('pricePerClick'),
|
||||||
impressionPrice => $self->get('pricePerImpression'),
|
impressionPrice => $self->get('pricePerImpression'),
|
||||||
clickDiscount => $self->getClickDiscountText,
|
clickDiscount => $self->getClickDiscountText,
|
||||||
|
|
@ -504,6 +530,7 @@ dav::log 'addToCart:data:',
|
||||||
link => $form->process('formLink','url'),
|
link => $form->process('formLink','url'),
|
||||||
clicks => $form->process('formClicks','integer'),
|
clicks => $form->process('formClicks','integer'),
|
||||||
impressions => $form->process('formImpressions','integer'),
|
impressions => $form->process('formImpressions','integer'),
|
||||||
|
adId => $form->process('formAdId'),
|
||||||
image => $imageStorageId,
|
image => $imageStorageId,
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
@ -543,9 +570,19 @@ renew an ad
|
||||||
|
|
||||||
sub www_renew {
|
sub www_renew {
|
||||||
my $self = shift;
|
my $self = shift;
|
||||||
my $adPurchaseId = ''; # TODO get the adPurchaseId param
|
my $session = $self->session;
|
||||||
my $crud = WebGUI::AssetCollateral::Sku::Ad::Ad->new($self->session,$adPurchaseId);
|
my $id = $session->form->get('Id');
|
||||||
# TODO assign params for purchase form
|
dav::log 'id=',$id;
|
||||||
|
my $crud = WebGUI::AssetCollateral::Sku::Ad::Ad->new($session,$id);
|
||||||
|
my $ad = WebGUI::AdSpace::Ad->new($session,$crud->get('adId'));
|
||||||
|
$self->applyOptions({
|
||||||
|
adtitle => $ad->get('title'),
|
||||||
|
clicks => $crud->get('clicksPurchased'),
|
||||||
|
impressions => $crud->get('impressionsPurchased'),
|
||||||
|
link => $ad->get('url'),
|
||||||
|
image => $ad->get('storageId'),
|
||||||
|
adId => $crud->get('adId'),
|
||||||
|
});
|
||||||
return $self->www_view;
|
return $self->www_view;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -77,9 +77,6 @@ sub definition {
|
||||||
size=>{
|
size=>{
|
||||||
defaultValue=>1
|
defaultValue=>1
|
||||||
},
|
},
|
||||||
defaultValue=>{
|
|
||||||
defaultValue=>[]
|
|
||||||
},
|
|
||||||
});
|
});
|
||||||
return $class->SUPER::definition($session, $definition);
|
return $class->SUPER::definition($session, $definition);
|
||||||
}
|
}
|
||||||
|
|
@ -149,7 +146,9 @@ Returns a group pull-down field. A group pull down provides a select list that p
|
||||||
|
|
||||||
sub toHtml {
|
sub toHtml {
|
||||||
my $self = shift;
|
my $self = shift;
|
||||||
$self->set('options', { map { $_->getId => $_->get('name') } ( @{ WebGUI::AdSpace->getAdSpaces($self->session) } ) } );
|
my $options = { map { $_->getId => $_->get('name') } ( @{ WebGUI::AdSpace->getAdSpaces($self->session) } ) };
|
||||||
|
$self->set('defaultValue', ( keys %{$options} )[0] );
|
||||||
|
$self->set('options', $options );
|
||||||
return $self->SUPER::toHtml();
|
return $self->SUPER::toHtml();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -163,7 +162,9 @@ Creates a series of hidden fields representing the data in the list.
|
||||||
|
|
||||||
sub toHtmlAsHidden {
|
sub toHtmlAsHidden {
|
||||||
my $self = shift;
|
my $self = shift;
|
||||||
$self->set('options', { map { $_->getId => $_->getName } ( WebGUI::AdSpace->getAdSpaces() ) } );
|
my $options = { map { $_->getId => $_->get('name') } ( @{ WebGUI::AdSpace->getAdSpaces($self->session) } ) };
|
||||||
|
$self->set('defaultValue', ( keys %{$options} )[0] );
|
||||||
|
$self->set('options', $options );
|
||||||
return $self->SUPER::toHtmlAsHidden();
|
return $self->SUPER::toHtmlAsHidden();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue