26 Commits

Author SHA1 Message Date
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
ff53e7d653
diagnostics: Don't run on modules not yet setup
Closes: #248.
2016-06-04 08:13:46 +05:30
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
b54846b0ce
Services: Template restructuring
- renamed app.html to simple_service.html
- allow hiding the 'status' block instead of using separate
  apache_service.html template
2016-05-11 18:19:35 -04:00
Sunil Mohan Adapa
1489b81fee
diagnostics: Fix a warning about a global use 2016-05-07 11:48:18 -04:00
Sunil Mohan Adapa
28a889c54b
diagnostics: Use new setup mechanism 2016-02-13 13:50:50 +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
James Valleroy
e7b68f7e28 diagnostics: Remove extra 'error' displayed results.
Just show 'error' for missing command.
2015-08-29 09:37:35 -04:00
Sunil Mohan Adapa
6b7de75b62 diagnostics: Implement diagnostics for Plinth
- Note that while Plinth is running or not running, diagnostics can be
  run on the command line with --diagnose option to Plinth binary.  That
  makes these tests just as useful as freedombox-setup testsuite.
2015-08-29 06:22:02 -04:00
Sunil Mohan Adapa
eca538169e diagnostics: Revamp main diagnostics page
- Run diagnostics on each module separately.

- Run diagnostics in a separate thread.

- Show progressive update while running diagnostics.

- Store and show old diagnostics.

- Prevent CSRF on the expensive operation of running diagnostics.
2015-08-29 06:22:01 -04:00
Sunil Mohan Adapa
991f848c23 diagnostics: Template/styling helpers for modules 2015-08-29 06:22:01 -04:00
Sunil Mohan Adapa
36426b373c diagnostics: Refactor module results template
- For reuse elsewhere
2015-08-29 06:22:01 -04:00
Sunil Mohan Adapa
fc00cb6bd9 diagnostics: Individual module check framework
Each module will implement its own diagnostics.  The diagnostics module
will provide a common, standardized mechanism for running these
diagnostics.
2015-07-28 21:57:58 +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
fonfon
4010b81ecc fixed some flake8 errors 2014-12-15 16:02:56 +01:00
Sunil Mohan Adapa
100533bee1 Add missing titles to tor and diagnostics pages 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
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
Sunil Mohan Adapa
265953adc6 Bootstrap change .btn-large -> .btn-lg 2014-11-23 14:10:01 +05:30
fonfon
f0582e7a94 replaced bootstrap2 by bootstrap3 2014-11-11 19:06:47 +01:00
Sunil Mohan Adapa
cc549fff61 Load modules using explict paths instead of config file name 2014-10-04 13:41:27 +05:30
Sunil Mohan Adapa
65fa648d9f Reorganize python sources into 'plinth' package 2014-08-29 12:57:27 +05:30