From cc478b3ba40b920cdb0afcf39c0efe6a85dd3530 Mon Sep 17 00:00:00 2001 From: Adam Sutton Date: Fri, 11 Oct 2013 16:47:59 +0100 Subject: [PATCH] dvr: fix some problems surrounding channel configuration This was caused by change to using UUID as key etc.. and this not being properly updated both within the UI and in at least one place in the code. --- src/dvr/dvr_autorec.c | 6 ++++-- src/webui/extjs.c | 2 +- src/webui/static/app/dvr.js | 15 +++++++++++---- 3 files changed, 16 insertions(+), 7 deletions(-) diff --git a/src/dvr/dvr_autorec.c b/src/dvr/dvr_autorec.c index 34d84ded..d3570c0d 100644 --- a/src/dvr/dvr_autorec.c +++ b/src/dvr/dvr_autorec.c @@ -271,7 +271,7 @@ autorec_record_build(dvr_autorec_entry_t *dae) htsmsg_add_str(e, "comment", dae->dae_comment); if(dae->dae_channel != NULL) - htsmsg_add_str(e, "channel", channel_get_name(dae->dae_channel)); + htsmsg_add_str(e, "channel", channel_get_uuid(dae->dae_channel)); if(dae->dae_channel_tag != NULL) htsmsg_add_str(e, "tag", dae->dae_channel_tag->ct_name); @@ -362,7 +362,9 @@ autorec_record_update(void *opaque, const char *id, htsmsg_t *values, LIST_REMOVE(dae, dae_channel_link); dae->dae_channel = NULL; } - if((ch = channel_find(s)) != NULL) { + ch = channel_find(s); + if (!ch) ch = channel_find_by_name(s); + if (ch) { LIST_INSERT_HEAD(&ch->ch_autorecs, dae, dae_channel_link); dae->dae_channel = ch; } diff --git a/src/webui/extjs.c b/src/webui/extjs.c index 0b95d2d3..1cd1b129 100644 --- a/src/webui/extjs.c +++ b/src/webui/extjs.c @@ -1011,7 +1011,7 @@ extjs_dvr(http_connection_t *hc, const char *remain, void *opaque) const char *channel = http_arg_get(&hc->hc_req_args, "channelid"); const char *pri = http_arg_get(&hc->hc_req_args, "pri"); - channel_t *ch = channel ? channel_find_by_id(atoi(channel)) : NULL; + channel_t *ch = channel ? channel_find(channel) : NULL; if(ch == NULL || title == NULL || datestr == NULL || strlen(datestr) != 10 || diff --git a/src/webui/static/app/dvr.js b/src/webui/static/app/dvr.js index 1bce7c7d..f93f36d8 100644 --- a/src/webui/static/app/dvr.js +++ b/src/webui/static/app/dvr.js @@ -300,8 +300,8 @@ tvheadend.dvrschedule = function(title, iconCls, dvrStore) { hiddenName : 'channelid', editable : false, allowBlank : false, - displayField : 'name', - valueField : 'chid', + displayField : 'val', + valueField : 'key', mode : 'remote', triggerAction : 'all', store : tvheadend.channels @@ -451,13 +451,20 @@ tvheadend.autoreceditor = function() { dataIndex : 'channel', editor : new Ext.form.ComboBox({ loadingText : 'Loading...', - displayField : 'name', + displayField : 'val', + valueField: 'key', store : tvheadend.channels, mode : 'local', editable : false, triggerAction : 'all', emptyText : 'Only include channel...' - }) + }), + renderer : function (v, m, r) { + var i = tvheadend.channels.find('key', v); + if (i != -1) + v = tvheadend.channels.getAt(i).get('val') + return v + } }, { header : "SeriesLink",