Change various admin pages (#758)

* Change int to float for more granular admin controls

* Change int to float for more granular admin controls

* Add details to /mod for admins
This commit is contained in:
Ben Halpern 2018-09-27 18:03:49 -04:00 committed by GitHub
parent 4205d50bd8
commit eae8b6332f
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
4 changed files with 16 additions and 17 deletions

View file

@ -2,8 +2,8 @@ class BlackBox
def self.article_hotness_score(article)
return (article.featured_number || 10000) / 10000 unless Rails.env.production?
reaction_points = article.reactions.sum(:points)
super_super_recent_bonus = article.published_at > 1.hours.ago ? 15 : 0
super_recent_bonus = article.published_at > 3.hours.ago ? 10 : 0
super_super_recent_bonus = article.published_at > 1.hours.ago ? 18 : 0
super_recent_bonus = article.published_at > 3.hours.ago ? 11 : 0
recency_bonus = article.published_at > 12.hours.ago ? 70 : 0
today_bonus = article.published_at > 32.hours.ago ? 280 : 0
FunctionCaller.new("blackbox-production-articleHotness",

View file

@ -5,7 +5,7 @@ class Internal::ArticlesController < Internal::ApplicationController
case params[:state]
when /not\-buffered/
days_ago = params[:state].split("-")[2].to_i
days_ago = params[:state].split("-")[2].to_f
@articles = Article.
where(last_buffered: nil).
includes(:user).
@ -17,7 +17,7 @@ class Internal::ArticlesController < Internal::ApplicationController
per(50)
when /top\-/
@articles = Article.
where("published_at > ?", params[:state].split("-")[1].to_i.months.ago).
where("published_at > ?", params[:state].split("-")[1].to_f.months.ago).
includes(:user).
includes(:buffer_updates).
order("positive_reactions_count DESC").

View file

@ -18,13 +18,16 @@
</div>
<br/>
<br/>
<style>.top-nav a {border: 1px solid #d8d8d8;font-weight: bold;margin-right: 3px;font-size:0.9em}</style>
<style>.top-nav a {border: 1px solid #d8d8d8;font-weight: bold;margin-right: 3px;font-size:0.8em}</style>
<h3 class="top-nav">
<a href="/internal/articles" class="btn <%= "btn-success" if params[:state].blank? %>">Hot Posts</a>
<a href="/internal/articles?state=not-buffered-1" class="btn <%= "btn-success" if params[:state] == "not-buffered-1" %>">Not Buffered (Today)</a>
<a href="/internal/articles?state=not-buffered-7" class="btn <%= "btn-success" if params[:state] == "not-buffered-7" %>">Not Buffered (This Week)</a>
<a href="/internal/articles?state=top-3" class="btn <%= "btn-success" if params[:state] == "top-3" %>">Top (3 mo)</a>
<a href="/internal/articles?state=top-6" class="btn <%= "btn-success" if params[:state] == "top-6" %>">Top (6 mo)</a>
<a href="/internal/articles" class="btn <%= "btn-success" if params[:state].blank? %>">Hot Posts</a>
Not Buffered:
<a href="/internal/articles?state=not-buffered-0.25" class="btn <%= "btn-success" if params[:state] == "not-buffered-0.25" %>">6hr</a>
<a href="/internal/articles?state=not-buffered-1" class="btn <%= "btn-success" if params[:state] == "not-buffered-1" %>">1d</a>
<a href="/internal/articles?state=not-buffered-7" class="btn <%= "btn-success" if params[:state] == "not-buffered-7" %>">7d</a>
Top:
<a href="/internal/articles?state=top-3" class="btn <%= "btn-success" if params[:state] == "top-3" %>">3mo</a>
<a href="/internal/articles?state=top-6" class="btn <%= "btn-success" if params[:state] == "top-6" %>">6mo</a>
<a href="/internal/articles?state=boosted-additional-articles" class="btn <%= "btn-success" if params[:state] == "boosted-additional-articles" %>">Boosted</a>
</h3>
<br/>

View file

@ -35,13 +35,9 @@
</button>
<% if current_user.has_role?(:super_admin) && @moderatable.class.name == "Article" %>
<h1> Admin Functionality!</h1>
<script
src="https://code.jquery.com/jquery-2.2.4.min.js"
integrity="sha256-BbhdlvQf/xTY9gja0Dq3HiwQF8LaCRTXxZKRutelT44="
crossorigin="anonymous"></script>
<%= render "internal/articles/individual_article", article: @moderatable %>
<%= render "internal/articles/article_script" %>
<h1> Admin: <a href="<%= @moderatable.path %>/edit">Edit</a> | <a href="/internal/articles/<%= @moderatable.id %>" data-no-instant>Content Moderation</a> | <a href="/admin/articles/<%= @moderatable.id %>" data-no-instant>Article Admin</a></h1>
<% elsif current_user.has_role?(:super_admin) && @moderatable.class.name == "Comment" %>
<h1> ADMIN: <a href="/admin/comments/<%= @moderatable.id %>" data-no-instant>Comment Admin</a> | <a href="/admin/users/<%= @moderatable.user_id %>" data-no-instant>User Admin</a></h1>
<% else %>
<p style="width: 90%;margin:50px auto;text-align:left">
<b style="font-size:1.3em">All negative reactions are 100% private.</b>