05/22 Implement license version
This commit is contained in:
+15
-2
@@ -999,6 +999,10 @@ def ticket_survey(token):
|
||||
@tickets_bp.route('/tickets/<int:ticket_id>/watch', methods=['POST'])
|
||||
@login_required
|
||||
def watch_ticket(ticket_id):
|
||||
from app.services.license_service import feature_enabled
|
||||
from flask import jsonify
|
||||
if not feature_enabled('watchers'):
|
||||
return jsonify({'error': 'Ticket watchers require a Business or Enterprise license.'}), 403
|
||||
ticket = db.session.get(Ticket, ticket_id) or abort(404)
|
||||
if not current_user.is_it_staff and ticket.created_by_id != current_user.id:
|
||||
abort(403)
|
||||
@@ -1006,19 +1010,21 @@ def watch_ticket(ticket_id):
|
||||
if not existing:
|
||||
db.session.add(TicketWatcher(ticket_id=ticket_id, user_id=current_user.id))
|
||||
db.session.commit()
|
||||
from flask import jsonify
|
||||
return jsonify({'watching': True})
|
||||
|
||||
|
||||
@tickets_bp.route('/tickets/<int:ticket_id>/unwatch', methods=['POST'])
|
||||
@login_required
|
||||
def unwatch_ticket(ticket_id):
|
||||
from app.services.license_service import feature_enabled
|
||||
from flask import jsonify
|
||||
if not feature_enabled('watchers'):
|
||||
return jsonify({'error': 'Ticket watchers require a Business or Enterprise license.'}), 403
|
||||
ticket = db.session.get(Ticket, ticket_id) or abort(404)
|
||||
if not current_user.is_it_staff and ticket.created_by_id != current_user.id:
|
||||
abort(403)
|
||||
TicketWatcher.query.filter_by(ticket_id=ticket_id, user_id=current_user.id).delete()
|
||||
db.session.commit()
|
||||
from flask import jsonify
|
||||
return jsonify({'watching': False})
|
||||
|
||||
|
||||
@@ -1027,6 +1033,13 @@ def unwatch_ticket(ticket_id):
|
||||
@tickets_bp.route('/tickets/<int:ticket_id>/log-time', methods=['POST'])
|
||||
@login_required
|
||||
def log_time(ticket_id):
|
||||
from app.services.license_service import feature_enabled
|
||||
if not feature_enabled('time_tracking'):
|
||||
if request.headers.get('X-Requested-With') == 'XMLHttpRequest':
|
||||
from flask import jsonify
|
||||
return jsonify({'error': 'Time tracking requires a Business or Enterprise license.'}), 403
|
||||
flash('Time tracking requires a Business or Enterprise license.', 'warning')
|
||||
return redirect(url_for('tickets.ticket_detail', ticket_id=ticket_id))
|
||||
if not current_user.is_it_staff:
|
||||
abort(403)
|
||||
ticket = db.session.get(Ticket, ticket_id) or abort(404)
|
||||
|
||||
Reference in New Issue
Block a user