OSDN Git Service

Model::Moderations: create() return moderation id
authorhylom <hylom@users.sourceforge.jp>
Tue, 28 Feb 2017 10:47:06 +0000 (19:47 +0900)
committerhylom <hylom@users.sourceforge.jp>
Tue, 28 Feb 2017 10:47:06 +0000 (19:47 +0900)
src/newslash_web/lib/Newslash/Model/Moderations.pm

index 46ffea5..e807773 100644 (file)
@@ -160,8 +160,11 @@ sub create {
         || ($new_score > $mod_params->{comment_maxscore}
             && $reason->{val} + $comment->{tweak} > 0)) {
         # current score is max or min limit, so create moderate log only.
-        $self->create_log($user, $comment, $reason, 0);
-        return 1;
+        my $mod_id = $self->create_log($user, $comment, $reason, 0);
+        if (!$mod_id) {
+            return;
+        }
+        return $mod_id;
     }
 
     # change moderator's moderate points, token, totalmods
@@ -218,9 +221,13 @@ sub create {
     }
 
     # create moderationlog (createModeratorLog)
-    $self->create_log($user, $comment, $reason, 1);
+    my $mod_id = $self->create_log($user, $comment, $reason, 1);
 
-    # TODO: send message...
+    if (!$mod_id) {
+        $self->rollback;
+        return;
+    }
+    return $mod_id;
 
     $self->commit;
     return 1;
@@ -400,7 +407,7 @@ EOSQL
     # createModTag
     # ... tag moderation is deprecated, so nothing to do
 
-    return 1;
+    return $mod_id;
 }