mirror of
https://github.com/Kozea/Radicale.git
synced 2025-06-26 16:45:52 +00:00
commit
65ce0c57e5
4 changed files with 34 additions and 4 deletions
|
@ -8,6 +8,7 @@
|
||||||
* Improve: relax mtime check on storage filesystem, change test file location to "collection-root" directory
|
* Improve: relax mtime check on storage filesystem, change test file location to "collection-root" directory
|
||||||
* Add: option [auth] type pam by code migration from v1, add new option pam_serivce
|
* Add: option [auth] type pam by code migration from v1, add new option pam_serivce
|
||||||
* Cosmetics: extend list of used modules with their version on startup
|
* Cosmetics: extend list of used modules with their version on startup
|
||||||
|
* Improve: WebUI
|
||||||
|
|
||||||
## 3.4.1
|
## 3.4.1
|
||||||
* Add: option [auth] dovecot_connection_type / dovecot_host / dovecot_port
|
* Add: option [auth] dovecot_connection_type / dovecot_host / dovecot_port
|
||||||
|
|
|
@ -1,7 +1,8 @@
|
||||||
# This file is part of Radicale - CalDAV and CardDAV server
|
# This file is part of Radicale - CalDAV and CardDAV server
|
||||||
# Copyright © 2014 Jean-Marc Martins
|
# Copyright © 2014 Jean-Marc Martins
|
||||||
# Copyright © 2012-2017 Guillaume Ayoub
|
# Copyright © 2012-2017 Guillaume Ayoub
|
||||||
# Copyright © 2017-2018 Unrud <unrud@outlook.com>
|
# Copyright © 2017-2021 Unrud <unrud@outlook.com>
|
||||||
|
# Copyright © 2024-2025 Peter Bieringer <pb@bieringer.de>
|
||||||
#
|
#
|
||||||
# This library is free software: you can redistribute it and/or modify
|
# This library is free software: you can redistribute it and/or modify
|
||||||
# it under the terms of the GNU General Public License as published by
|
# it under the terms of the GNU General Public License as published by
|
||||||
|
@ -62,6 +63,9 @@ class CollectionPartMeta(CollectionBase):
|
||||||
|
|
||||||
def set_meta(self, props: Mapping[str, str]) -> None:
|
def set_meta(self, props: Mapping[str, str]) -> None:
|
||||||
# TODO: better fix for "mypy"
|
# TODO: better fix for "mypy"
|
||||||
|
try:
|
||||||
with self._atomic_write(self._props_path, "w") as fo: # type: ignore
|
with self._atomic_write(self._props_path, "w") as fo: # type: ignore
|
||||||
f = cast(TextIO, fo)
|
f = cast(TextIO, fo)
|
||||||
json.dump(props, f, sort_keys=True)
|
json.dump(props, f, sort_keys=True)
|
||||||
|
except OSError as e:
|
||||||
|
raise ValueError("Failed to write meta data %r %s" % (self._props_path, e)) from e
|
||||||
|
|
|
@ -2,6 +2,7 @@
|
||||||
* This file is part of Radicale Server - Calendar Server
|
* This file is part of Radicale Server - Calendar Server
|
||||||
* Copyright © 2017-2024 Unrud <unrud@outlook.com>
|
* Copyright © 2017-2024 Unrud <unrud@outlook.com>
|
||||||
* Copyright © 2023-2024 Matthew Hana <matthew.hana@gmail.com>
|
* Copyright © 2023-2024 Matthew Hana <matthew.hana@gmail.com>
|
||||||
|
* Copyright © 2024-2025 Peter Bieringer <pb@bieringer.de>
|
||||||
*
|
*
|
||||||
* This program is free software: you can redistribute it and/or modify
|
* This program is free software: you can redistribute it and/or modify
|
||||||
* it under the terms of the GNU General Public License as published by
|
* it under the terms of the GNU General Public License as published by
|
||||||
|
@ -1006,6 +1007,12 @@ function UploadCollectionScene(user, password, collection) {
|
||||||
scene_index = scene_stack.length - 1;
|
scene_index = scene_stack.length - 1;
|
||||||
html_scene.classList.remove("hidden");
|
html_scene.classList.remove("hidden");
|
||||||
close_btn.onclick = onclose;
|
close_btn.onclick = onclose;
|
||||||
|
if(error){
|
||||||
|
error_form.textContent = "Error: " + error;
|
||||||
|
error_form.classList.remove("hidden");
|
||||||
|
}else{
|
||||||
|
error_form.classList.add("hidden");
|
||||||
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
this.hide = function() {
|
this.hide = function() {
|
||||||
|
@ -1318,6 +1325,12 @@ function CreateEditCollectionScene(user, password, collection) {
|
||||||
fill_form();
|
fill_form();
|
||||||
submit_btn.onclick = onsubmit;
|
submit_btn.onclick = onsubmit;
|
||||||
cancel_btn.onclick = oncancel;
|
cancel_btn.onclick = oncancel;
|
||||||
|
if(error){
|
||||||
|
error_form.textContent = "Error: " + error;
|
||||||
|
error_form.classList.remove("hidden");
|
||||||
|
}else{
|
||||||
|
error_form.classList.add("hidden");
|
||||||
|
}
|
||||||
};
|
};
|
||||||
this.hide = function() {
|
this.hide = function() {
|
||||||
read_form();
|
read_form();
|
||||||
|
|
|
@ -1,4 +1,10 @@
|
||||||
<!DOCTYPE html>
|
<!DOCTYPE html>
|
||||||
|
<!--
|
||||||
|
* Copyright © 2018-2020 Unrud <unrud@outlook.com>
|
||||||
|
* Copyright © 2023-2023 Henning <github@henning-ullrich.de>
|
||||||
|
* Copyright © 2023-2024 Matthew Hana <matthew.hana@gmail.com>
|
||||||
|
* Copyright © 2024-2025 Peter Bieringer <pb@bieringer.de>
|
||||||
|
-->
|
||||||
<html lang="en">
|
<html lang="en">
|
||||||
<head>
|
<head>
|
||||||
<meta charset="utf-8">
|
<meta charset="utf-8">
|
||||||
|
@ -116,6 +122,8 @@
|
||||||
<button type="submit" class="green" data-name="submit">Save</button>
|
<button type="submit" class="green" data-name="submit">Save</button>
|
||||||
<button type="button" class="red" data-name="cancel">Cancel</button>
|
<button type="button" class="red" data-name="cancel">Cancel</button>
|
||||||
</form>
|
</form>
|
||||||
|
<span class="error hidden" data-name="error"></span>
|
||||||
|
<br>
|
||||||
</section>
|
</section>
|
||||||
|
|
||||||
<section id="createcollectionscene" class="container hidden">
|
<section id="createcollectionscene" class="container hidden">
|
||||||
|
@ -149,6 +157,8 @@
|
||||||
<button type="submit" class="green" data-name="submit">Create</button>
|
<button type="submit" class="green" data-name="submit">Create</button>
|
||||||
<button type="button" class="red" data-name="cancel">Cancel</button>
|
<button type="button" class="red" data-name="cancel">Cancel</button>
|
||||||
</form>
|
</form>
|
||||||
|
<span class="error hidden" data-name="error"></span>
|
||||||
|
<br>
|
||||||
</section>
|
</section>
|
||||||
|
|
||||||
<section id="uploadcollectionscene" class="container hidden">
|
<section id="uploadcollectionscene" class="container hidden">
|
||||||
|
@ -172,6 +182,8 @@
|
||||||
<button type="submit" class="green" data-name="submit">Upload</button>
|
<button type="submit" class="green" data-name="submit">Upload</button>
|
||||||
<button type="button" class="red" data-name="close">Close</button>
|
<button type="button" class="red" data-name="close">Close</button>
|
||||||
</form>
|
</form>
|
||||||
|
<span class="error hidden" data-name="error"></span>
|
||||||
|
<br>
|
||||||
</section>
|
</section>
|
||||||
|
|
||||||
<section id="deletecollectionscene" class="container hidden">
|
<section id="deletecollectionscene" class="container hidden">
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue