62 Commits

Author SHA1 Message Date
Joseph Nuthalpati
62f26433e8
Add django-simple-captcha in the login page
User will be shown captcha in the second attempt to login if login
fails in the first attempt.

Signed-off-by: Joseph Nuthalpati <njoseph@thoughtworks.com>
Reviewed-by: James Valleroy <jvalleroy@mailbox.org>
2017-10-17 22:07:12 -04:00
Sunil Mohan Adapa
24b1ab47ce
Update Django version to 1.11 in Travis and setup files
Signed-off-by: Sunil Mohan Adapa <sunil@medhas.org>
2017-10-11 10:01:24 +05:30
Sunil Mohan Adapa
e8e8fe0bd9
setup: Remove freedombox-setup related scripts
From freedombox-setup all the setup mechanisms and first-run mechanisms have
been removed. This script no longer does anything and is not needed. Ensuring
that the directories have proper permissions is now the duty of Plinth Debian
packaging.

Signed-off-by: Sunil Mohan Adapa <sunil@medhas.org>
Signed-off-by: Joseph Nuthalpati <njoseph@thoughtworks.com>
Reviewed-by: James Valleroy <jvalleroy@mailbox.org>
2017-10-07 07:14:02 -04:00
Sunil Mohan Adapa
d6f79b96be
Move Avahi files from freedombox-setup
Avahi daemon is being managed in Plinth, so it makes sense for Plinth to be
providing the service files. Service files can be managed so that when service
is not available, it is not advertised using Avahi.

Install service files.

Signed-off-by: Sunil Mohan Adapa <sunil@medhas.org>
Signed-off-by: Joseph Nuthalapati <njoseph@thoughtworks.com>
Signed-off-by: Prachi Srivastava <prachi@swecha.net>
Reviewed-by: James Valleroy <jvalleroy@mailbox.org>
2017-10-04 19:19:11 -04:00
Todd Turner
8ff47adb38
Remove creation of first-run.d directory
Reviewed-by: Joseph Nuthalapati <njoseph@thoughtworks.com>
2017-09-29 14:23:11 +05:30
abilashr
81fde34254
Rename Disks and Snapshots in Configuration tab
- Rename Disks to Storage
- Rename Snapshot to Storage Snapshots

Reviewed-by: Joseph Nuthalapati <njoseph@thoughtworks.com>
2017-09-27 09:39:34 +05:30
Joseph Nuthalpati
08e84001a8
Diaspora: Disable for release 0.15.2
diaspora* is no longer installable from Debian
https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=872305

Signed-off-by: Joseph Nuthalpati <njoseph@thoughtworks.com>

Reviewed-by: James Valleroy <jvalleroy@mailbox.org>
2017-08-16 19:38:18 -04:00
James Valleroy
bf7bde18c2
Sync requirements.txt with setup.py
Reviewed-by: Joseph Nuthalpati <njoseph@thoughtworks.com>
2017-08-10 10:16:36 +05:30
nsaikiran
09f3f23e10
[#846] Remove disabled apps as part of install 2017-07-26 21:36:27 -04:00
Sunil Mohan Adapa
3f57863a69
syncthing: Update Apache configuration
- Redirect /syncthing to /syncthing/ as the daemon does not work
  without a slash at the end.

- Create a separate include file for LDAP authentication
  configuration that can be included on other app configurations.
2017-03-23 15:09:37 +05:30
James Valleroy
413256569d
Style changes
Update changelog.
2017-01-26 12:33:32 -05:00
Marko Mackic
6f455d6afc
Remove dir_util copy_tree 2017-01-26 12:33:26 -05:00
Marko Mackic
bb6e164d2a
Add line brake to infinoted title 2017-01-26 12:33:23 -05:00
Marko Mackic
8ba763bf5a
Folders overwrite, shaarli.png added to static files 2017-01-26 12:33:04 -05:00
James Valleroy
d639990894
setup.py: Install all first-run scripts for freedombox-setup 2017-01-20 16:51:48 +05:30
James Valleroy
c8cfcd03d9
Include module static files in build
"./setup.py install" already handles this correctly, but needs to be
explicity listed for git-buildpackage to include the files in the
debian package.
2016-10-01 08:59:51 +05:30
Sunil Mohan Adapa
5a04d8057e
networks: Add polkit rules for network management
Allow Plinth to manage network connections even when running as 'plinth'
user and not root user.  This is done by adding polkit rules that
Network Manager checks

- Add new style Javascript based rules file for newer versions of
  polkit (>105). This is not fuly tested.

- Add old style .pkla file for older versions of polkit (<=105).
2016-09-09 19:47:41 -04:00
James Valleroy
548e0ebd60
Add --setup-no-install command
Acts the same as --setup, but does not install any packages. Will
raise an error if any required package is not already installed.
2016-09-03 10:02:54 +05:30
James Valleroy
edecd74ccf
xmpp: Use ruamel.yaml to modify ejabberd config 2016-08-28 09:24:03 +05:30
Sunil Mohan Adapa
f19ad2b2cb
Bump required version of Django to 1.10
Since Debian testing now has Django 1.10.  There is no necessity to
support older versions of Django.  The fix for showing menu items does
depend on a small feature that is introduced in Django 1.10:
django.setup(set_prefix=True) and FORCE_SCRIPT_NAME.
2016-08-11 18:02:41 -04:00
Sunil Mohan Adapa
6cf1cc72b9
networks: Ability to configure for BATMAN
Add a dispatcher script to NetworkManager to configure
B.A.T.M.A.N. Advanced interfaces.  This quite a bit hacky at it is
triggered for network connections that have the keyword "BATMAN" in
them.  The proper way to implement this is as a core change in
NetworkManager itself (as it lacks plugins).  It is done is the hope
that it will garner some more interest in FreedomBox for mesh networks.

Currently, it is possible to create a BATMAN mesh network and shared
existing internet connections on it.  Other boxes can then join this
mesh network and use that internet connection.

Known issues:

- Very unintuitive setup process.  First create a connection with device
  a Wi-Fi device, mode as ad-hoc, with a known frequency and BSSID.  The
  name of the connection should have contain BATMAN in it.  It should
  also have IPv4 method as disabled.  Second connection should be
  created for 'bat0' interface after the first on is successful.  It can
  be with method 'shared' for sharing internet connection and doing DHCP
  requests or 'auto' for aqcuiring IP address from another node in the
  mesh network.

- Untested for joining existing mesh networks.

- Requires configuring two network connections and the second one needs
  to be manually enabled after the first one is successfully activated.
2016-07-21 19:23:34 -04:00
Sunil Mohan Adapa
1f53321b51
Don't use init.d file, don't daemonize
We pretty much only run in systemd environment and I don't see that
changing any time soon.  By relying on it, we can reduce some burden.
Remove init script.

Daemonizing is not needed for systemd.  Remove code related
daemonization.
2016-05-29 20:32:12 +05:30
Sunil Mohan Adapa
7b8b12dc20
users: Move PAM configs over from freedombox-setup
Since we are running PAM update script from users action file, it is
appropriate for the PAM configurations that are effected by it to stay
here in Plinth as well.
2016-05-21 16:06:36 -04:00
James Valleroy
a6417c59a7
tor: Use augeas to modify configuration.
- Use json to get info from action script.
- Add SSH port to hidden service.
- Enable hidden service during setup.
2016-03-15 18:50:51 -04:00
Sunil Mohan Adapa
c3c44ab379
firstboot: Minor Danube PageKite fixes
- Fix message internationalization with formatting and laziness.

- Styling fixes.

- Simplify Subdomain widget.

- Update messages for grammer and consistency.
2016-03-13 23:32:26 +05:30
fonfon
435f980c6f
firstboot: freedombox.me pagekite vouchers
- Show PageKite voucher only if cfg.danube_edition is enabled
2016-03-13 23:32:20 +05:30
James Valleroy
73c125f1ae
Remove Plinth.egg-info/ during clean. Fixes #335. 2016-02-07 11:34:34 +05:30
Sunil Mohan Adapa
fed2178f7e Keep POT file when updating translations 2015-12-05 10:25:28 -05:00
Sunil Mohan Adapa
7cb96b62dd Compile and install translation files
- Add gettext as build dependency

- Add setup.py commands for compiling and updating .po files.

- Clean compiled .mo files on ./setup.py clean

- Install .po and .mo files to destination on ./setup.py install

- Compile .po files when running ./setup.py build

There doesn't seem to be a simple way to integrate Django .po file
dealing with ./setup.py mechanism.
2015-11-28 18:27:56 -05:00
Sunil Mohan Adapa
4bddc70ce0 diagnostics: Add external dependency on psutil 2015-08-29 06:22:01 -04:00
Sunil Mohan Adapa
517c364559 pagekite: Move to using python3-augeas
- Merge actions/pagekite_util.py into plinth/modules/pagekite/util.py.

- Rename plinth/modules/pagekite/util.py to utils.py.

- Add python-augeus as dependency.

- Move actions/util.py to plinth/action_utils.py and update services
  that use it.

- Rename _run() method to run() as it is being used publicly.

- Import the utils in a more conventional manner.

- Move all python2 bits to python3.
2015-07-19 15:37:43 -04:00
Sunil Mohan Adapa
124656b5ba Add django-stronghold as dependency 2015-07-01 21:43:07 +05:30
James Valleroy
be14b49c83 ikiwiki: Install conf files during Plinth install. 2015-06-26 17:34:37 +05:30
Bob Girard
5cadd223d5 Add support for testing Django-dependent modules
- Add django-test-settings.py for Django settings
- Add runtests.py for setting up Django test environment
- Add Django test setup support to setup.py and coverage.py
- Add new test module test_kvstore.py
- Enable existing Django-dependent tests in test_context_processors.py and test_menu.py
2015-05-23 13:59:49 +05:30
James Valleroy
1055787be2 Merge remote-tracking branch 'sunil/network-manager-glib' 2015-05-16 13:18:20 -04:00
Sunil Mohan Adapa
d5e484a6b4 networks: Update dependencies list 2015-05-05 16:10:33 +05:30
fonfon
cf96797040 pagekite action: Use augeas pagekite lens
And allow setting any server as pagekite frontend.
2015-05-03 09:44:45 +02:00
Sunil Mohan Adapa
69adf1cfc5 transmission: Run from behind Apache
- Introduce Apache configuration for plinth.

- Remove Transmission service file for firewalld.

- Enable transmission on install.

- Enable/disable Apache configuration on Transmission on enable/disable.

- Remove IP address whilelisting as 127.0.0.1 is the default setting and
  is sufficient for Apache to reverse proxy.

- Update UI URL.
2015-05-01 19:00:56 +05:30
Sunil Mohan Adapa
2a83f29b8b Add systemd service file
- When running in an environment without systemd, the changes are completely
  ignored.

- When running under systemd, the patch introduces a systemd native service
  file to take advantages of nice feature provided by systemd.

- One of the feature currently taken advantage of is the ability to restart the
  service automatically if it ever crashes or exits with error.

- Another feature is that when we wish to kill Plinth all the processes under
  the cgroup are killed as well.
2015-04-07 22:43:25 +05:30
Sunil Mohan Adapa
cd88ca7ecc network: Add python-networkmanager to setup.py and requirements.txt 2015-04-06 22:49:04 +05:30
Bob Girard
41d6cae0a9 Enable integration of Plinth with Travis-CI
- Add files .travis.yml and requirements.txt
- In setup.py, remove 'pygobject' from install_requires
- In setup.py, add 'pyyaml' to install_requires
- Add file plinth/tests/coverage/__init__.py
- Rename file plinth/tests/coverage/test_coverage.py to coverage.py
- In plinth/tests/coverage/coverage.py, rename class TestCoverageCommand
  to CoverageCommand
2015-04-01 16:12:59 -07:00
Sunil Mohan Adapa
7bd9f41833 xmpp: Add yaml as install dependency in setup.py 2015-03-30 01:52:31 +05:30
Sunil Mohan Adapa
2028a63deb mumble: Add new module for installing, enabling/disabling 2015-03-28 16:02:39 -04:00
Sunil Mohan Adapa
a4be460538 Introduce framework for checking/installing packages
- Uses PackageKit dameon, Glib library wrapping packagekit DBUS API and
  Python bindings for the Glib library.

- Implement a decorator to wrap views requiring packages.

- Framework allows for parallel operations.  However, doing parallel
  operations hangs because of what appears to be PackageKit backend
  limitations.
2015-01-05 00:13:19 +05:30
Sunil Mohan Adapa
5016087d5c Move coverage to test dependency and install it properly
- Coverage should only be required if running tests

- When running test_coverage command all the install dependencies and
  test dependencies should be installed.
2014-12-07 11:38:33 +05:30
Bob Girard
a502da63d5 Add test coverage measurement and reporting
- Implement coverage functionality as a setuptools Command subclass
  (in plinth/tests/coverage/test_coverage.py)
- Register the new 'test_coverage' command in setup.py
- Modify the INSTALL file to specify python3-coverage as a new dependency
- Modify the HACKING file to document the new 'test_coverage' command
- Have git (via .gitignore) ignore the '.coverage' output data file and
  the contents of the 'plinth/tests/coverage/report' directory
2014-12-06 18:14:42 +05:30
Sunil Mohan Adapa
fcc1330318 Relicense __main__.py to AGPLv3+
- There is no point in keeping this one single file as with different
  license from the rest of the package.  This change simplifies things.

- The file has been almost entirely been rewritten for Django, module
  loading, CherryPy static directories etc.

- This change will be pushed with the consent of new authors: fonfon and
  Me.
2014-11-30 14:49:49 +05:30
Sunil Mohan Adapa
7906b0ab5e Clean documentation directory when 'setup.py clean' is run 2014-11-30 14:49:49 +05:30
Sunil Mohan Adapa
7f307dc5a2 Fix issue with installing to a different root with --root= 2014-11-30 14:49:49 +05:30
Sunil Mohan Adapa
3871875ddf Don't add boostrap form to python module dependencies
Setup.py list will need python modules list and doesn't understand
Debian packages.  Setup.py will try to install libjs-boostrap as a
Python module and download it from PyPI.
2014-11-23 13:59:12 +05:30