diff --git a/apps/output/views.py b/apps/output/views.py index 1a7891fb..f4b79058 100644 --- a/apps/output/views.py +++ b/apps/output/views.py @@ -356,6 +356,7 @@ def generate_custom_dummy_programs(channel_id, channel_name, now, num_days, cust categories = [cat.strip() for cat in category_string.split(',') if cat.strip()] if category_string else [] include_date = custom_properties.get('include_date', True) include_live = custom_properties.get('include_live', False) + include_new = custom_properties.get('include_new', False) # Parse timezone name try: @@ -749,6 +750,10 @@ def generate_custom_dummy_programs(channel_id, channel_name, now, num_days, cust if include_live: main_event_custom_properties['live'] = True + # Add new flag if requested + if include_new: + main_event_custom_properties['new'] = True + # Add program poster URL if provided if program_poster_url: main_event_custom_properties['icon'] = program_poster_url @@ -912,6 +917,10 @@ def generate_custom_dummy_programs(channel_id, channel_name, now, num_days, cust if include_live: program_custom_properties['live'] = True + # Add new flag if requested + if include_new: + program_custom_properties['new'] = True + # Add program poster URL if provided if program_poster_url: program_custom_properties['icon'] = program_poster_url @@ -978,6 +987,10 @@ def generate_dummy_epg( if custom_data.get('live', False): xml_lines.append(f" ") + # New tag + if custom_data.get('new', False): + xml_lines.append(f" ") + xml_lines.append(f" ") return xml_lines @@ -1232,6 +1245,10 @@ def generate_epg(request, profile_name=None, user=None): if custom_data.get('live', False): yield f" \n" + # New tag + if custom_data.get('new', False): + yield f" \n" + # Icon/poster URL if 'icon' in custom_data: yield f" \n" @@ -1277,6 +1294,10 @@ def generate_epg(request, profile_name=None, user=None): if custom_data.get('live', False): yield f" \n" + # New tag + if custom_data.get('new', False): + yield f" \n" + # Icon/poster URL if 'icon' in custom_data: yield f" \n" diff --git a/frontend/src/components/forms/DummyEPG.jsx b/frontend/src/components/forms/DummyEPG.jsx index 89c3c1a7..9b5b3178 100644 --- a/frontend/src/components/forms/DummyEPG.jsx +++ b/frontend/src/components/forms/DummyEPG.jsx @@ -68,6 +68,7 @@ const DummyEPGForm = ({ epg, isOpen, onClose }) => { category: '', include_date: true, include_live: false, + include_new: false, }, }, validate: { @@ -401,6 +402,7 @@ const DummyEPGForm = ({ epg, isOpen, onClose }) => { category: custom.category || '', include_date: custom.include_date ?? true, include_live: custom.include_live ?? false, + include_new: custom.include_new ?? false, }, }); @@ -798,6 +800,14 @@ const DummyEPGForm = ({ epg, isOpen, onClose }) => { })} /> + + {/* Testing & Preview */}