From 0b9d6396ef1f0efbe5fe6d0df7087f3cabc73ac1 Mon Sep 17 00:00:00 2001 From: hylom Date: Fri, 7 Sep 2018 21:17:13 +0900 Subject: [PATCH] Model: move clear_rookie from Users to Users::Class --- src/newslash_web/lib/Newslash/Model/Moderations.pm | 2 +- src/newslash_web/lib/Newslash/Model/Users.pm | 35 -------------- src/newslash_web/lib/Newslash/Model/Users/Class.pm | 56 ++++++++++++++++++++++ 3 files changed, 57 insertions(+), 36 deletions(-) diff --git a/src/newslash_web/lib/Newslash/Model/Moderations.pm b/src/newslash_web/lib/Newslash/Model/Moderations.pm index 30e65878..256474bc 100644 --- a/src/newslash_web/lib/Newslash/Model/Moderations.pm +++ b/src/newslash_web/lib/Newslash/Model/Moderations.pm @@ -234,7 +234,7 @@ sub create { } elsif ($reason->{val} > 0) { $upmods = 1; - $users->clear_rookie(uid => $comment->{uid}); + $users->class->clear_rookie(uid => $comment->{uid}); $users->class->update(uid => $comment->{uid}, validated_commenter => { function => 'NOW()'} ); diff --git a/src/newslash_web/lib/Newslash/Model/Users.pm b/src/newslash_web/lib/Newslash/Model/Users.pm index 40b4e5a7..4256bae3 100644 --- a/src/newslash_web/lib/Newslash/Model/Users.pm +++ b/src/newslash_web/lib/Newslash/Model/Users.pm @@ -129,41 +129,6 @@ sub nickname_to_matchname { return $nick; } -=head2 clear_rookie($uid, uid => $uid, time => $time) - -clear Rookie flag. - -=over 4 - -=item Return value - -1/0 - -=back - -=cut - -sub clear_rookie { - my $self = shift; - return if $self->check_readonly; - my $params = {@_}; - my $uid = $params->{uid}; - return if !$uid; - - my $time = $params->{time}; - if ($time) { - return $self->class->update(uid => $uid, - rookie => 0, - rookie_cleared => $time); - } - else { - return $self->class->update(uid => $uid, - rookie => 0, - rookie_cleared => { FUNCTION => "NOW()" }); - } - return; -} - sub update_karma { my $self = shift; my $params = {@_}; diff --git a/src/newslash_web/lib/Newslash/Model/Users/Class.pm b/src/newslash_web/lib/Newslash/Model/Users/Class.pm index d1319561..b13136d4 100644 --- a/src/newslash_web/lib/Newslash/Model/Users/Class.pm +++ b/src/newslash_web/lib/Newslash/Model/Users/Class.pm @@ -31,4 +31,60 @@ sub update { return $self->generic_update(params => $params); } +=head2 clear_rookie($uid, uid => $uid, time => $time) + +clear Rookie flag. + +=over 4 + +=item Return value + +1/0 + +=back + +=cut +sub clear_rookie { + my $self = shift; + return if $self->check_readonly; + my $params = {@_}; + my $uid = $params->{uid}; + return if !$uid; + + my $time = $params->{time}; + if ($time) { + return $self->update(uid => $uid, + rookie => 0, + rookie_cleared => $time); + } + else { + return $self->update(uid => $uid, + rookie => 0, + rookie_cleared => { function => "NOW()" }); + } + return; +} + +sub _validate { + my $self = shift; + my $parmas = {@_}; + return if !$params->{uid} || !$params->{target}; + my $users = $self->new_instance_of("Users"); + return if !$users->is_anonymous_uid($params->{uid}); + + if ($params->{time}) { + return $self->$self->update(uid => $params->{uid}, + $params->{target} => $params->{time} + ); + } + else { + return $self->update(uid => $params->{uid}, + $params->{target} => { function => 'NOW()'} + ); + } +} + +sub validate_submitter { + return $shift->update(validated_submitter, target => @_); + 1; -- 2.11.0