nbenedek 7e2ebcb743
privacy: Add new system app for popularity-contest
- Keep the description about app generic

- Remove enable/disable option

- Create a booleanfield to turn on/off popcon

- Don't re-enable popcon during an update

Tests:

- When enabling/disabling the option, the `"PARTICIPATE"` value in
`/etc/popularity-contest.conf` is changed to yes/no as expected. For reference
see `/var/lib/dpkg/info/popularity-contest.templates`

- When popcon option is enabled, running sudo sh -x
/etc/cron.daily/popularity-context shows that execution was successful and data
was submitted. Remove files /var/log/popularity-contest* and
/var/lib/popularity-contest/lastsub if necessary. Gpg is used and encrypted data
is what was submitted.

- When popcon option is disabled, running sudo sh -x
/etc/cron.daily/popularity-context shows that execution stopped because the
option is disabled.

Signed-off-by: nbenedek <contact@nbenedek.me>
[sunil: Add a notification to tell users about privacy app]
[sunil: Correct the URL to /sys]
[sunil: Minor code styling changes and updates to description, icon]
[sunil: Ensure that popcon works with encryption]
[sunil: Write configuration to a separate file]
[sunil: Use Shellvars lens instead of Php lns]
[sunil: Add functional tests]
[sunil: Backup/restore the configuration file]
Signed-off-by: Sunil Mohan Adapa <sunil@medhas.org>
Reviewed-by: Sunil Mohan Adapa <sunil@medhas.org>
2022-10-10 17:35:26 -07:00

25 lines
1.0 KiB
Python

# SPDX-License-Identifier: AGPL-3.0-or-later
"""FreedomBox privacy app."""
from django import forms
from django.utils.translation import gettext_lazy as _
from plinth import cfg
from plinth.utils import format_lazy
class PrivacyForm(forms.Form):
"""Privacy configuration form."""
enable_popcon = forms.BooleanField(
label=_('Periodically submit a list of apps used (suggested)'),
required=False, help_text=format_lazy(
_('Help Debian/{box_name} developers by participating in the '
'Popularity Contest package survey program. When enabled, a '
'list of apps used on this system will be anonymously submitted '
'to Debian every week. Statistics for the data collected are '
'publicly available at <a href="https://popcon.debian.org/" '
'target="_blank">popcon.debian.org</a>. Submission happens over '
'the Tor network for additional anonymity if Tor app is enabled.'
), box_name=_(cfg.box_name)))