added manager user type

This commit is contained in:
2025-06-05 14:43:06 +02:00
parent 164e8373a4
commit 33f6e0386b
24 changed files with 226 additions and 128 deletions

View File

@@ -61,8 +61,8 @@ def conversations():
@login_required
@require_password_change
def create_conversation():
if not current_user.is_admin:
flash('Only administrators can create conversations.', 'error')
if not (current_user.is_admin or current_user.is_manager):
flash('Only administrators and managers can create conversations.', 'error')
return redirect(url_for('conversations.conversations'))
form = ConversationForm()
@@ -148,8 +148,8 @@ def conversation(conversation_id):
# Query messages directly using the Message model
messages = Message.query.filter_by(conversation_id=conversation_id).order_by(Message.created_at.asc()).all()
# Get all users for member selection (only needed for admin)
all_users = User.query.all() if current_user.is_admin else None
# Get all users for member selection (needed for admin and manager)
all_users = User.query.all() if (current_user.is_admin or current_user.is_manager) else None
unread_count = get_unread_count(current_user.id)
return render_template('conversations/conversation.html',
@@ -167,8 +167,8 @@ def conversation_members(conversation_id):
flash('You do not have access to this conversation.', 'error')
return redirect(url_for('conversations.conversations'))
if not current_user.is_admin:
flash('Only administrators can manage conversation members.', 'error')
if not (current_user.is_admin or current_user.is_manager):
flash('Only administrators and managers can manage conversation members.', 'error')
return redirect(url_for('conversations.conversation', conversation_id=conversation_id))
available_users = User.query.filter(~User.id.in_([m.id for m in conversation.members])).all()