<commit_before><% provide(:title, "Frage reviewen") %>

<%= render "menu"  %>

<div>
  <% filter = Review.filter(params[:filter]) rescue nil %>
  <% if filter %>
    <%=link_to "Nächste Frage (in „#{filter[:link_title]}“)", review_find_next_path(filter: params[:filter], next: params[:next] || "") %>
  <% end %>
</div>

<div>
  <h2>Frage <%=@question.ident%></h2>
  <%=trace_to_root_formatter @question.trace_to_root(true)%>
  <span style="color: #777;display: block;margin-top:-10px;margin-bottom: 20px">
    Fragentyp: <%= @question.difficulty(:name) %> |
    Studiengang: <%= x=@question.study_path(:name); x.blank? ? "alle" : x %> |
    Freigegeben: <%=bool_to_symbol(@question.released?)%> |
    <span title="<%=@question.incomplete_reason || "alles ok"%>" style="cursor: help">
      für Studis sichtbar: <%=bool_to_symbol(@question.complete?)%>
    </span>
  </span>

  <div class="topright">
    <%=link_to "Frage „live“ ansehen", "#{main_hitme_path}#hide-options#question=#{@question.id}" %>
    <% if admin? %>
      | <%= render "questions/toggle_release" %>
      | <%= link_to("Bearbeiten", edit_question_path(@question)) %>
    <% end %>
  </div>

  <%= render "questions/render_review", question: @question %>
</div>

<div>
  <h2>Reviews</h2>
  <% if @question.reviews.none? %>
    bisher noch keine.
  <% else %>
    <%
      any_not_okay = @question.reviews.any? { |r| !r.okay }
      any_unread = @question.reviews.any? { |r| r.question_updated_since? }

      if admin? && (any_not_okay || any_unread)
        confirm = ["Wenn Du fortfährst, passiert folgendes:"]
        if any_not_okay
          confirm << "• nicht-okay-e Reviews, kriegen einen grünen Haken"
          confirm << "• bei den umgestellten Reviews wird Dein Tun vermerkt"
        end
        confirm << "• die Frage wird für alle Reviewer als gelesen markiert"
        confirm += ["", "Fortfahren und Reviews ignorieren?"]
        %>
        <%=link_to "Ich habe Recht™ und die Reviews sind mir egal",
          question_overwrite_reviews_path(@question),
          confirm: confirm*"\n",
          method: :put
        %>
        <hr class="clear"/>
        <%
      end
    %>

    <% question_edit_msg_shown = false %>
    <% @question.reviews.each do |r| %>
      <% if !question_edit_msg_shown && r.question_updated_since? %>
        <%= render "last_update" %>
        <% question_edit_msg_shown = true %>
      <% end %>

      <%= render "show", review: r, dimmed: question_edit_msg_shown %>
    <% end %>

    <%= render "last_update" if !question_edit_msg_shown %>
  <% end %>
</div>


<% if reviewer? %>
  <%= render "form" %>
<% end %>


<div>
  <h2>Graph</h2>
  <p>Zur leichteren Orientierung wo diese Frage anzusiedeln ist findest Du nachfolgend einen Baum-Graphen, der einen Auschnitt zeigt. „Höhere“ Sachen sind links „tiefere“ rechts. D.h. wenn man den ganzen Graph darstellen würde, wären ganz links die auf der Startseite auswählbaren Kategorien.</p>

  <%=render_dot(@question.dot_region(true))%>
</div>
<commit_msg>avoid empty box if no filter selected<commit_after><% provide(:title, "Frage reviewen") %>

<%= render "menu"  %>

<% filter = Review.filter(params[:filter]) rescue nil %>
<% if filter %>
  <div>
    <%=link_to "Nächste Frage (in „#{filter[:link_title]}“)", review_find_next_path(filter: params[:filter], next: params[:next] || "") %>
  </div>
<% end %>


<div>
  <h2>Frage <%=@question.ident%></h2>
  <%=trace_to_root_formatter @question.trace_to_root(true)%>
  <span style="color: #777;display: block;margin-top:-10px;margin-bottom: 20px">
    Fragentyp: <%= @question.difficulty(:name) %> |
    Studiengang: <%= x=@question.study_path(:name); x.blank? ? "alle" : x %> |
    Freigegeben: <%=bool_to_symbol(@question.released?)%> |
    <span title="<%=@question.incomplete_reason || "alles ok"%>" style="cursor: help">
      für Studis sichtbar: <%=bool_to_symbol(@question.complete?)%>
    </span>
  </span>

  <div class="topright">
    <%=link_to "Frage „live“ ansehen", "#{main_hitme_path}#hide-options#question=#{@question.id}" %>
    <% if admin? %>
      | <%= render "questions/toggle_release" %>
      | <%= link_to("Bearbeiten", edit_question_path(@question)) %>
    <% end %>
  </div>

  <%= render "questions/render_review", question: @question %>
</div>

<div>
  <h2>Reviews</h2>
  <% if @question.reviews.none? %>
    bisher noch keine.
  <% else %>
    <%
      any_not_okay = @question.reviews.any? { |r| !r.okay }
      any_unread = @question.reviews.any? { |r| r.question_updated_since? }

      if admin? && (any_not_okay || any_unread)
        confirm = ["Wenn Du fortfährst, passiert folgendes:"]
        if any_not_okay
          confirm << "• nicht-okay-e Reviews, kriegen einen grünen Haken"
          confirm << "• bei den umgestellten Reviews wird Dein Tun vermerkt"
        end
        confirm << "• die Frage wird für alle Reviewer als gelesen markiert"
        confirm += ["", "Fortfahren und Reviews ignorieren?"]
        %>
        <%=link_to "Ich habe Recht™ und die Reviews sind mir egal",
          question_overwrite_reviews_path(@question),
          confirm: confirm*"\n",
          method: :put
        %>
        <hr class="clear"/>
        <%
      end
    %>

    <% question_edit_msg_shown = false %>
    <% @question.reviews.each do |r| %>
      <% if !question_edit_msg_shown && r.question_updated_since? %>
        <%= render "last_update" %>
        <% question_edit_msg_shown = true %>
      <% end %>

      <%= render "show", review: r, dimmed: question_edit_msg_shown %>
    <% end %>

    <%= render "last_update" if !question_edit_msg_shown %>
  <% end %>
</div>


<% if reviewer? %>
  <%= render "form" %>
<% end %>


<div>
  <h2>Graph</h2>
  <p>Zur leichteren Orientierung wo diese Frage anzusiedeln ist findest Du nachfolgend einen Baum-Graphen, der einen Auschnitt zeigt. „Höhere“ Sachen sind links „tiefere“ rechts. D.h. wenn man den ganzen Graph darstellen würde, wären ganz links die auf der Startseite auswählbaren Kategorien.</p>

  <%=render_dot(@question.dot_region(true))%>
</div>

{'fraction_non_alphanumeric': 0.17037403196572748, 'fraction_numerical': 0.004284066567803592, 'mean_word_length': 3.373198847262248, 'pattern_counts': {'":': 0, '<': 137, '<?xml version=': 0, '>': 125, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '1764060', 'n_tokens_mistral': 2304, 'n_tokens_neox': 2115, 'n_words': 468}