Skip to content

Commit c176575

Browse files
authored
Merge pull request #360 from linuxfrorg/mastodon_admin_part
Admin part of new Mastodon URL feature
2 parents 983e8b8 + 9eda6a2 commit c176575

10 files changed

Lines changed: 31 additions & 10 deletions

File tree

app/controllers/admin/accounts_controller.rb

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,9 @@ def update
4848
else
4949
@account.inactivate!
5050
user = @account.user
51-
user.homesite = ""
51+
user.homesite = nil
52+
user.jabber_id = nil
53+
user.mastodon_url = nil
5254
user.save
5355
Board.amr_notification("Le compte #{@account.login} #{user_url @account.login} a été désactivé par #{current_user.name} #{user_url(current_user)}")
5456
redirect_back notice: "Compte désactivé", fallback_location: admin_accounts_url
@@ -58,7 +60,9 @@ def update
5860
def destroy
5961
@account.inactivate!
6062
user = @account.user
61-
user.homesite = ""
63+
user.homesite = nil
64+
user.jabber_id = nil
65+
user.mastodon_url = nil
6266
user.save
6367
Board.amr_notification("Le compte #{@account.login} #{user_url @account.login} a été désactivé par #{current_user.name} #{user_url(current_user)}")
6468
redirect_to admin_accounts_url, notice: "Compte désactivé"

app/helpers/users_helper.rb

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -42,6 +42,8 @@ def jabber_link(user)
4242

4343
def mastodon_link(user)
4444
return if user.mastodon_url.blank?
45+
karma = user.account.try(:karma).to_i
46+
return unless karma > 0
4547
link_to("Mastodon", user.mastodon_url)
4648
end
4749
end

app/views/admin/accounts/index.html.haml

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@
1111

1212
%table
1313
%tr
14-
%th Pseudo / Courriel
14+
%th Pseudo / Adresses
1515
%th Karma
1616
%th Adresse IP courante / précédente
1717
%th Commentaires / contenus / étiquettes
@@ -28,9 +28,15 @@
2828
= image_tag "/images/icones/check.svg", alt: "Actif", title: "Actif", width: "16px"
2929
%br
3030
= account.email
31-
- if account.user.homesite
31+
- if account.user.homesite.present?
3232
%br
3333
= account.user.homesite
34+
- if account.user.jabber_id.present?
35+
%br
36+
= account.user.jabber_id
37+
- if account.user.mastodon_url.present?
38+
%br
39+
= account.user.mastodon_url
3440
%td= account.karma
3541
%td
3642
- if account.current_sign_in_ip != account.last_sign_in_ip

app/views/devise/registrations/_preferences.html.haml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@
1313
= u.text_field :jabber_id, placeholder: "me@example.net", maxlength: 32
1414
%p
1515
= u.label :mastodon_url, 'Adresse du compte Mastodon'
16-
= u.url_field :mastodon_url, placeholder: "https://mastodon.example/@me", maxlength: 255
16+
= u.url_field :mastodon_url, placeholder: "https://mastodon.example/@me", maxlength: 100
1717
%span.help
1818
Après avoir enregistré l’adresse de votre compte Mastodon, vous pourrez utiliser le lien <kbd>#{user_url(current_user)}</kbd> pour
1919
<a href="https://docs.joinmastodon.org/user/profile/#verification">prouver que le compte Mastodon et le compte LinuxFr.org appartiennent à la même personne.</a>

app/views/users/_recent.html.haml

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,12 @@
1111
%li Dernière connexion : #{a.current_sign_in_at ? l(@user.account.current_sign_in_at) : "-"}
1212
%li Dernière action : #{a.updated_at ? l(@user.account.updated_at) : "-"}
1313
%li Karma : #{a.karma} (minimum : #{a.min_karma}, maximum : #{a.max_karma})
14+
- if @user.homesite.present?
15+
%li Site perso : #{@user.homesite}
16+
- if @user.jabber_id.present?
17+
%li XMPP : #{@user.jabber_id}
18+
- if @user.mastodon_url.present?
19+
%li Mastodon : #{@user.mastodon_url}
1420
- if current_account.admin?
1521
%p Visibilité
1622
%ul

app/views/users/_user.html.haml

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,9 +6,12 @@
66
- unless user.account && user.account.active_for_authentication?
77
%p
88
Compte fermé
9-
- if user.homesite
9+
- if user.homesite.present?
1010
%p
1111
Site Web personnel : #{link_to user.homesite, user.homesite, class: 'url me'}
12-
- if current_account && user.jabber_id
12+
- if current_account && user.jabber_id.present?
1313
%p
1414
Adresse XMPP : #{link_to 'xmpp:' + user.jabber_id, 'xmpp:' + user.jabber_id, class: 'url'}
15+
- if current_account && user.mastodon_url.present?
16+
%p
17+
Adresse Mastodon : #{link_to 'Mastodon', user.mastodon_url, class: 'url'}

app/views/users/show.html.haml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44

55
=h1 "#{@user.name} a écrit #{pluralize @nodes.total_count, "contenu"} de type dépêche ou journal"
66
- feed "Flux Atom de #{@user.name}", "/users/#{@user.to_param}.atom"
7-
- if @user.mastodon_url
7+
- if @user.mastodon_url.present? and @user.account.try(:karma).to_i > 0
88
- link "me", @user.mastodon_url
99
- filter_pagination_params ['id', 'order', 'page']
1010
= paginated_nodes @nodes

db/pages/aide.html

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -297,7 +297,7 @@ <h2 id="aide-karma">Système de karma <a href="#aide-karma" class="anchor">¶</a
297297

298298
<p>Pour pouvoir écrire un journal, publier un lien ou discuter sur la tribune, il faut avoir un karma supérieur strictement à 0, et pour éditer une page de wiki, il faut un karma strictement supérieur à 20 (sources <a href="https://github.com/linuxfrorg/linuxfr.org/blob/master/app/models/diary.rb">journal</a>, <a href="https://github.com/linuxfrorg/linuxfr.org/blob/master/app/models/bookmark.rb">lien</a>, <a href="https://github.com/linuxfrorg/linuxfr.org/blob/master/app/models/wiki_page.rb">wiki</a> et <a href="https://github.com/linuxfrorg/linuxfr.org/blob/master/app/models/account.rb">tribune</a>).</p>
299299

300-
<p>Pour pouvoir afficher l’adresse de son site personnel, il faut avoir un karma strictement supérieur à 0 (<a href="https://github.com/linuxfrorg/linuxfr.org/blob/master/app/helpers/users_helper.rb">source</a>).</p>
300+
<p>Pour pouvoir afficher l’adresse de son site personnel ou de son compte Mastodon, il faut avoir un karma strictement supérieur à 0 (<a href="https://github.com/linuxfrorg/linuxfr.org/blob/master/app/helpers/users_helper.rb">source</a>).</p>
301301

302302

303303

db/schema.drawio

Lines changed: 1 addition & 1 deletion
Large diffs are not rendered by default.

db/schema.png

237 KB
Loading

0 commit comments

Comments
 (0)