feat: enhance add_playlist function to support JSON input and manage additional users for playlists
This commit is contained in:
@@ -9,7 +9,7 @@ from app.tasks import task_manager
|
|||||||
|
|
||||||
from app.registry.music_provider_registry import MusicProviderRegistry
|
from app.registry.music_provider_registry import MusicProviderRegistry
|
||||||
from jellyfin.objects import PlaylistMetadata
|
from jellyfin.objects import PlaylistMetadata
|
||||||
from app.routes import pl_bp
|
from app.routes import pl_bp, routes
|
||||||
|
|
||||||
@app.route('/jellyfin_playlists')
|
@app.route('/jellyfin_playlists')
|
||||||
@functions.jellyfin_login_required
|
@functions.jellyfin_login_required
|
||||||
@@ -53,6 +53,13 @@ def jellyfin_playlists():
|
|||||||
def add_playlist():
|
def add_playlist():
|
||||||
playlist_id = request.form.get('item_id')
|
playlist_id = request.form.get('item_id')
|
||||||
playlist_name = request.form.get('item_name')
|
playlist_name = request.form.get('item_name')
|
||||||
|
|
||||||
|
if not playlist_id and request.data:
|
||||||
|
# get data convert from json to dict
|
||||||
|
data = request.get_json()
|
||||||
|
playlist_id = data.get('item_id')
|
||||||
|
playlist_name = data.get('item_name')
|
||||||
|
additional_users = data.get('additional_users')
|
||||||
# also get the provider id from the query params
|
# also get the provider id from the query params
|
||||||
provider_id = request.args.get('provider')
|
provider_id = request.args.get('provider')
|
||||||
if not playlist_id:
|
if not playlist_id:
|
||||||
@@ -122,6 +129,13 @@ def add_playlist():
|
|||||||
"can_remove":True,
|
"can_remove":True,
|
||||||
"jellyfin_id" : playlist.jellyfin_id
|
"jellyfin_id" : playlist.jellyfin_id
|
||||||
}
|
}
|
||||||
|
if additional_users and session['is_admin']:
|
||||||
|
db.session.commit()
|
||||||
|
app.logger.debug(f"Additional users: {additional_users}")
|
||||||
|
for user_id in additional_users:
|
||||||
|
routes.add_jellyfin_user_to_playlist_internal(user_id,playlist.jellyfin_id)
|
||||||
|
|
||||||
|
|
||||||
return render_template('partials/_add_remove_button.html',item= item)
|
return render_template('partials/_add_remove_button.html',item= item)
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user