Inviter des badges en s'invitant soi-même

Ce sont bien des badges système, et ils ne peuvent pas être modifiés par l’interface utilisateur (bien qu’ils soient visibles). Cette ligne devrait être ajoutée avec une PR. :+1:

3 « J'aime »

Cela vous dérangerait si j’essayais de faire cette PR. Je pense qu’il me suffit de changer le SQL dans discourse/lib/badge_queries.rb lignes 156-167.

3 « J'aime »

Bonjour. Après la suppression de mes badges il y a un jour, ils sont soudainement réapparus. Quelqu’un peut-il résoudre ce problème ?

1 « J'aime »

Ils reviendront car les requêtes s’exécutent quotidiennement et vous ‘qualifiez’ toujours. :slight_smile: Nous devrions les supprimer manuellement chaque jour jusqu’à ce que le bug soit corrigé, ce qui n’est pas réaliste.

J’ai vérifié, et nous pouvons en faire un pr-welcome :+1: (Vous devrez faire les trois)

4 « J'aime »

Compris, merci. Je devrais être capable de faire ça

Et je ne vois pas pourquoi j’aurais besoin de faire le 3. Celui pour les liens d’invitation est une fonction qui renvoie le nombre si j’ai bien lu la fonction.

3 « J'aime »

Je n’ai pas regardé le code, donc vous avez peut-être raison. :slightly_smiling_face:

3 « J'aime »
  def self.invite_badge(count, trust_level)
    ~SQL
      SELECT u.id user_id, current_timestamp granted_at
      FROM users u
      WHERE u.id IN (
        SELECT invited_by_id
        FROM invites i
        JOIN invited_users iu ON iu.invite_id = i.id
        JOIN users u2 ON u2.id = iu.user_id
        WHERE i.deleted_at IS NULL AND u2.active AND u2.trust_level >= #{trust_level.to_i} AND u2.silenced_till IS NULL
        GROUP BY invited_by_id
        HAVING COUNT(*) >= #{count.to_i}
      ) AND u.active AND u.silenced_till IS NULL AND u.id > 0 AND
        (:backfill OR u.id IN (:user_ids) )
    SQL
  end

Le voici. Il semble que ce soit juste le 1. Et j’ai parcouru tout le fichier et rien d’autre avec des invitations.


J’ai fait la PR

5 « J'aime »

En regardant la PR (et gardez à l’esprit que les PR ne sont pas mon fort), il semble que vous l’ayez codé en dur pour qu’il s’agisse uniquement de la version Promoter en changeant le #{count.to_i} en 1 ?

Mon exemple ci-dessus n’était qu’une preuve de concept et devrait être adapté. :+1:

(De plus, en regardant le texte dans cette onebox, je suis ‘JammyDodger’ et non ‘Jammy Dogger’… :slight_smile:)

8 « J'aime »

Désolé. J’ai corrigé votre nom

4 « J'aime »

Merci pour votre contribution ! J’ai fusionné votre PR

Aussi, une toute petite note indiquant que nous exigeons généralement des tests pour les modifications, mais comme il n’y en avait pas auparavant, nous allons simplement fusionner ceci et combler le manque.

J’espère vous revoir bientôt :hugs:

8 « J'aime »

Ce sujet a été automatiquement fermé après 2 jours. Les nouvelles réponses ne sont plus autorisées.