Skip to content

Conversation

@ArnavBallinCode
Copy link
Contributor

@ArnavBallinCode ArnavBallinCode commented Nov 14, 2025

  • Permission Labels Refined (Backend):
    The older, ambiguous permission names were reworked into clearer, role-centric labels:

    • “Can work with and change proposals” → Reviewer Manager — can edit and manage submissions
    • “Is a reviewer” → Reviewer — can only review submissions
      Additional help-text was introduced to explicitly define what each permission level enables, reducing user confusion and enabling more informed decision-making.
  • Permissions UI Surfaced (Frontend):
    A new Talk Permissions section was added to the team management page, making four previously hidden permission checkboxes visible and configurable.
    This ensures the UI now accurately represents all reviewer-related backend capabilities.

Fixes #1271
Screenshot 2025-11-15 at 1 16 30 AM

Summary by Sourcery

Surface hidden talk permissions in the frontend UI and improve backend permission labels with explanatory help text to reduce user confusion

New Features:

  • Expose talk-related permissions on the team management page via a new 'Talk permissions' section

Enhancements:

  • Rename reviewer permission fields to 'Reviewer Manager — can edit and manage submissions' and 'Reviewer — can only review submissions' with detailed help texts to clarify responsibilities

…reviewer'

were unclear about the actual permissions granted. Updated labels and added help text.
@sourcery-ai
Copy link
Contributor

sourcery-ai bot commented Nov 14, 2025

Reviewer's Guide

Refactors backend Reviewer permissions with clearer, role-centric labels and explanatory help text, and exposes those permissions in the frontend team management UI under a new “Talk Permissions” section.

Class diagram for updated Team permissions model

classDiagram
class Team {
  +Boolean can_change_submissions
  +Boolean is_reviewer
  +Boolean force_hide_speaker_names
  +ManyToMany limit_tracks
}
Team : can_change_submissions "Reviewer Manager — can edit and manage submissions"
Team : is_reviewer "Reviewer — can only review submissions"
Team : force_hide_speaker_names "Always hide speaker names"
Team : limit_tracks "Limit to tracks"
Loading

File-Level Changes

Change Details Files
Refined backend permission labels and added help text for clearer role definitions
  • Updated verbose_name for can_change_submissions to “Reviewer Manager — can edit and manage submissions”
  • Added detailed help_text describing full management capabilities for can_change_submissions
  • Updated verbose_name for is_reviewer to “Reviewer — can only review submissions”
  • Added help_text clarifying review-only scope for is_reviewer
app/eventyay/base/models/organizer.py
Exposed talk-related permissions in the team management UI
  • Introduced a new “Talk permissions” fieldset
  • Rendered can_change_submissions and is_reviewer checkboxes
  • Included force_hide_speaker_names and limit_tracks fields
  • Ensured frontend reflects all reviewer-related backend capabilities
app/eventyay/control/templates/pretixcontrol/organizers/team_edit.html

Assessment against linked issues

Issue Objective Addressed Explanation
#1271 Replace ambiguous permission labels with clearer, role-centric labels: 'Reviewer' and 'Reviewer Manager' in both backend and frontend.
#1271 Update help-text/documentation to explicitly define what each permission level enables, clarifying the difference between reviewing and management permissions.
#1271 Ensure the team management UI surfaces the Talk Permissions section with all relevant reviewer-related permission checkboxes visible and configurable.

Possibly linked issues


Tips and commands

Interacting with Sourcery

  • Trigger a new review: Comment @sourcery-ai review on the pull request.
  • Continue discussions: Reply directly to Sourcery's review comments.
  • Generate a GitHub issue from a review comment: Ask Sourcery to create an
    issue from a review comment by replying to it. You can also reply to a
    review comment with @sourcery-ai issue to create an issue from it.
  • Generate a pull request title: Write @sourcery-ai anywhere in the pull
    request title to generate a title at any time. You can also comment
    @sourcery-ai title on the pull request to (re-)generate the title at any time.
  • Generate a pull request summary: Write @sourcery-ai summary anywhere in
    the pull request body to generate a PR summary at any time exactly where you
    want it. You can also comment @sourcery-ai summary on the pull request to
    (re-)generate the summary at any time.
  • Generate reviewer's guide: Comment @sourcery-ai guide on the pull
    request to (re-)generate the reviewer's guide at any time.
  • Resolve all Sourcery comments: Comment @sourcery-ai resolve on the
    pull request to resolve all Sourcery comments. Useful if you've already
    addressed all the comments and don't want to see them anymore.
  • Dismiss all Sourcery reviews: Comment @sourcery-ai dismiss on the pull
    request to dismiss all existing Sourcery reviews. Especially useful if you
    want to start fresh with a new review - don't forget to comment
    @sourcery-ai review to trigger a new review!

Customizing Your Experience

Access your dashboard to:

  • Enable or disable review features such as the Sourcery-generated pull request
    summary, the reviewer's guide, and others.
  • Change the review language.
  • Add, remove or edit custom review instructions.
  • Adjust other review settings.

Getting Help

Copy link
Contributor

@sourcery-ai sourcery-ai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hey there - I've reviewed your changes and they look great!

Prompt for AI Agents
Please address the comments from this code review:

## Individual Comments

### Comment 1
<location> `app/eventyay/base/models/organizer.py:424-432` </location>
<code_context>
-    is_reviewer = models.BooleanField(default=False, verbose_name=_('Is a reviewer'))
+    can_change_submissions = models.BooleanField(
+        default=False,
+        verbose_name=_('Reviewer Manager — can edit and manage submissions'),
+        help_text=_(
+            'Can edit submission details, change proposal states (accept/reject/waitlist), '
</code_context>

<issue_to_address>
**suggestion:** Consider using a more neutral verbose_name for can_change_submissions.

Using 'Reviewer Manager' may cause confusion if this role isn't defined elsewhere. For clarity and consistency, consider a label like 'Can edit and manage submissions.'

```suggestion
    can_change_submissions = models.BooleanField(
        default=False,
        verbose_name=_('Can edit and manage submissions'),
        help_text=_(
            'Can edit submission details, change proposal states (accept/reject/waitlist), '
            'manage submission metadata, and oversee the review workflow. '
            'This provides full management permissions beyond standard reviewing.'
        )
    )
```
</issue_to_address>

### Comment 2
<location> `app/eventyay/base/models/organizer.py:435` </location>
<code_context>
+    )
+    is_reviewer = models.BooleanField(
+        default=False,
+        verbose_name=_('Reviewer — can only review submissions'),
+        help_text=_(
+            'Can review and provide feedback on submissions but cannot edit details or change submission states.'
</code_context>

<issue_to_address>
**suggestion:** The verbose_name for is_reviewer may be redundant with the help_text.

Consider changing verbose_name to 'Reviewer' and keeping the explanatory details in help_text for clarity.

```suggestion
        verbose_name=_('Reviewer'),
```
</issue_to_address>

Sourcery is free for open source - if you like our reviews please consider sharing them ✨
Help me be more useful! Please click 👍 or 👎 on each comment and I'll use the feedback to improve your reviews.

ArnavBallinCode and others added 2 commits November 15, 2025 01:38
Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com>
Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com>
Copy link
Member

@Gagan-Ram Gagan-Ram left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

  1. You have made changes to models, so its corresponding migrations are expected to be present/added.
  2. is_reviewer is already present in organizer.py file, please edit that instead of adding a new redundant field.
  3. @mariobehling We no more want to keep team add/modify UIs in /control and talk component. Team addition and modification works good in common area itself.

Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull Request Overview

This PR enhances the talk permissions system by improving label clarity and making hidden permissions visible in the team management interface. The changes rename ambiguous permission names to role-centric labels and add detailed help text to reduce user confusion.

  • Updated permission labels from generic names to clearer, role-specific descriptions with comprehensive help text
  • Exposed four previously hidden talk-related permission checkboxes in the team management UI
  • Created a database migration to update field metadata for existing deployments

Reviewed Changes

Copilot reviewed 3 out of 3 changed files in this pull request and generated no comments.

File Description
app/eventyay/base/models/organizer.py Renamed can_change_submissions and is_reviewer verbose names and added detailed help text explaining each permission level's capabilities
app/eventyay/base/migrations/0002_update_team_permission_labels.py Database migration to apply the updated field labels and help text to the Team model
app/eventyay/control/templates/pretixcontrol/organizers/team_edit.html Added new "Talk permissions" fieldset exposing four talk-related permission fields in the team editor UI

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Organizer Account: Talk permissions in Team settings are unclear

3 participants