Ролевая модель и аудит Часть 1.
This commit is contained in:
@@ -36,7 +36,7 @@ create_review(UserId, TargetType, TargetId, Rating, Comment) ->
|
||||
get_review(UserId, ReviewId) ->
|
||||
case core_review:get_by_id(ReviewId) of
|
||||
{ok, Review} ->
|
||||
case is_admin(UserId) orelse Review#review.status =:= visible of
|
||||
case admin_utils:is_admin(UserId) orelse Review#review.status =:= visible of
|
||||
true -> {ok, Review};
|
||||
false -> {error, access_denied}
|
||||
end;
|
||||
@@ -48,7 +48,7 @@ get_review(UserId, ReviewId) ->
|
||||
list_reviews(UserId, TargetType, TargetId) ->
|
||||
case core_review:list_by_target(TargetType, TargetId) of
|
||||
{ok, Reviews} ->
|
||||
case is_admin(UserId) of
|
||||
case admin_utils:is_admin(UserId) of
|
||||
true -> {ok, Reviews};
|
||||
false -> {ok, [R || R <- Reviews, R#review.status =:= visible]}
|
||||
end;
|
||||
@@ -95,7 +95,7 @@ update_review(UserId, ReviewId, Updates) ->
|
||||
delete_review(UserId, ReviewId) ->
|
||||
case core_review:get_by_id(ReviewId) of
|
||||
{ok, Review} ->
|
||||
case Review#review.user_id =:= UserId orelse is_admin(UserId) of
|
||||
case Review#review.user_id =:= UserId orelse admin_utils:is_admin(UserId) of
|
||||
true ->
|
||||
TargetType = Review#review.target_type,
|
||||
TargetId = Review#review.target_id,
|
||||
@@ -159,7 +159,7 @@ can_review(UserId, TargetType, TargetId) ->
|
||||
|
||||
%% Проверка, может ли пользователь модерировать отзыв (скрыть/раскрыть)
|
||||
can_moderate_review(UserId, ReviewId) ->
|
||||
case is_admin(UserId) of
|
||||
case admin_utils:is_admin(UserId) of
|
||||
true ->
|
||||
true;
|
||||
false ->
|
||||
@@ -200,12 +200,6 @@ target_exists(calendar, CalendarId) ->
|
||||
end;
|
||||
target_exists(_, _) -> false.
|
||||
|
||||
is_admin(UserId) ->
|
||||
case core_user:get_by_id(UserId) of
|
||||
{ok, User} -> User#user.role =:= admin;
|
||||
_ -> false
|
||||
end.
|
||||
|
||||
update_target_rating(event, EventId) ->
|
||||
{Avg, Count} = core_review:get_average_rating(event, EventId),
|
||||
io:format("Updating event ~p rating: avg=~p, count=~p~n", [EventId, Avg, Count]),
|
||||
|
||||
Reference in New Issue
Block a user