17 Commits

Author SHA1 Message Date
James Valleroy
61ff4190d5
letsencrypt: Mark module as non-essential
This avoids making the certbot package a dependency for plinth.
2016-11-27 20:07:25 -05:00
Sunil Mohan Adapa
7e4af695ce
letsencrypt: I18n and minor fixes
- Fix indentation from a recent change.

- Internationalize 'no domains configured' message.

- Expand the message as per orignal pull request.
2016-11-14 21:38:27 -05:00
mridulnagpal
14b65ae456
letsencrypt: Improve display when no domains are configured
Show better message, and hide diagnostics button.
2016-11-07 19:53:46 -05:00
Sunil Mohan Adapa
ff0d117a89
Readjust the responsive widths of various tables
Most tables now occupy the full width of the container row.  Some of
them are otherwise squished.  Also make sure the new fixed container
layout has not reduced the originally intended width of a table.
2016-09-11 13:15:00 -04:00
Sunil Mohan Adapa
57bc8f1db6
letsencrypt: Depend on the new certbot package
Instead of the transitional package 'letsencrypt'.

I believe, there is no need to rename the entire module to certbo since
letsencrypt is stil a more apt name for the module.  Let's Encrypt is a
strong brand that people know.  The service is still called Let's
Encrypt.  Only the automation tool has been renamed to certbot to avoid
confusion of the service name.
2016-09-04 15:47:46 -04:00
Sunil Mohan Adapa
7025cf099e
letsencrypt: Fix spelling (Dietmar) 2016-08-26 21:52:01 -04:00
Sunil Mohan Adapa
130b5273e4
letsencrypt: Replace a Unicode char with ASCII
Although there is nothing wrong with the generated POT file and the
encoding is properly set to UTF-8, Weblate failed with following error:

We have not been able to update the source file for the resource
django.pot of the project FreedomBox UI.

The URL we used to update the source file from was
https://raw.githubusercontent.com/freedombox/Plinth/master/plinth/locale/django.pot.

The exact error we encountered was:

'ascii' codec can't encode character u'\u2019' in position 31271:
ordinal not in range(128)
2016-08-20 09:40:30 +05:30
Sunil Mohan Adapa
18996b5c56
Import urlresolvers from django.urls
In Django 1.10, django.core.urlresolvers is available from
django.urls. Use it.
2016-08-11 18:03:00 -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
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
James Valleroy
77134cd55b
Merge branch 'better-setup' 2016-02-19 22:11:24 -05:00
Saúl Ibarra Corretgé
cec3ced675
letsencrypt: Skip hidden service domains on index 2016-02-19 19:55:38 +05:30
Sunil Mohan Adapa
cef8f5c2c4
letsencrypt: Use new setup mechanism 2016-02-13 13:51:05 +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
4602c5bfce
Use translated brand name in templates
Using brand name directly from configuration means that it can't be
easily translated.  Instead use the translated brand name sent in my the
context processor.
2016-01-24 00:37:01 +05:30
Sunil Mohan Adapa
1a17819380
letsencrypt: New basic module for SSL certficates
This is the first implementation for obtaining certificates from Let's
Encrypt.  Following the features and limitations.

- Requires manual operation.

- Registrations are done anonymously.

- Supports revoking and re-obtaining certificates.  Does not have a way
  to show if a certficate is already renewed.

- Automatic renewal is not available.

- Details messages in case of errors.

- Has ability to switch to testing mode by using LE's staging servers.

- Sets up Apache configuration for the domain and enables/disables it.
  When certificates are not available for a domain, default website
  configuration is used.  When certificates are available, separate
  SSL website configuration for each domain is used.

- Many domain will work with a single IP address with the help of Server
  Name Indication (SNI) which is supported by all modern browsers.

- Supports diagnostics on websites.
2016-01-14 14:18:43 +05:30