mirror of
https://github.com/freedombox/FreedomBox.git
synced 2026-05-20 10:34:30 +00:00
roundcube: Use new setup mechanism
This commit is contained in:
parent
c2cb1f32b9
commit
bdfd20d661
@ -21,18 +21,52 @@ Plinth module to configure Roundcube.
|
|||||||
|
|
||||||
from django.utils.translation import ugettext_lazy as _
|
from django.utils.translation import ugettext_lazy as _
|
||||||
|
|
||||||
|
from plinth import actions
|
||||||
from plinth import action_utils
|
from plinth import action_utils
|
||||||
from plinth import cfg
|
from plinth import cfg
|
||||||
|
|
||||||
|
|
||||||
|
version = 1
|
||||||
|
|
||||||
depends = ['apps']
|
depends = ['apps']
|
||||||
|
|
||||||
|
title = _('Email Client (Roundcube)')
|
||||||
|
|
||||||
|
description = [
|
||||||
|
_('Roundcube webmail is a browser-based multilingual IMAP '
|
||||||
|
'client with an application-like user interface. It provides '
|
||||||
|
'full functionality you expect from an email client, including '
|
||||||
|
'MIME support, address book, folder manipulation, message '
|
||||||
|
'searching and spell checking.'),
|
||||||
|
|
||||||
|
_('You can access Roundcube from <a href="/roundcube">'
|
||||||
|
'/roundcube</a>. Provide the username and password of the email '
|
||||||
|
'account you wish to access followed by the domain name of the '
|
||||||
|
'IMAP server for your email provider, like <code>imap.example.com'
|
||||||
|
'</code>. For IMAP over SSL (recommended), fill the server field '
|
||||||
|
'like <code>imaps://imap.example.com</code>.'),
|
||||||
|
|
||||||
|
_('For Gmail, username will be your Gmail address, password will be '
|
||||||
|
'your Google account password and server will be '
|
||||||
|
'<code>imaps://imap.gmail.com</code>. Note that you will also need '
|
||||||
|
'to enable "Less secure apps" in your Google account settings '
|
||||||
|
'(<a href="https://www.google.com/settings/security/lesssecureapps"'
|
||||||
|
'>https://www.google.com/settings/security/lesssecureapps</a>).'),
|
||||||
|
]
|
||||||
|
|
||||||
|
|
||||||
def init():
|
def init():
|
||||||
"""Intialize the module."""
|
"""Intialize the module."""
|
||||||
menu = cfg.main_menu.get('apps:index')
|
menu = cfg.main_menu.get('apps:index')
|
||||||
menu.add_urlname(_('Email Client (Roundcube)'), 'glyphicon-envelope',
|
menu.add_urlname(title, 'glyphicon-envelope', 'roundcube:index', 600)
|
||||||
'roundcube:index', 600)
|
|
||||||
|
|
||||||
|
def setup(helper, old_version=None):
|
||||||
|
"""Install and configure the module."""
|
||||||
|
helper.call('pre', actions.superuser_run, 'roundcube', ['pre-install'])
|
||||||
|
helper.install(['sqlite3', 'roundcube', 'roundcube-sqlite3'])
|
||||||
|
helper.call('pre', actions.superuser_run, 'roundcube', ['setup'])
|
||||||
|
|
||||||
|
|
||||||
def is_enabled():
|
def is_enabled():
|
||||||
"""Return whether the module is enabled."""
|
"""Return whether the module is enabled."""
|
||||||
|
|||||||
@ -1,4 +1,4 @@
|
|||||||
{% extends "base.html" %}
|
{% extends "app.html" %}
|
||||||
{% comment %}
|
{% comment %}
|
||||||
#
|
#
|
||||||
# This file is part of Plinth.
|
# This file is part of Plinth.
|
||||||
@ -21,41 +21,7 @@
|
|||||||
{% load bootstrap %}
|
{% load bootstrap %}
|
||||||
{% load i18n %}
|
{% load i18n %}
|
||||||
|
|
||||||
{% block content %}
|
{% block configuration %}
|
||||||
|
|
||||||
<h2>{% trans "Email Client (Roundcube)" %}</h2>
|
|
||||||
|
|
||||||
<p>
|
|
||||||
{% blocktrans trimmed %}
|
|
||||||
Roundcube webmail is a browser-based multilingual IMAP client
|
|
||||||
with an application-like user interface. It provides full
|
|
||||||
functionality you expect from an email client, including MIME
|
|
||||||
support, address book, folder manipulation, message searching
|
|
||||||
and spell checking.
|
|
||||||
{% endblocktrans %}
|
|
||||||
</p>
|
|
||||||
|
|
||||||
<p>
|
|
||||||
{% blocktrans trimmed %}
|
|
||||||
You can access Roundcube from <a href="/roundcube">/roundcube</a>.
|
|
||||||
Provide the username and password of the email account you wish
|
|
||||||
to access followed by the domain name of the IMAP server for
|
|
||||||
your email provider, like <code>imap.example.com</code>. For
|
|
||||||
IMAP over SSL (recommended), fill the server field like
|
|
||||||
<code>imaps://imap.example.com</code>.
|
|
||||||
{% endblocktrans %}
|
|
||||||
</p>
|
|
||||||
|
|
||||||
<p>
|
|
||||||
{% blocktrans trimmed %}
|
|
||||||
For Gmail, username will be your Gmail address, password will be
|
|
||||||
your Google account password and server will be
|
|
||||||
<code>imaps://imap.gmail.com</code>. Note that you will also need
|
|
||||||
to enable "Less secure apps" in your Google account settings
|
|
||||||
(<a href="https://www.google.com/settings/security/lesssecureapps"
|
|
||||||
>https://www.google.com/settings/security/lesssecureapps</a>).
|
|
||||||
{% endblocktrans %}
|
|
||||||
</p>
|
|
||||||
|
|
||||||
{% include "diagnostics_button.html" with module="roundcube" %}
|
{% include "diagnostics_button.html" with module="roundcube" %}
|
||||||
|
|
||||||
|
|||||||
@ -26,24 +26,11 @@ import logging
|
|||||||
|
|
||||||
from .forms import RoundcubeForm
|
from .forms import RoundcubeForm
|
||||||
from plinth import actions
|
from plinth import actions
|
||||||
from plinth import package
|
|
||||||
from plinth.modules import roundcube
|
from plinth.modules import roundcube
|
||||||
|
|
||||||
logger = logging.getLogger(__name__)
|
logger = logging.getLogger(__name__)
|
||||||
|
|
||||||
|
|
||||||
def before_install():
|
|
||||||
"""Preseed debconf values before the packages are installed."""
|
|
||||||
actions.superuser_run('roundcube', ['pre-install'])
|
|
||||||
|
|
||||||
|
|
||||||
def on_install():
|
|
||||||
"""Setup Roundcube Apache configuration."""
|
|
||||||
actions.superuser_run('roundcube', ['setup'])
|
|
||||||
|
|
||||||
|
|
||||||
@package.required(['sqlite3', 'roundcube', 'roundcube-sqlite3'],
|
|
||||||
before_install=before_install, on_install=on_install)
|
|
||||||
def index(request):
|
def index(request):
|
||||||
"""Serve configuration page."""
|
"""Serve configuration page."""
|
||||||
status = get_status()
|
status = get_status()
|
||||||
@ -61,7 +48,8 @@ def index(request):
|
|||||||
form = RoundcubeForm(initial=status, prefix='roundcube')
|
form = RoundcubeForm(initial=status, prefix='roundcube')
|
||||||
|
|
||||||
return TemplateResponse(request, 'roundcube.html',
|
return TemplateResponse(request, 'roundcube.html',
|
||||||
{'title': _('Email Client (Roundcube)'),
|
{'title': roundcube.title,
|
||||||
|
'description': roundcube.description,
|
||||||
'status': status,
|
'status': status,
|
||||||
'form': form})
|
'form': form})
|
||||||
|
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user