Compare commits
3 Commits
e7497c7d53
...
bb6f94126c
| Author | SHA1 | Date | |
|---|---|---|---|
| bb6f94126c | |||
| 43af8c20c4 | |||
| fe7cb9589e |
16
app.R
16
app.R
@@ -31,7 +31,7 @@ box::use(
|
|||||||
)
|
)
|
||||||
|
|
||||||
# SETTINGS ================================
|
# SETTINGS ================================
|
||||||
HEADER_TEXT <- sprintf("%s (%s)", config::get("form_name"), config::get("form_app_version"))
|
HEADER_TEXT <- config::get("form_name")
|
||||||
|
|
||||||
# sadasdasdasdasdas
|
# sadasdasdasdasdas
|
||||||
options(box.path = config::get("form_app_configure_path"))
|
options(box.path = config::get("form_app_configure_path"))
|
||||||
@@ -52,9 +52,14 @@ ui <- page_sidebar(
|
|||||||
# title = HEADER_TEXT,
|
# title = HEADER_TEXT,
|
||||||
title = tagList(
|
title = tagList(
|
||||||
h4(HEADER_TEXT, style = "margin-top: .5rem"),
|
h4(HEADER_TEXT, style = "margin-top: .5rem"),
|
||||||
tooltip(
|
popover(
|
||||||
span("about", icon("circle-info", lib = "font-awesome")),
|
span(
|
||||||
"Данный функционал позволяет обрабатывать информацию о пациентах на комиссию, используя Excel (обновление данных возможно через окно формирования списка пациентов)"
|
config::get("form_app_version"),
|
||||||
|
fontawesome::fa("circle-info", a11y = "sem", title = "Settings"),
|
||||||
|
style = "color: #9c9c9c"),
|
||||||
|
title = "about",
|
||||||
|
placement = "left",
|
||||||
|
p("a"), p("b")
|
||||||
)
|
)
|
||||||
),
|
),
|
||||||
theme = bs_theme(version = 5, preset = "bootstrap"),
|
theme = bs_theme(version = 5, preset = "bootstrap"),
|
||||||
@@ -362,7 +367,10 @@ server <- function(input, output, session) {
|
|||||||
kyes_for_this_table <- db$get_nested_keys_from_table(values$nested_form_id, mhcs(), values$main_key, con)
|
kyes_for_this_table <- db$get_nested_keys_from_table(values$nested_form_id, mhcs(), values$main_key, con)
|
||||||
kyes_for_this_table <- unique(c(values$nested_key, kyes_for_this_table))
|
kyes_for_this_table <- unique(c(values$nested_key, kyes_for_this_table))
|
||||||
kyes_for_this_table <- sort(kyes_for_this_table)
|
kyes_for_this_table <- sort(kyes_for_this_table)
|
||||||
|
|
||||||
|
if (length(values$nested_key) == 0) {
|
||||||
values$nested_key <- if (length(kyes_for_this_table) == 0) NULL else kyes_for_this_table[[1]]
|
values$nested_key <- if (length(kyes_for_this_table) == 0) NULL else kyes_for_this_table[[1]]
|
||||||
|
}
|
||||||
|
|
||||||
# если ключ в формате даты - дать человекочитаемые данные
|
# если ключ в формате даты - дать человекочитаемые данные
|
||||||
if (this_nested_form_key_scheme_smoll$form_type == "date") {
|
if (this_nested_form_key_scheme_smoll$form_type == "date") {
|
||||||
|
|||||||
@@ -5,9 +5,9 @@ default:
|
|||||||
|
|
||||||
prod:
|
prod:
|
||||||
form_app_configure_path: "."
|
form_app_configure_path: "."
|
||||||
form_auth_enabled: true
|
form_auth_enabled: false
|
||||||
|
|
||||||
devel:
|
devel:
|
||||||
form_app_configure_path: _devel/d2tra
|
form_app_configure_path: _devel/antifib
|
||||||
form_auth_enabled: false
|
form_auth_enabled: false
|
||||||
form_app_version: 0.16.0 dev
|
form_app_version: 0.16.0 dev
|
||||||
21
modules/db.R
21
modules/db.R
@@ -364,7 +364,6 @@ local_db_backup <- function(
|
|||||||
.y = names(schedule),
|
.y = names(schedule),
|
||||||
.f = \(schedule_days, schedule_name) {
|
.f = \(schedule_days, schedule_name) {
|
||||||
|
|
||||||
# daily
|
|
||||||
daily_folder <- fs::path(backup_folder, schedule_name)
|
daily_folder <- fs::path(backup_folder, schedule_name)
|
||||||
todays_backup <- fs::path(daily_folder, paste0(db_name, "_", format(Sys.time(), "%Y%m%d")), ext = "sqlite")
|
todays_backup <- fs::path(daily_folder, paste0(db_name, "_", format(Sys.time(), "%Y%m%d")), ext = "sqlite")
|
||||||
|
|
||||||
@@ -382,25 +381,25 @@ local_db_backup <- function(
|
|||||||
dates <- stringr::str_extract(existed_files, "((?:19|20)\\d\\d)(0?[1-9]|1[012])([12][0-9]|3[01]|0?[1-9])")
|
dates <- stringr::str_extract(existed_files, "((?:19|20)\\d\\d)(0?[1-9]|1[012])([12][0-9]|3[01]|0?[1-9])")
|
||||||
dates <- as.Date(dates, "%Y%m%d")
|
dates <- as.Date(dates, "%Y%m%d")
|
||||||
|
|
||||||
# если количество существующих бэкапов значимо превышает установленный лимит, удаляем лишнее
|
if (length(existed_files) == 0) {
|
||||||
if (length(existed_files) > backups_limit) {
|
file.copy(db_full_path, todays_backup)
|
||||||
|
cli::cli_alert_success("создан {schedule_name}-бэкап для '{db_name}'")
|
||||||
|
return()
|
||||||
|
}
|
||||||
|
|
||||||
|
# если количество существующих бэкапов превышает установленный лимит, удаляем лишнее
|
||||||
|
if (length(existed_files) >= backups_limit) {
|
||||||
file.remove(utils::tail(existed_files, length(existed_files) - backups_limit))
|
file.remove(utils::tail(existed_files, length(existed_files) - backups_limit))
|
||||||
}
|
}
|
||||||
|
|
||||||
# если количество существующих бэкапов равно имеющемуся и пора делать бэкап - делаем бэкап, удаляем послендий файл
|
# если количество существующих бэкапов равно имеющемуся и пора делать бэкап - делаем бэкап, удаляем послендий файл
|
||||||
if (length(existed_files) >= backups_limit & dates[1] + schedule_days == Sys.Date()) {
|
if (dates[1] + schedule_days == Sys.Date()) {
|
||||||
|
|
||||||
file.remove(utils::tail(existed_files, 1))
|
|
||||||
file.copy(db_full_path, todays_backup)
|
|
||||||
|
|
||||||
} else if(length(existed_files) == 0) {
|
|
||||||
|
|
||||||
file.copy(db_full_path, todays_backup)
|
file.copy(db_full_path, todays_backup)
|
||||||
|
cli::cli_alert_success("создан {schedule_name}-бэкап для '{db_name}'")
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
)
|
)
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user