Allow "All Users" in graphs for guests

This commit is contained in:
JonnyWong16 2016-05-04 12:10:58 -07:00
parent 68d124ff04
commit 3da8cc1e7f
5 changed files with 27 additions and 18 deletions

View file

@ -12,7 +12,6 @@
<span><i class="fa fa-bar-chart"></i> Graphs</span>
</div>
<div class="button-bar hidden-xs">
% if _session['user_group'] == 'admin':
<div class="btn-group" id="user-selection">
<label>
<select name="graph-user" id="graph-user" class="btn" style="color: inherit;">
@ -21,7 +20,6 @@
</select>
</label>
</div>
% endif
<div class="btn-group" data-toggle="buttons" id="yaxis-selection">
% if config['graph_type'] == 'duration':
<label class="btn btn-dark">
@ -258,7 +256,7 @@
<script src="${http_root}js/dataTables.bootstrap.pagination.js"></script>
<script>
var selected_user_id = "${_session['user_id']}" == "None" ? null : "${_session['user_id']}"
var selected_user_id = null
// Modal popup dialog
function selectHandler(selectedDate, selectedSeries) {

View file

@ -29,6 +29,9 @@ class DataFactory(object):
def get_datatables_history(self, kwargs=None, custom_where=None, grouping=0, watched_percent=85):
data_tables = datatables.DataTables()
if custom_where is None:
custon_where = []
if session.get_session_user_id():
session_user_id = str(session.get_session_user_id())
added = False
@ -44,7 +47,7 @@ class DataFactory(object):
added = True
if not added:
custom_where = [['session_history.user_id', session.get_session_user_id()]]
custom_where.append(['session_history.user_id', session.get_session_user_id()])
group_by = ['session_history.reference_id'] if grouping else ['session_history.id']

View file

@ -31,7 +31,7 @@ class Graphs(object):
time_range = '30'
user_cond = ''
if session.get_session_user_id():
if session.get_session_user_id() and user_id and user_id != str(session.get_session_user_id()):
user_cond = 'AND session_history.user_id = %s ' % session.get_session_user_id()
elif user_id and user_id.isdigit():
user_cond = 'AND session_history.user_id = %s ' % user_id
@ -115,7 +115,7 @@ class Graphs(object):
time_range = '30'
user_cond = ''
if session.get_session_user_id():
if session.get_session_user_id() and user_id and user_id != str(session.get_session_user_id()):
user_cond = 'AND session_history.user_id = %s ' % session.get_session_user_id()
elif user_id and user_id.isdigit():
user_cond = 'AND session_history.user_id = %s ' % user_id
@ -212,7 +212,7 @@ class Graphs(object):
time_range = '30'
user_cond = ''
if session.get_session_user_id():
if session.get_session_user_id() and user_id and user_id != str(session.get_session_user_id()):
user_cond = 'AND session_history.user_id = %s ' % session.get_session_user_id()
elif user_id and user_id.isdigit():
user_cond = 'AND session_history.user_id = %s ' % user_id
@ -294,7 +294,7 @@ class Graphs(object):
monitor_db = database.MonitorDatabase()
user_cond = ''
if session.get_session_user_id():
if session.get_session_user_id() and user_id and user_id != str(session.get_session_user_id()):
user_cond = 'AND session_history.user_id = %s ' % session.get_session_user_id()
elif user_id and user_id.isdigit():
user_cond = 'AND session_history.user_id = %s ' % user_id
@ -382,7 +382,7 @@ class Graphs(object):
time_range = '30'
user_cond = ''
if session.get_session_user_id():
if session.get_session_user_id() and user_id and user_id != str(session.get_session_user_id()):
user_cond = 'AND session_history.user_id = %s ' % session.get_session_user_id()
elif user_id and user_id.isdigit():
user_cond = 'AND session_history.user_id = %s ' % user_id
@ -451,7 +451,9 @@ class Graphs(object):
time_range = '30'
user_cond = ''
if user_id and user_id.isdigit() and not session.get_session_user_id():
if session.get_session_user_id() and user_id and user_id != str(session.get_session_user_id()):
user_cond = 'AND session_history.user_id = %s ' % session.get_session_user_id()
elif user_id and user_id.isdigit():
user_cond = 'AND session_history.user_id = %s ' % user_id
try:
@ -529,7 +531,7 @@ class Graphs(object):
time_range = '30'
user_cond = ''
if session.get_session_user_id():
if session.get_session_user_id() and user_id and user_id != str(session.get_session_user_id()):
user_cond = 'AND session_history.user_id = %s ' % session.get_session_user_id()
elif user_id and user_id.isdigit():
user_cond = 'AND session_history.user_id = %s ' % user_id
@ -627,7 +629,7 @@ class Graphs(object):
time_range = '30'
user_cond = ''
if session.get_session_user_id():
if session.get_session_user_id() and user_id and user_id != str(session.get_session_user_id()):
user_cond = 'AND session_history.user_id = %s ' % session.get_session_user_id()
elif user_id and user_id.isdigit():
user_cond = 'AND session_history.user_id = %s ' % user_id
@ -708,7 +710,7 @@ class Graphs(object):
time_range = '30'
user_cond = ''
if session.get_session_user_id():
if session.get_session_user_id() and user_id and user_id != str(session.get_session_user_id()):
user_cond = 'AND session_history.user_id = %s ' % session.get_session_user_id()
elif user_id and user_id.isdigit():
user_cond = 'AND session_history.user_id = %s ' % user_id
@ -809,7 +811,7 @@ class Graphs(object):
time_range = '30'
user_cond = ''
if session.get_session_user_id():
if session.get_session_user_id() and user_id and user_id != str(session.get_session_user_id()):
user_cond = 'AND session_history.user_id = %s ' % session.get_session_user_id()
elif user_id and user_id.isdigit():
user_cond = 'AND session_history.user_id = %s ' % user_id
@ -890,7 +892,9 @@ class Graphs(object):
time_range = '30'
user_cond = ''
if user_id and user_id.isdigit() and not session.get_session_user_id():
if session.get_session_user_id() and user_id and user_id != str(session.get_session_user_id()):
user_cond = 'AND session_history.user_id = %s ' % session.get_session_user_id()
elif user_id and user_id.isdigit():
user_cond = 'AND session_history.user_id = %s ' % user_id
try:

View file

@ -599,19 +599,23 @@ class Users(object):
def get_user_names(self, kwargs=None):
monitor_db = database.MonitorDatabase()
user_cond = ''
if session.get_session_user_id():
user_cond = 'AND user_id = %s ' % session.get_session_user_id()
try:
query = 'SELECT user_id, ' \
'(CASE WHEN users.friendly_name IS NULL OR TRIM(users.friendly_name) = "" \
THEN users.username ELSE users.friendly_name END) AS friendly_name ' \
'FROM users ' \
'WHERE deleted_user = 0'
'WHERE deleted_user = 0 %s' % user_cond
result = monitor_db.select(query)
except Exception as e:
logger.warn(u"PlexPy Users :: Unable to execute database query for get_user_names: %s." % e)
return None
return result
return session.friendly_name_to_username(result)
def get_tokens(self, user_id=None):
if user_id:

View file

@ -942,7 +942,7 @@ class WebInterface(object):
return "Updated graphs config values."
@cherrypy.expose
@requireAuth(member_of("admin"))
@requireAuth()
@addtoapi()
def get_user_names(self, **kwargs):