resolve conflicts

This commit is contained in:
jr-k 2024-07-23 01:44:57 +02:00
commit 5d02a28468
6 changed files with 16 additions and 6 deletions

View File

@ -4,7 +4,7 @@
# Obscreen
Obscreen is a user-friendly self-hosted digital signage tool. Manage a fleet of Raspberry Pi devices to transform your screens into a professional digital signage network.
Obscreen is a user-friendly self-hosted digital signage tool leveraging chromium browser.
<a target="_blank" href="https://github.com/jr-k/obscreen"><img src="https://img.shields.io/github/stars/jr-k/obscreen?style=flat" /></a> <a target="_blank" href="https://hub.docker.com/r/jierka/obscreen"><img src="https://img.shields.io/docker/pulls/jierka/obscreen" /></a> <a target="_blank" href="https://hub.docker.com/r/jierka/obscreen"><img src="https://img.shields.io/docker/v/jierka/obscreen/latest?label=docker%20image%20ver." /></a> <a target="_blank" href="https://github.com/jr-k/obscreen"><img src="https://img.shields.io/github/last-commit/jr-k/obscreen" /></a>
@ -17,7 +17,7 @@ Try it!
Demo Server (Location: Roubaix - France): [https://demo.obscreen.io](https://demo.obscreen.io/login?username=admin&password=admin)
It is a temporary live demo, all data will be deleted after 30 minutes (~30secs downtime) . Sponsored by myself.
It is a temporary live demo, all data will be deleted after 30 minutes (~30secs downtime).
## ⭐️ Features
- Dead simple chromium webview inside
@ -27,6 +27,7 @@ It is a temporary live demo, all data will be deleted after 30 minutes (~30secs
- Fleet screen management
- Playlist management
- Authentication management
- Plays content from flashdrive in offline mode
- Plugin system to extend capabilities
- [Multi Languages](https://github.com/jr-k/obscreen/tree/master/lang)
- No costly monthly pricing plan per screen or whatever, no cloud, no telemetry

View File

@ -21,10 +21,18 @@ jQuery(document).ready(function ($) {
if (timeOnly) {
options['noCalendar'] = true;
if ($el.val() === '') {
$el.val('00:00');
}
} else {
if ($el.val().indexOf('-') < 0) {
$el.val('');
}
if ($el.val() === '') {
$el.val(prettyTimestamp(d.getTime()));
}
}
$el.flatpickr(options);

View File

@ -12,6 +12,7 @@ from src.model.hook.FunctionalHookRegistration import FunctionalHookRegistration
from src.constant.WebDirConstant import WebDirConstant
from src.util.utils import get_safe_cron_descriptor, \
is_cron_in_datetime_moment, \
is_cron_in_week_moment, \
seconds_to_hhmmss, am_i_in_docker, \
truncate, merge_dicts, dictsort
@ -47,6 +48,7 @@ class TemplateRenderer:
str=str,
seconds_to_hhmmss=seconds_to_hhmmss,
is_cron_in_datetime_moment=is_cron_in_datetime_moment,
is_cron_in_week_moment=is_cron_in_week_moment,
json_dumps=json.dumps,
merge_dicts=merge_dicts,
dictsort=dictsort,

View File

@ -1 +1 @@
2.1.0
2.1.1

View File

@ -29,7 +29,6 @@
'datetime': choices_translations['datetime']
},
'inweek': {
'stayloop': choices_translations['stayloop'],
'inweek': choices_translations['inweek']
}
},

View File

@ -26,7 +26,7 @@
{% if slide.cron_schedule %}
{% set cron_desc = cron_descriptor(slide.cron_schedule) %}
{% if cron_desc %}
{% if is_cron_in_datetime_moment(slide.cron_schedule) %}
{% if is_cron_in_datetime_moment(slide.cron_schedule) or is_cron_in_week_moment(slide.cron_schedule) %}
{% if slide.is_notification %}
🔔 <span class="prefix">{{ l.slideshow_slide_panel_td_cron_scheduled_notify }}</span>
<span class="cron-description">{{ cron_desc }}</span>
@ -48,7 +48,7 @@
{% if slide.cron_schedule_end %}
{% set cron_desc_end = cron_descriptor(slide.cron_schedule_end) %}
{% if cron_desc_end %}
{% if is_cron_in_datetime_moment(slide.cron_schedule_end) %}
{% if is_cron_in_datetime_moment(slide.cron_schedule_end) or is_cron_in_week_moment(slide.cron_schedule_end) %}
{% if slide.is_notification %}
📆 <span class="prefix">{{ l.slideshow_slide_panel_td_cron_scheduled_date }}</span>
<span class="cron-description">{{ cron_desc_end }}</span>