From: Adam Sutton Date: Fri, 11 Oct 2013 15:47:59 +0000 (+0100) Subject: dvr: fix some problems surrounding channel configuration X-Git-Tag: v4.1~2442 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=cc478b3ba40b920cdb0afcf39c0efe6a85dd3530;p=thirdparty%2Ftvheadend.git 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. --- diff --git a/src/dvr/dvr_autorec.c b/src/dvr/dvr_autorec.c index 34d84dedc..d3570c0d7 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 0b95d2d3b..1cd1b1296 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 1bce7c7d9..f93f36d8b 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",