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.
This commit is contained in:
Adam Sutton 2013-10-11 16:47:59 +01:00
parent 8ffd24c727
commit cc478b3ba4
3 changed files with 16 additions and 7 deletions

View file

@ -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;
}

View file

@ -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 ||

View file

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