resolve conflicts
This commit is contained in:
commit
5d02a28468
@ -4,7 +4,7 @@
|
|||||||
|
|
||||||
# Obscreen
|
# 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>
|
<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)
|
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
|
## ⭐️ Features
|
||||||
- Dead simple chromium webview inside
|
- 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
|
- Fleet screen management
|
||||||
- Playlist management
|
- Playlist management
|
||||||
- Authentication management
|
- Authentication management
|
||||||
|
- Plays content from flashdrive in offline mode
|
||||||
- Plugin system to extend capabilities
|
- Plugin system to extend capabilities
|
||||||
- [Multi Languages](https://github.com/jr-k/obscreen/tree/master/lang)
|
- [Multi Languages](https://github.com/jr-k/obscreen/tree/master/lang)
|
||||||
- No costly monthly pricing plan per screen or whatever, no cloud, no telemetry
|
- No costly monthly pricing plan per screen or whatever, no cloud, no telemetry
|
||||||
|
|||||||
@ -21,10 +21,18 @@ jQuery(document).ready(function ($) {
|
|||||||
|
|
||||||
if (timeOnly) {
|
if (timeOnly) {
|
||||||
options['noCalendar'] = true;
|
options['noCalendar'] = true;
|
||||||
|
|
||||||
|
if ($el.val() === '') {
|
||||||
|
$el.val('00:00');
|
||||||
|
}
|
||||||
} else {
|
} else {
|
||||||
if ($el.val().indexOf('-') < 0) {
|
if ($el.val().indexOf('-') < 0) {
|
||||||
$el.val('');
|
$el.val('');
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if ($el.val() === '') {
|
||||||
|
$el.val(prettyTimestamp(d.getTime()));
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
$el.flatpickr(options);
|
$el.flatpickr(options);
|
||||||
|
|||||||
@ -12,6 +12,7 @@ from src.model.hook.FunctionalHookRegistration import FunctionalHookRegistration
|
|||||||
from src.constant.WebDirConstant import WebDirConstant
|
from src.constant.WebDirConstant import WebDirConstant
|
||||||
from src.util.utils import get_safe_cron_descriptor, \
|
from src.util.utils import get_safe_cron_descriptor, \
|
||||||
is_cron_in_datetime_moment, \
|
is_cron_in_datetime_moment, \
|
||||||
|
is_cron_in_week_moment, \
|
||||||
seconds_to_hhmmss, am_i_in_docker, \
|
seconds_to_hhmmss, am_i_in_docker, \
|
||||||
truncate, merge_dicts, dictsort
|
truncate, merge_dicts, dictsort
|
||||||
|
|
||||||
@ -47,6 +48,7 @@ class TemplateRenderer:
|
|||||||
str=str,
|
str=str,
|
||||||
seconds_to_hhmmss=seconds_to_hhmmss,
|
seconds_to_hhmmss=seconds_to_hhmmss,
|
||||||
is_cron_in_datetime_moment=is_cron_in_datetime_moment,
|
is_cron_in_datetime_moment=is_cron_in_datetime_moment,
|
||||||
|
is_cron_in_week_moment=is_cron_in_week_moment,
|
||||||
json_dumps=json.dumps,
|
json_dumps=json.dumps,
|
||||||
merge_dicts=merge_dicts,
|
merge_dicts=merge_dicts,
|
||||||
dictsort=dictsort,
|
dictsort=dictsort,
|
||||||
|
|||||||
@ -1 +1 @@
|
|||||||
2.1.0
|
2.1.1
|
||||||
@ -29,7 +29,6 @@
|
|||||||
'datetime': choices_translations['datetime']
|
'datetime': choices_translations['datetime']
|
||||||
},
|
},
|
||||||
'inweek': {
|
'inweek': {
|
||||||
'stayloop': choices_translations['stayloop'],
|
|
||||||
'inweek': choices_translations['inweek']
|
'inweek': choices_translations['inweek']
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|||||||
@ -26,7 +26,7 @@
|
|||||||
{% if slide.cron_schedule %}
|
{% if slide.cron_schedule %}
|
||||||
{% set cron_desc = cron_descriptor(slide.cron_schedule) %}
|
{% set cron_desc = cron_descriptor(slide.cron_schedule) %}
|
||||||
{% if cron_desc %}
|
{% 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 %}
|
{% if slide.is_notification %}
|
||||||
🔔 <span class="prefix">{{ l.slideshow_slide_panel_td_cron_scheduled_notify }}</span>
|
🔔 <span class="prefix">{{ l.slideshow_slide_panel_td_cron_scheduled_notify }}</span>
|
||||||
<span class="cron-description">{{ cron_desc }}</span>
|
<span class="cron-description">{{ cron_desc }}</span>
|
||||||
@ -48,7 +48,7 @@
|
|||||||
{% if slide.cron_schedule_end %}
|
{% if slide.cron_schedule_end %}
|
||||||
{% set cron_desc_end = cron_descriptor(slide.cron_schedule_end) %}
|
{% set cron_desc_end = cron_descriptor(slide.cron_schedule_end) %}
|
||||||
{% if cron_desc_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 %}
|
{% if slide.is_notification %}
|
||||||
📆 <span class="prefix">{{ l.slideshow_slide_panel_td_cron_scheduled_date }}</span>
|
📆 <span class="prefix">{{ l.slideshow_slide_panel_td_cron_scheduled_date }}</span>
|
||||||
<span class="cron-description">{{ cron_desc_end }}</span>
|
<span class="cron-description">{{ cron_desc_end }}</span>
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user