Skip to content

Commit dcac61b

Browse files
committed
role: document maintainer role and split maintainer list and tracker_admin
The split allow to only list maintainer in the team static page.
1 parent a0c9e12 commit dcac61b

File tree

7 files changed

+31
-5
lines changed

7 files changed

+31
-5
lines changed

app/controllers/trackers_controller.rb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -88,7 +88,7 @@ def destroy
8888
protected
8989

9090
def tracker_params
91-
if current_account.try(:admin?) or current_account.try(:maintainer?)
91+
if current_account.try(:tracker_admin?)
9292
params.require(:tracker).permit!
9393
else
9494
params.require(:tracker).permit(:title, :wiki_body, :category_id, :state)

app/helpers/static_helper.rb

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,10 @@ def helper_moderator_list
2626
people_list Account.moderator
2727
end
2828

29+
def helper_maintainer_list
30+
people_list Account.maintainer
31+
end
32+
2933
def helper_friend_sites_list
3034
sites = FriendSite.all.map { |s| content_tag(:li, link_to(s.title, s.url)) }
3135
content_tag(:ul, safe_join(sites), class: "people-list")

app/models/account.rb

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -128,7 +128,8 @@ def update_with_password(params={}, *options)
128128
### Role ###
129129

130130
scope :active, -> { where("role != 'inactive'") }
131-
scope :maintainer, -> { where(role: %w[admin maintainer]) }
131+
scope :maintainer, -> { where(role: "maintainer") }
132+
scope :tracker_admin, -> { where(role: %w[admin maintainer]) }
132133
scope :moderator, -> { where(role: "moderator") }
133134
scope :editor, -> { where(role: "editor") }
134135
scope :admin, -> { where(role: "admin") }
@@ -162,6 +163,11 @@ def log_role
162163
logs.create(description: "Changement de rôle : #{roles.join ' → '}", user_id: amr_id)
163164
end
164165

166+
# A tracker admin can update, assign and delete a node of the tracker
167+
def tracker_admin?
168+
admin? || maintainer?
169+
end
170+
165171
# An AMR is someone who is either an admin or a moderator
166172
def amr?
167173
admin? || moderator?

app/views/trackers/_form.html.haml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,10 +17,10 @@
1717
%p
1818
= form.label :state, "État"
1919
= form.select :state, Tracker::States.invert
20-
- if current_account.admin? or current_account.maintainer?
20+
- if current_account.tracker_admin?
2121
%p
2222
= form.label :assigned_to_user_id, "Assigné à"
23-
= form.collection_select :assigned_to_user_id, Account.maintainer, :user_id, :login, include_blank: true
23+
= form.collection_select :assigned_to_user_id, Account.tracker_admin, :user_id, :login, include_blank: true
2424
%p
2525
= form.submit "Prévisualiser", id: "tracker_preview"
2626
= form.submit "Soumettre", 'data-disable-with' => "Enregistrement en cours" if @preview_mode || @tracker.persisted?

app/views/trackers/index.html.haml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@
2222
= f.collection_select :category_id, Category.all, :id, :title, include_blank: true
2323
%p
2424
= f.label :assigned_to_user_id, "Assigné à : "
25-
= f.collection_select :assigned_to_user_id, Account.maintainer, :user_id, :name, include_blank: true
25+
= f.collection_select :assigned_to_user_id, Account.tracker_admin, :user_id, :name, include_blank: true
2626
%p
2727
= label_tag :order, "Trier par : "
2828
= select_tag :order, options_for_select({ "Date d’ouverture" => "created_at", "Note" => "score", "Nombre de commentaires" => "comments_count", "Dernier commentaire" => "last_commented_at" }, @order)

db/pages/aide.html

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -114,6 +114,11 @@ <h2 id="aide-authentification">Visiteur (non) authentifié, ou pourquoi ouvrir u
114114

115115
<p>Le modérateur est par ailleurs abonné à la liste de discussion <a href="https://lists.linuxfr.org/wws/arc/meta"><em>meta@</em></a> de coordination des équipes du site ainsi qu’à la liste de discussion <a href="https://lists.linuxfr.org/wws/arc/moderateurs"><em>moderateurs@</em></a>.</p>
116116

117+
<p>Par rapport à un visiteur, un mainteneur (rôle <i>mainteneur</i>) peut :</p>
118+
<ul>
119+
<li>gérer les bogues et propositions d’évolution signalés dans le <a href="//linuxfr.org/suivi">système de suivi</a> (édition, assignation à un mainteneur et suppression) ;</li>
120+
</ul>
121+
117122
<p>Un admin (rôle <i>admin</i>) cumule toutes les possibilités précédentes, et peut en plus :</p>
118123
<ul>
119124
<li>créditer le karma d’un compte de 50 points ;</li>
@@ -310,6 +315,7 @@ <h2 id="aide-role">À quoi correspond le rôle sur la page d’un utilisateur
310315
<li>compte fermé (<i>inactive</i>) : les comptes fermés ;</li>
311316
<li>modérateur (<i>moderator</i>) : les <a href="/team">modérateurs</a> ;</li>
312317
<li>animateur (<i>editor</i>) : les <a href="/team">animateurs de l’espace de rédaction</a> ;</li>
318+
<li>mainteneur (<i>maintainer</i>) : les <a href="/team">mainteneurs du site</a> ;</li>
313319
<li>visiteur ou contributeur (<i>visitor</i>) : les visiteurs, tous ceux qui ne sont pas dans une catégorie précédente, suivant s’ils ont déjà écrits des contenus ou non.</li>
314320
</ul>
315321

db/pages/team.html

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,16 @@ <h2>Les animateurs de l’espace de rédaction</h2>
2525
</p>
2626
{{editor_list}}
2727

28+
<h2>Les mainteneurs du site</h2>
29+
<p>
30+
Ils s'occupent de maintenir et faire évoluer le code du site <em>LinuxFr.org</em>.
31+
Ils gèrent les bogues et propositions d'évolution signalés dans le
32+
<a href="//linuxfr.org/suivi">système de suivi</a> (édition, assignation à un mainteneur et suppression).
33+
<p>
34+
Les mainteneuses et mainteneurs actuels sont:
35+
</p>
36+
{{maintainer_list}}
37+
2838
<h2>Les administrateurs</h2>
2939
<p>
3040
Les serveurs de <em>LinuxFr.org</em> sont administrés par une équipe très compétente (si si, je vous assure).

0 commit comments

Comments
 (0)