Skip to content

Commit

Permalink
editabl event recording name
Browse files Browse the repository at this point in the history
  • Loading branch information
mikeseibel committed Jul 17, 2024
1 parent d0bc6c8 commit f961d51
Show file tree
Hide file tree
Showing 6 changed files with 27 additions and 34 deletions.
19 changes: 4 additions & 15 deletions scheduler/schedule.py
Original file line number Diff line number Diff line change
Expand Up @@ -252,16 +252,10 @@ def event_session_from_scheduled_recording(s):
}
}

logger.info(f"schedule: keys from: "
f"{session['recording']['name']}, "
f"{session['recording']['external_id']}, "
f"{session['recording']['recorder_id']}, "
f"{session['event']['start']}, "
f"{session['event']['end']}")

session['key'] = schedule_key(
session['recording']['name'], session['recording']['external_id'],
session['recording']['recorder_id'], session['event']['start'],
session['recording']['external_id'],
session['recording']['recorder_id'],
session['event']['start'],
session['event']['end'])

return session
Expand Down Expand Up @@ -341,13 +335,8 @@ def mash_in_panopto_sessions(event_sessions, session_external_ids, recorders):
if recorders[space_id]:
e_r['recorder_id'] = recorders[space_id]

logger.info(f"mash_in_panopto_sessions: keys from: "
f"{e_r['name']}, {e_r['external_id']}, "
f"{e_r['recorder_id']}, "
f"{e['event']['start']}, {e['event']['end']}")

e['key'] = schedule_key(
e_r['name'], e_r['external_id'], e_r['recorder_id'],
e_r['external_id'], e_r['recorder_id'],
e['event']['start'], e['event']['end'])


Expand Down
6 changes: 3 additions & 3 deletions scheduler/static/scheduler/js/main.js
Original file line number Diff line number Diff line change
Expand Up @@ -794,7 +794,7 @@ var PanoptoScheduler = (function ($) {
function gather_event_recording($node, pe) {
var changes = panopto_schedule_change(pe, $node),
$recording_name_input = $('.reservation-settings input.recording-name'),
recroding_name = $recording_name_input.val().trim(),
recording_name = $recording_name_input.val().trim(),
$editor = $('.reservation-settings .folder-editor'),
$folder_input = $editor.find('input.folder'),
folder_name = $folder_input.attr('data-folder-name').trim(),
Expand Down Expand Up @@ -1861,7 +1861,7 @@ var PanoptoScheduler = (function ($) {
}
}

function panopto_event_folder_input(e) {
function panopto_event_editor_input(e) {
e.preventDefault();
e.stopPropagation();

Expand Down Expand Up @@ -2205,7 +2205,7 @@ var PanoptoScheduler = (function ($) {
.on('click', '.reservation-settings .folder-editor .event-folder-create',
panopto_event_folder_create)
.on('keyup', '.reservation-settings input.recording-name, .reservation-settings .folder-editor input.folder',
panopto_event_folder_input)
panopto_event_editor_input)
.on('click', '.reservation-settings .folder-editor input.folder ~ .folder-search',
panopto_event_folder_search)
.on('click', '.reservation-settings .folder-editor input.folder ~ .folder-clear',
Expand Down
15 changes: 13 additions & 2 deletions scheduler/templates/scheduler/events.html
Original file line number Diff line number Diff line change
Expand Up @@ -90,7 +90,19 @@ <h3><span class="sr-only"> Schedule on</span> {{ search_date }}</h3>
<h3><span class="sr-only"> Schedule on</span> {{ search_date }} <span class="name">{{name}}</span> <span class="contact">{{contact}}</span> <span class="location pull-right">{{location}}</span></h3>
</div>
<div class="reservation-settings" data-schedule-key="{{ key }}">
<h3>Schedule Recording for "{{name}}"</h3>
<h3>Schedule Recording</h3>
<div class="container">
<h4><b>Recording Name</b></h4>
<p>Name used for event recording</p>
<div class="row">
<div class="col-md-2 text-right setting-name">
Name:
</div>
<div class="col-md-10">
<input class="form-control recording-name" value="{{name}}">
</div>
</div>
</div>
<div class="container">
<h4><b>Recording Settings</b></h4>
<p>Adjust recording duration and options</p>
Expand All @@ -101,7 +113,6 @@ <h4><b>Recording Settings</b></h4>
<span class="time-indicator"><i class="fa fa-clock-o"></i></span>
</div>
<div class="col-md-9">
<input type="hidden" class="recording-name" value="{{name}}">
<span class="setting-name">Recording duration</span>
<div class="setting-description">
Adjust the start and/or end time of the recording. Default is entire class session.
Expand Down
4 changes: 2 additions & 2 deletions scheduler/test/api/test_session.py
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,7 @@ def test_api_session(self):
sessions['end_time'] = sessions['start_time']
sessions['recorder_id'] = '22e12346-1234-1234-4321-12347f1234c5'
sessions['folder_id'] = 'c9123444-0000-0000-0000-ab71234c452d'
sessions['key'] = 'AD174E0517DA07EF3EDAD9C658F6EEED4B6D40F1'
sessions['key'] = '25978DBA8C508FA66BCC29507DA6094446DACC55'

request = RequestFactory().post(
url, sessions, content_type="application/json")
Expand All @@ -60,7 +60,7 @@ def test_api_session(self):
'rid=22e12346-1234-1234-4321-12347f1234c5',
'rstart={}'.format(sessions['start_time']),
'rend={}'.format(sessions['end_time']),
'key=5121843E8DDD3D4EE076F9EDB924AC547A8446BC'])))
'key=73D5C615E672D76777698EC8180EE4CD58A55C15'])))
request.user = get_user('jfaculty')
response = session.delete(request, session_id=session_id)
self.assertEqual(response.status_code, 200)
Expand Down
5 changes: 2 additions & 3 deletions scheduler/utils/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -16,9 +16,8 @@ def local_ymd_from_utc_date_string(utc_date_string):
return dt_local.strftime('%Y-%m-%d')


def schedule_key(name, external_id, recorder_id, start, end):
to_sign = '{},{},{},{},{},({})'.format(
name,
def schedule_key(external_id, recorder_id, start, end):
to_sign = '{},{},{},{},({})'.format(
external_id,
recorder_id,
start,
Expand Down
12 changes: 3 additions & 9 deletions scheduler/views/api/session.py
Original file line number Diff line number Diff line change
Expand Up @@ -183,9 +183,8 @@ def delete(self, request, *args, **kwargs):
session_id = self._valid_recorder_id(kwargs.get('session_id'))
# do not permit param tampering
key = schedule_key(
request.GET.get('name', ''), request.GET.get('eid', ''),
request.GET.get('rid', ''), request.GET.get('rstart', ''),
request.GET.get('rend', ''))
request.GET.get('eid', ''), request.GET.get('rid', ''),
request.GET.get('rstart', ''), request.GET.get('rend', ''))

if key != request.GET.get("key", None):
raise InvalidParamException('Invalid Client Key')
Expand Down Expand Up @@ -235,14 +234,9 @@ def _validate_session(self, request_body):
session['folder_id'])
session['folder_creators'] = data.get("creators", None)

logger.info(f"session: keys from: {session['name']}, "
f"{session['external_id']}, {session['recorder_id']}, "
f"{data.get('event_start', '').strip()}, "
f"{data.get('event_end', '').strip()}")

# do not permit param tamperings
key = schedule_key(
session['name'], session['external_id'], session['recorder_id'],
session['external_id'], session['recorder_id'],
data.get("event_start", "").strip(),
data.get("event_end", "").strip())

Expand Down

0 comments on commit f961d51

Please sign in to comment.