sunnyman's (sunnyman) wrote in changelog,
sunnyman's
sunnyman
changelog

[ljcom] r12431: LJSUP-12403: Console commands with comme...

Committer: vtroitsky
LJSUP-12403: Console commands with commercial promo
U   trunk/cgi-bin/LJ/Console/Command/SelfPromo.pm
Modified: trunk/cgi-bin/LJ/Console/Command/SelfPromo.pm
===================================================================
--- trunk/cgi-bin/LJ/Console/Command/SelfPromo.pm	2012-08-07 08:44:52 UTC (rev 12430)
+++ trunk/cgi-bin/LJ/Console/Command/SelfPromo.pm	2012-08-07 10:10:25 UTC (rev 12431)
@@ -7,10 +7,10 @@
 use LJ::Pay::PromotionSlot qw(:classes :regions);
 use LJ::Pay::PromotedObject qw(:types);
 
-sub cmd {'selfpromo'}
+sub cmd {'promo'}
 
 sub desc {
-    return 'SelfPromo administration tools';
+    return 'Promo services administration tools';
 }
 
 sub usage {
@@ -26,8 +26,8 @@
             'the username to cancel promotion or to ban or unban.',
 
         'promo' =>
-            'Promo type to perform cmd for. Default value "*" that means it apply for all promos. ' .
-            'Available values: *, '.join(', ', PROMO_SELF(), PROMO_COMMERCIAL(), PROMO_NOTIFICATIONS()).'.',
+            'Promo type to perform cmd for. Default: no value that means it apply for all promos. ' .
+            'Available values: '.join(', ', PROMO_SELF(), PROMO_COMMERCIAL(), PROMO_NOTIFICATIONS()).'.',
 
         'region' =>
             'For "cancel" only, an optional flag that specifies ' .
@@ -67,7 +67,7 @@
     $message .= ', without refund' unless $refund;
     $message .= '. Reason: '. $reason if $reason;
 
-    LJ::statushistory_add( $object->owner, $admin, 'selfpromo', $message );
+    LJ::statushistory_add( $object->owner, $admin, $slot->class(), $message );
 
     $slot->admin_cancel_promo(
         'object'    => $object,
@@ -173,13 +173,13 @@
             # check all current promotions
             foreach my $pc (@promo_classes) {
                 foreach my $cc (LJ::Pay::PromotionSlot->get_all_regions($pc)) {
-                    foreach my $ptype (LJ::Pay::PromotionSlot->get_all_types($pc,$cc)) {
+                    foreach my $ptype (LJ::Pay::PromotionSlot->get_all_types($pc, $cc)) {
                         my $slot = LJ::Pay::PromotionSlot->find_slot(class => $pc, type => $ptype, country => $cc);
                         $slot->check_current_promotion;
                         my $current_promo = $slot->current_promotion();
 
-                        if ( $current_promo && ( $current_promo->is_promoter($u) || $current_promo->is_promoting($u)) ) {   # $current_promo->is_owner($u) || 
-                            $self->info("The ban will affect the currently promoted $ptype in $cc promo, so cancelling that.");
+                        if ( $current_promo && ( $current_promo->is_promoter($u) || $current_promo->is_promoting($object)) ) {   # $current_promo->is_owner($u) || 
+                            $self->info("The ban will affect the currently promoted $ptype in $cc $pc promo, so cancelling that.");
                             my $current_object = $current_promo->promoted_object();
                             $self->_cancel_object( 'slot' => $slot, 'type' => $ptype, 'object' => $current_object, 'reason' => $reason );
                         }
@@ -188,7 +188,6 @@
             }
 
             $object->ban_for_promos($reason, $admin, @promo_classes);
-
             $self->info( $object->name . " banned successfully from $promo_class promo" . ($promo_class eq 'all' ? 's' : '') . '.' );
             return 1;
         }
@@ -196,23 +195,19 @@
         if ( $type eq PROMO_OBJECT_TYPE_ENTRY() ) {
             my $entry = $object->object;
             foreach my $pc (@promo_classes) {
-                # check all regions
                 foreach my $cc (LJ::Pay::PromotionSlot->get_all_regions($pc)) {
-            
-                    my $slot = LJ::Pay::PromotionSlot->find_slot(class => PROMO_SELF(), type => $type, country => $cc);
-
+                    my $slot = LJ::Pay::PromotionSlot->find_slot(class => $pc, type => $type, country => $cc);
                     $slot->check_current_promotion;
                     my $current_promo = $slot->current_promotion();
 
                     if ( $current_promo && $current_promo->is_promoting($object) ) {
-                        $self->info("The ban will affect the currently promoted entry in $country promo, so cancelling that.");
+                        $self->info("The ban will affect the currently promoted entry in $country $pc promo, so cancelling that.");
                         $self->_cancel_object( 'slot' => $slot, 'type' => $type, 'object' => $object, 'reason' => $reason );
                     }
                 }
             }
 
             $object->ban_for_promos($reason, $admin, @promo_classes);
-
             $self->info( $object->name . " banned successfully from $promo_class promo" . ($promo_class eq 'all' ? 's' : '') . '.' );
             return 1;
         }

Tags: ljcom, pm, sunnyman, vtroitsky
Subscribe
  • Post a new comment

    Error

    Anonymous comments are disabled in this journal

    default userpic

    Your reply will be screened

    Your IP address will be recorded 

  • 0 comments