diff --git a/data/interfaces/default/js/tables/users.js b/data/interfaces/default/js/tables/users.js
index 0e9719db..9bce6b76 100644
--- a/data/interfaces/default/js/tables/users.js
+++ b/data/interfaces/default/js/tables/users.js
@@ -24,9 +24,9 @@ users_list_table_options = {
"createdCell": function (td, cellData, rowData, row, col) {
$(td).html('
   ' +
' ' +
- ' ');
+ ' ' +
// Show/hide user currently doesn't work
- //'');
+ '');
},
"width": "7%",
"className": "edit-control no-wrap hidden",
@@ -246,12 +246,16 @@ $('#users_list_table').on('change', 'td.edit-control > .edit-user-toggles > inpu
var do_notify = 0;
var keep_history = 0;
+ var show_user = 0;
if ($('#do_notify-' + rowData['user_id']).is(':checked')) {
do_notify = 1;
}
if ($('#keep_history-' + rowData['user_id']).is(':checked')) {
keep_history = 1;
}
+ if ($('#show_user-' + rowData['user_id']).is(':checked')) {
+ show_user = 1;
+ }
friendly_name = tr.find('td.edit-user-control > .edit-user-name > input').val();
@@ -262,6 +266,7 @@ $('#users_list_table').on('change', 'td.edit-control > .edit-user-toggles > inpu
friendly_name: friendly_name,
do_notify: do_notify,
keep_history: keep_history,
+ show_user: show_user,
thumb: rowData['user_thumb']
},
cache: false,
diff --git a/plexpy/__init__.py b/plexpy/__init__.py
index ad02333c..77842449 100644
--- a/plexpy/__init__.py
+++ b/plexpy/__init__.py
@@ -388,7 +388,15 @@ def dbcheck():
'user_id INTEGER DEFAULT NULL UNIQUE, username TEXT NOT NULL UNIQUE, '
'friendly_name TEXT, thumb TEXT, email TEXT, is_home_user INTEGER DEFAULT NULL, '
'is_allow_sync INTEGER DEFAULT NULL, is_restricted INTEGER DEFAULT NULL, do_notify INTEGER DEFAULT 1, '
- 'keep_history INTEGER DEFAULT 1, custom_avatar_url TEXT)'
+ 'keep_history INTEGER DEFAULT 1, custom_avatar_url TEXT, show_user INTEGER DEFAULT 1)'
+ )
+
+ # notify_log table :: This is a table which logs notifications sent
+ c_db.execute(
+ 'CREATE TABLE IF NOT EXISTS notify_log (id INTEGER PRIMARY KEY AUTOINCREMENT, '
+ 'session_key INTEGER, rating_key INTEGER, user_id INTEGER, user TEXT, '
+ 'agent_id INTEGER, agent_name TEXT, on_play INTEGER, on_stop INTEGER, on_watched INTEGER, '
+ 'on_pause INTEGER, on_resume INTEGER, on_buffer INTEGER)'
)
# Upgrade sessions table from earlier versions
@@ -517,6 +525,18 @@ def dbcheck():
'ALTER TABLE sessions ADD COLUMN transcode_height INTEGER'
)
+ # Upgrade sessions table from earlier versions
+ try:
+ c_db.execute('SELECT buffer_count from sessions')
+ except sqlite3.OperationalError:
+ logger.debug(u"Altering database. Updating database table sessions.")
+ c_db.execute(
+ 'ALTER TABLE sessions ADD COLUMN buffer_count INTEGER DEFAULT 0'
+ )
+ c_db.execute(
+ 'ALTER TABLE sessions ADD COLUMN buffer_last_triggered INTEGER'
+ )
+
# Upgrade session_history_metadata table from earlier versions
try:
c_db.execute('SELECT full_title from session_history_metadata')
@@ -535,14 +555,6 @@ def dbcheck():
'ALTER TABLE session_history_metadata ADD COLUMN tagline TEXT'
)
- # notify_log table :: This is a table which logs notifications sent
- c_db.execute(
- 'CREATE TABLE IF NOT EXISTS notify_log (id INTEGER PRIMARY KEY AUTOINCREMENT, '
- 'session_key INTEGER, rating_key INTEGER, user_id INTEGER, user TEXT, '
- 'agent_id INTEGER, agent_name TEXT, on_play INTEGER, on_stop INTEGER, on_watched INTEGER, '
- 'on_pause INTEGER, on_resume INTEGER, on_buffer INTEGER)'
- )
-
# Upgrade users table from earlier versions
try:
c_db.execute('SELECT do_notify from users')
@@ -561,6 +573,24 @@ def dbcheck():
'ALTER TABLE users ADD COLUMN keep_history INTEGER DEFAULT 1'
)
+ # Upgrade users table from earlier versions
+ try:
+ c_db.execute('SELECT custom_avatar_url from users')
+ except sqlite3.OperationalError:
+ logger.debug(u"Altering database. Updating database table users.")
+ c_db.execute(
+ 'ALTER TABLE users ADD COLUMN custom_avatar_url TEXT'
+ )
+
+ # Upgrade users table from earlier versions
+ try:
+ c_db.execute('SELECT show_user from users')
+ except sqlite3.OperationalError:
+ logger.debug(u"Altering database. Updating database table users.")
+ c_db.execute(
+ 'ALTER TABLE users ADD COLUMN show_user INTEGER DEFAULT 1'
+ )
+
# Upgrade notify_log table from earlier versions
try:
c_db.execute('SELECT on_pause from notify_log')
@@ -576,27 +606,6 @@ def dbcheck():
'ALTER TABLE notify_log ADD COLUMN on_buffer INTEGER'
)
- # Upgrade sessions table from earlier versions
- try:
- c_db.execute('SELECT buffer_count from sessions')
- except sqlite3.OperationalError:
- logger.debug(u"Altering database. Updating database table sessions.")
- c_db.execute(
- 'ALTER TABLE sessions ADD COLUMN buffer_count INTEGER DEFAULT 0'
- )
- c_db.execute(
- 'ALTER TABLE sessions ADD COLUMN buffer_last_triggered INTEGER'
- )
-
- # Upgrade users table from earlier versions
- try:
- c_db.execute('SELECT custom_avatar_url from users')
- except sqlite3.OperationalError:
- logger.debug(u"Altering database. Updating database table users.")
- c_db.execute(
- 'ALTER TABLE users ADD COLUMN custom_avatar_url TEXT'
- )
-
# Add "Local" user to database as default unauthenticated user.
result = c_db.execute('SELECT id FROM users WHERE username = "Local"')
if not result.fetchone():
diff --git a/plexpy/users.py b/plexpy/users.py
index 26f46abf..79f76bf0 100644
--- a/plexpy/users.py
+++ b/plexpy/users.py
@@ -42,7 +42,8 @@ class Users(object):
'session_history_media_info.video_decision',
'users.username as user',
'users.do_notify as do_notify',
- 'users.keep_history as keep_history'
+ 'users.keep_history as keep_history',
+ 'users.show_user as show_user'
]
try:
query = data_tables.ssp_query(table_name='users',
@@ -98,7 +99,8 @@ class Users(object):
"user": item["user"],
"user_id": item['user_id'],
"do_notify": helpers.checked(item['do_notify']),
- "keep_history": helpers.checked(item['keep_history'])
+ "keep_history": helpers.checked(item['keep_history']),
+ "show_user": helpers.checked(item['show_user'])
}
rows.append(row)
@@ -193,7 +195,7 @@ class Users(object):
return dict
# TODO: The getter and setter for this needs to become a config getter/setter for more than just friendlyname
- def set_user_friendly_name(self, user=None, user_id=None, friendly_name=None, do_notify=0, keep_history=1):
+ def set_user_friendly_name(self, user=None, user_id=None, friendly_name=None, do_notify=0, keep_history=1, show_user=1):
if user_id:
if friendly_name.strip() == '':
friendly_name = None
@@ -203,7 +205,8 @@ class Users(object):
control_value_dict = {"user_id": user_id}
new_value_dict = {"friendly_name": friendly_name,
"do_notify": do_notify,
- "keep_history": keep_history}
+ "keep_history": keep_history,
+ "show_user": show_user}
try:
monitor_db.upsert('users', new_value_dict, control_value_dict)
except Exception, e:
@@ -217,7 +220,8 @@ class Users(object):
control_value_dict = {"username": user}
new_value_dict = {"friendly_name": friendly_name,
"do_notify": do_notify,
- "keep_history": keep_history}
+ "keep_history": keep_history,
+ "show_user": show_user}
try:
monitor_db.upsert('users', new_value_dict, control_value_dict)
except Exception, e:
diff --git a/plexpy/webserve.py b/plexpy/webserve.py
index 5d2ba311..c5a49c5d 100644
--- a/plexpy/webserve.py
+++ b/plexpy/webserve.py
@@ -194,6 +194,10 @@ class WebInterface(object):
keep_history = kwargs.get('keep_history')
else:
keep_history = 0
+ if 'show_user' in kwargs:
+ show_user = kwargs.get('show_user')
+ else:
+ show_user = 0
if 'thumb' in kwargs:
custom_avatar = kwargs['thumb']
else:
@@ -205,7 +209,8 @@ class WebInterface(object):
user_data.set_user_friendly_name(user_id=user_id,
friendly_name=friendly_name,
do_notify=do_notify,
- keep_history=keep_history)
+ keep_history=keep_history,
+ show_user=show_user)
user_data.set_user_profile_url(user_id=user_id,
profile_url=custom_avatar)
@@ -219,7 +224,8 @@ class WebInterface(object):
user_data.set_user_friendly_name(user=user,
friendly_name=friendly_name,
do_notify=do_notify,
- keep_history=keep_history)
+ keep_history=keep_history,
+ show_user=show_user)
user_data.set_user_profile_url(user=user,
profile_url=custom_avatar)