39 Commits

Author SHA1 Message Date
mridulnagpal
e4b310369e
icons updated 2016-12-18 12:32:43 -05:00
mridulnagpal
8d5fc5f1c4
icons updated 2016-12-18 12:32:41 -05:00
mridulnagpal
071058b427
ugettexy lazy restored 2016-12-18 12:32:39 -05:00
mridulnagpal
06fb7fab3b
License updated ikiwiki icon added title indented 2016-12-18 12:32:26 -05:00
Swapnil Gupta
ce18ed4214
Error when initializing modules fixed 2016-12-07 05:43:54 -05:00
James Valleroy
b234d0e1b3
Ensure that services are registered when modules complete setup 2016-12-04 13:45:31 -05:00
mridulnagpal
941259df1e
Firewall updated 2016-12-04 13:45:26 -05:00
mridulnagpal
fbe40f17b2
apps requiring login don't show up on frontpage unless logged in 2016-11-15 19:50:58 -05:00
James Valleroy
3eb7dd914a
Add basic front page with shortcuts to web apps 2016-09-02 20:03:24 +05:30
Sunil Mohan Adapa
afdea208ec
transmission: Read configuration as super user
Due to permission restrictions on the configuration file (due to stored
password), it is not possible to read it as plinth user.  Read it using
sudo instead.
2016-08-16 18:39:38 -04:00
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
d3f386733f
diagnostics: Use curl instead of wget for URLs
wget does not seem to support interface scoping for IPv6 addresses.  For
example, http_proxy=http://[fe80::babe:ff:ffff:babe%eth0]:8118/ . Curl
supports this.

This fixes most of the failures for IPv6 related addresses.  Hide the
last failure as there does not seem to be a proper fix from OS level:
when using link local addresses, if a hostname is resolved to IPv6 link
local address, it is not scoped to that interface.  It can't properly be
used by any tool then.
2016-06-03 16:22:02 -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
fonfon
9fe49f881f
Services-Action to handle and list services managed by plinth
- API: start, stop, enable, disable, reload, is-running, is-enabled, list
- only allows access to a service if the service name is listed in a
  'managed_services' variable of any plinth module.
2016-05-11 18:19:14 -04:00
fonfon
cd82188efd
datetime: Fix wrong ConfigurationView import
Also rename Transmission's ConfigurationView
2016-03-14 19:29:40 +05:30
Sunil Mohan Adapa
7385bebb89
transmission: Use common view for configuration 2016-02-28 19:38:36 +05:30
Sunil Mohan Adapa
065d6c4c0a
transmission: Use new setup mechanism 2016-02-13 13:52:14 +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
efac9cb59e transmission: Disable rpc whitelists on install 2015-12-23 06:16:22 -05:00
Ruben Lubbes
71f3dd6483 Typo 2015-12-13 19:54:10 +01:00
Ruben Lubbes
161e374419 Improved base strings to avoid duplicates
Should not affect already translated strings.
2015-12-09 23:55:55 +05:30
Ruben Lubbes
fad7448417 More punctuation and minor errors changed 2015-12-09 23:55:55 +05:30
Ruben Lubbes
841439ba73 Punctuation errors changed after DE language check
Influences all translations, so do not use for 0.7.
2015-12-09 23:55:55 +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
2926d17104 transmission: Implement diagnostics 2015-08-29 06:22:02 -04:00
Sean Alexandre
21b9a5b02a Passwords now sent over stdin instead of command line.
Fixes Issue #166:
Don't pass passwords on command line
https://github.com/freedombox/Plinth/issues/166

This issue was for 4 modules: Transmission, Pagekite, DynamicDNS, and Ikiwiki.
2015-08-23 15:20:08 +05:30
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
Sunil Mohan Adapa
c9d918157c transmission: Remove get-enabled from actions 2015-07-19 19:56:05 -04:00
Sunil Mohan Adapa
07e2c0ce14 Don't use actions to check if service is running
- To check whether a service is running does not require root
  privileges.  This can directly be done from a module without any
  action.

- Since actions are allowed to be run using sudo, introducing
  unnecessary sub-commands increases attack surface.

- Simple functions calls are unnecessarily being converted to command
  line invocations and involve parsing response.

- There is a lot of repeated code because of this that can be
  eliminated.

- To generalize this, we need to make all non-root system operations
  directly from module instead of delegating to action commands.
2015-07-19 19:54:13 -04:00
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
James Valleroy
d185e88022 transmission: minor comment updates 2015-05-01 19:38:49 -04: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
f94d0d5414 transmission: New module for BitTorrent downloads 2015-05-01 18:52:17 +05:30