52 Commits

Author SHA1 Message Date
Sunil Mohan Adapa
5f548a9e36
packages: Make modules declare managed packages
This can then be used by a privileged action to verify that packages
requested for installation are in fact valid.  This slightly improves
security of those privileged actions.
2016-06-11 12:11:32 -04:00
Sunil Mohan Adapa
ad61028a3a
menu: Sort menu items for all locales
Currently menu items are shown in alphabetical order in applications and
no clear order in system configuration.  This is done using static
weights for menu items based on English names that does not work for
other locales.

Sorting can't be done at the time of adding menu items as users of
multiple locales may use the interface at the same time.

Implement a sorting mechanism based on existing order as well as labels
of menu item.  This allows the flexiblity of grouping menu items in
future as it may be need for system configuration.  In case of help menu

Remove sort order for all modules except for help menu as here we want
that specific order.
2016-06-06 17:44:59 -04:00
Sunil Mohan Adapa
f245e7e763
firewall: Explicitly specify ports for services
It has become confusing to reuse the name of the service for name of the
systemd unit file and firewall port.  This has lead to the regression
that quassel, mumble and minetest can no longer open firewall ports.
Fix this by explicitly specifying ports all services.
2016-06-05 15:44:41 -04:00
Sunil Mohan Adapa
47596c47ff
xmpp: Fix display of domain name in template 2016-06-03 18:53:50 -04:00
fonfon
f419c28596
Services: Explicitly use ServiceForm and ServiceView
- adapted all modules to not use views.ConfigurationView anymore
- removed templates that are not needed anymore
- no more implicit 'enabled' and 'get_status' functions in __init__.py files
- (more coherent/explicit use of Django functionality)
2016-05-11 18:19:31 -04:00
fonfon
a9528c56d9
Service object to handle services on a system-level
The Service object now offers handling services on a system level,
and gathering information whether it's enabled or running.
New methods: enable, disable, is_enabled, is_running;

For this it needs the correct (system-level) service name.
All of the methods can be overridden/customized.

This changes all modules to the new Service object and deletes
action scripts that are not required anymore.
2016-05-11 18:19:27 -04:00
Sunil Mohan Adapa
40a9507aae
xmpp: Use common view for configuration 2016-02-28 19:37:51 +05:30
Sunil Mohan Adapa
30f0876c32
xmpp: Use new setup mechanism 2016-02-13 13:52:25 +05:30
Sunil Mohan Adapa
7f4c5f7410
Make app names as module identifiers
- The last part of the module import path is the module name.  This also
  becomes the Django app name.  Apps names have to be unique.  Hence,
  there is no scope for two different modules with same name but
  different load path to exist in the project.

- Most uses of list of loaded modules are dealing with app names instead
  of full module load path.  This is due to the fact that Django deals
  with app names and not module paths.

- It is also somewhat clumsy to access a loaded module as we are
  re-importing every time to get access module.

- Simplify all of the above by using app names are module identifiers
  and maintaing an ordered dictionary of app names to loadded modules.

- Remove unused imports.

- Minor styling fixes.
2016-02-13 13:49:23 +05:30
Sunil Mohan Adapa
a69f419c3c Make Django urlpatterns list of url()s
- Support for legacy pattern() mechanism will be removed in Django
  1.10.  Currently we see a warning for each Plinth module.
2015-12-05 09:33:23 -05:00
Sunil Mohan Adapa
3df1a88824 Switch to Django i18n for code strings
Django i18n layer is on top of gettext and provide may crucial features
such as per-request locales, lazy translations etc.
2015-11-13 22:08:43 +05:30
Sunil Mohan Adapa
02cd89b60d Internationalize strings in template files 2015-11-13 22:02:17 +05:30
Sean Alexandre
95e81b0906 Adds missing calls to service.notify_enabled() from on_install handlers.
Fixes https://github.com/freedombox/Plinth/issues/175
"Many services do not show as enabled in Firewall after install"
2015-09-27 21:39:33 +05:30
Sunil Mohan Adapa
35d3244636 xmpp: Minor identation fixes 2015-09-01 22:41:53 +05:30
James Valleroy
19a6e24685 xmpp: Display current domainname and example user ID. 2015-08-30 21:14:51 -04:00
Sunil Mohan Adapa
c417c12436 xmpp: Implement diagnostics
- Mostly moved from freedombox-setup.
2015-08-29 06:22:01 -04:00
Sunil Mohan Adapa
5ffe3dab70 Reorder all app menu items alphabetically
- Alphabetical order is best for users to find the necessary items
  quickly and precitably.

- Currently there is no particular order.
2015-07-28 12:15:35 +05:30
James Valleroy
97220b89f3 xmpp: Update module layout to match other modules.
Split forms and views into separate files.
Add configuration form to enable/disable the service.
2015-07-23 22:30:50 +05:30
James Valleroy
6bbc622b1a xmpp: Remove account registration and in-band configuration. 2015-07-23 22:30:50 +05:30
James Valleroy
b840875c16 xmpp: Always use LDAP authentication. 2015-07-23 22:30:50 +05:30
fonfon
824a9091c1 use django-stronghold for authentication handling (instead of @login_required) 2015-07-01 00:01:02 +05:30
Bob Girard
d64ce6cc01 Bundle tests with applications
- For each application, add ./tests directory and __init__.py file
  within it.

- Modify test controllers (coverage.py, runtests.py) to find the new
  test directories for testing and coverage analysis.

- Move existing application-specific test modules (test_pagekite.py) to
  the newly created directories.
2015-06-26 12:05:48 +05:30
Sunil Mohan Adapa
82090af423 ldap: Minor styling fixes 2015-06-25 23:40:24 +05:30
James Valleroy
73a03c3b39 xmpp: Merge actions into single file. 2015-06-12 15:49:41 +05:30
James Valleroy
b2cd67c78b xmpp: Add option to use LDAP for authentication. 2015-06-12 15:49:41 +05:30
Sunil Mohan Adapa
1d3b179f6e xmpp: Minor fix to log message 2015-05-26 16:12:25 +05:30
James Valleroy
128aa42873 xmpp: Enable jwchat apache conf after install. 2015-05-24 17:25:54 +05:30
James Valleroy
eca896a2e8 Fix missing import and pass before_install correctly. 2015-05-24 17:25:54 +05:30
James Valleroy
ca61649105 xmpp: Preseed debconf values before ejabberd and jwchat packages are installed. 2015-05-24 17:25:54 +05:30
Sunil Mohan Adapa
b62f6746f4 Handle arguments to actions properly
- Don't allow strings to be sent as arguments.  The mixup with
  lists/tuples could be dangerous.

- Don't escape arguments.  subprocess.Popen takes care that arguments
  are passed on nicely to the actions.

- Update tests.
2015-05-01 18:52:17 +05:30
Sunil Mohan Adapa
a4b33e07c8 xmpp: List all configured vhosts during user registration
Try to make the terminology a bit more consistent by renaming server ->
vhost and server -> domainname according to the situation.
2015-03-30 01:52:31 +05:30
James Valleroy
dae7abd00f Use domainname as ejabberd host.
Only use hostname when domainname is blank.
2015-03-30 01:52:31 +05:30
Sunil Mohan Adapa
be838a30c1 package: Add ability to receive notification on install
- Fix issue with Mumble firewall enabling after a fresh install.
2015-03-28 16:02:39 -04:00
Sunil Mohan Adapa
b3e8e53c73 Use package framework for installing ejabberd and jwchat 2015-01-05 00:27:45 +05:30
James Valleroy
3d7de0778b Allow user to change domain name, then determine the FQDN from it. 2015-01-03 14:43:51 +05:30
James Valleroy
90c9e3b9a8 Convert xmpp-pre-hostname-change to python, merge into xmpp action file. 2015-01-03 14:43:50 +05:30
James Valleroy
588eb7250e Fix xmpp change-hostname options. 2015-01-03 14:43:50 +05:30
James Valleroy
298938de73 Signal xmpp module before and after hostname is changed. 2015-01-03 14:43:50 +05:30
fonfon
ae83566653 removed unused 'title' from subsubmenus 2014-12-15 15:54:40 +01:00
Sunil Mohan Adapa
2d33b0338e Add missing <p> tags 2014-12-06 17:08:38 +05:30
Sunil Mohan Adapa
522ece851c Minor indentation fixes in templates 2014-12-06 17:08:38 +05:30
Sunil Mohan Adapa
e6b5bed1f3 Use margins or <p> instead of <br /> 2014-12-06 17:08:37 +05:30
fonfon
96a14e3d0d moved 'in-app menu' from the sidebar to the top of the content; some template block renaming 2014-12-06 17:08:37 +05:30
James Valleroy
2751a8e848 Convert xmpp-register action to python. 2014-11-30 15:24:32 +05:30
James Valleroy
e324aa040e Move ejabberd install info to template file. 2014-11-30 15:23:25 +05:30
James Valleroy
39e441e2b9 Add action to check if ejabberd is installed.
If not installed, show instructions on how to install it.
2014-11-30 15:23:25 +05:30
James Valleroy
ac0f0c9eba Show error messages from xmpp-setup and xmpp-register.
Avoid causing plinth to show error page.
2014-11-30 15:23:25 +05:30
Sunil Mohan Adapa
5b969d9d30 Explicitly write license headers for each source file
The package license (AGPL3+) implicitly indicates the license of each
file.  However, it is desirable to have license headers in each file.
This is the case for many prominent projects like GNU project, Mozilla
etc.
2014-11-30 14:49:49 +05:30
Sunil Mohan Adapa
6a1f96d7c2 Bootstrap change .btn-primary -> .btn .btn-primary
Only then the full intended style will apply.  This is a change from
Bootstrap 2 to Bootstrap 3.
2014-11-23 14:08:13 +05:30
fonfon
f0582e7a94 replaced bootstrap2 by bootstrap3 2014-11-11 19:06:47 +01:00