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",