app/views/users/edit.html.erb

Summary

Maintainability
Test Coverage
<% provide(:title, "Dein Profil") %>
<% def n(p); number_to_percentage(100*p, :precision => 0); end %>

<div>
  <h2>Vorlesungsschlüssel hinzufügen</h2>
  <p>Den Vorlesungsschlüssel für die Lineare Algebra 2 erhälst Du in der ersten Vorlesung oder bei Deiner Tutorin bzw. Deinem Tutor. Gib den Schlüssel hier ein, wenn Du möchtest, dass Deine statistischen Daten anonymisiert in die Veranstaltungsstatistik einfließen. Diese Statistik liefert Informationen, die die Veranstaltungsleitung nutzen kann, um Problembereiche aufzudecken, die dann ggf. nochmal behandelt werden können.</p>

  <% if @user.enrollment_keys? %>
    <p>
      <b>Vorhandene Schlüssel:</b> <%= @user.enrollment_keys %>
    </p>
  <% end %>

  <%= form_for(@user, url: enroll_user_path(@user), method: :post) do |f| %>
    <%= render 'shared/error_messages', object: f.object if params[:commit] == "Passwort ändern"  %>

    <%= text_field_tag :enrollment_key %>
    <%= f.submit "Schlüssel hinzufügen", class: "button", style: "float:left; margin-left: 4px; margin-top: 3px; clear: none" %>

    <%= hidden_field_tag :type, 'enrollment' %>
  <% end %>
</div>

<div>
  <h2>Statistik</h2>
  In den letzten 30 Tagen hast Du <%=@user.correct_count%> (<%=n @user.correct_ratio%>) Fragen richtig beantwortet und <%=@user.skip_count%> (<%=n @user.skip_ratio%>) übersprungen. Außerdem hast Du <%=@user.starred.size%> Fragen merken lassen.

  <% content_for :script do %><%= javascript_include_tag "highcharts" %><% end %>
  <%= high_chart("chart", @h) %>
</div>

<div>
  <h2>Persönliche Daten ändern</h2>

  <%= form_for(@user) do |f| %>
    <%= render 'shared/error_messages', object: f.object if params[:type] == "datachange" %>

    <%= f.label :nick %>
    <%= f.text_field :nick, disabled: true  %>
    <span>Kann nicht mehr geändert werden.</span>

    <%= f.label :mail %>
    <%= f.text_field :mail  %>
    <span>Optional. Nur für „Passwort vergessen“ Funktion.</span>

    <%= f.label :study_path %>
    <%= f.select :study_path, StudyPath.to_select %>
    <span>Optional.</span>

    <%= hidden_field_tag :type, 'datachange' %>

    <%= f.submit "Daten aktualisieren", class: "button" %>
  <% end %>

  <h2>Passwort ändern</h2>

  <%= form_for(@user) do |f| %>
    <%= render 'shared/error_messages', object: f.object if params[:type] == "pwchange"  %>

    <%= f.label :password, "Altes Passw." %>
    <%= f.password_field :password %>

    <%= f.label :password_confirmation %>
    <%= f.password_field :password_confirmation %>

    <%= hidden_field_tag :type, 'pwchange' %>

    <%= f.submit "Passwort ändern", class: "button" %>
  <% end %>
</div>