-
Notifications
You must be signed in to change notification settings - Fork 42
/
Copy pathdialog.py
61 lines (48 loc) · 2.17 KB
/
dialog.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
"""
Source deletion dialog.
Copyright (C) 2021 The Freedom of the Press Foundation.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU Affero General Public License as published
by the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU Affero General Public License for more details.
You should have received a copy of the GNU Affero General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
"""
from gettext import gettext as _
from securedrop_client.db import Source
from securedrop_client.gui.base import ModalDialog
class DeleteSourceDialog(ModalDialog):
"""Used to confirm deletion of source accounts."""
def __init__(self, source: Source) -> None:
super().__init__(show_header=False, dangerous=True)
self.source = source
self.body.setText(self.make_body_text())
self.continue_button.setText(_("YES, DELETE ENTIRE SOURCE ACCOUNT"))
self.cancel_button.setDefault(True)
self.cancel_button.setFocus()
self.confirmation_label.setText(_("Are you sure this is what you want?"))
self.adjustSize()
def make_body_text(self) -> str:
message_tuple = (
"<style>",
"p {{white-space: nowrap;}}",
"</style>",
"<p><b>",
_("When the entire account for a source is deleted:"),
"</b></p>",
"<p><b>\u2219</b> ",
_("The source will not be able to log in with their codename again."),
"</p>",
"<p><b>\u2219</b> ",
_("Your organization will not be able to send them replies."),
"</p>",
"<p><b>\u2219</b> ",
_("All files and messages from that source will also be destroyed."),
"</p>",
"<p> </p>",
)
return "".join(message_tuple).format(source=f"<b>{self.source.journalist_designation}</b>")