mirror of
https://github.com/jwinterm/modoboa.git
synced 2026-10-19 05:58:34 +02:00
@@ -11,15 +11,17 @@ from modoboa.extensions.radicale.models import UserCalendar, SharedCalendar
|
||||
|
||||
|
||||
class UserCalendarForm(forms.ModelForm):
|
||||
"""
|
||||
User calendar form.
|
||||
"""
|
||||
|
||||
"""User calendar form."""
|
||||
|
||||
class Meta:
|
||||
model = UserCalendar
|
||||
fields = ('name', 'mailbox', )
|
||||
widgets = {
|
||||
'mailbox': forms.widgets.Select(
|
||||
attrs={"class": "selectpicker", "data-live-search": "true"}
|
||||
attrs={
|
||||
"class": "selectpicker", "data-live-search": "true"
|
||||
}
|
||||
)
|
||||
}
|
||||
|
||||
@@ -37,9 +39,9 @@ class UserCalendarForm(forms.ModelForm):
|
||||
|
||||
|
||||
class SharedCalendarForm(forms.ModelForm):
|
||||
"""
|
||||
Shared calendar form.
|
||||
"""
|
||||
|
||||
"""Shared calendar form."""
|
||||
|
||||
class Meta:
|
||||
model = SharedCalendar
|
||||
widgets = {
|
||||
@@ -59,8 +61,9 @@ class SharedCalendarForm(forms.ModelForm):
|
||||
|
||||
|
||||
class RightsForm(forms.Form, DynamicForm):
|
||||
"""
|
||||
"""
|
||||
|
||||
"""Rights definition form."""
|
||||
|
||||
username = forms.CharField(
|
||||
label="", required=False, widget=forms.widgets.TextInput(
|
||||
attrs={"placeholder": ugettext_lazy("Username")}
|
||||
@@ -104,8 +107,7 @@ class RightsForm(forms.Form, DynamicForm):
|
||||
self._load_from_qdict(args[0], "write_access", forms.BooleanField)
|
||||
|
||||
def save(self):
|
||||
"""Custom save method.
|
||||
"""
|
||||
"""Custom save method."""
|
||||
import re
|
||||
from modoboa.lib.emailutils import split_mailbox
|
||||
from modoboa.lib.exceptions import BadRequest
|
||||
@@ -145,9 +147,9 @@ class RightsForm(forms.Form, DynamicForm):
|
||||
|
||||
|
||||
class UserCalendarWizard(WizardForm):
|
||||
"""Custom wizard to create a new calendar.
|
||||
|
||||
"""
|
||||
"""Calendar creation wizard."""
|
||||
|
||||
def __init__(self, request):
|
||||
super(UserCalendarWizard, self).__init__(request)
|
||||
self.add_step(UserCalendarForm, _("General"), new_args=[request.user])
|
||||
@@ -173,8 +175,9 @@ class UserCalendarWizard(WizardForm):
|
||||
|
||||
|
||||
class UserCalendarEditionForm(TabForms):
|
||||
"""User calendar edition form.
|
||||
"""
|
||||
|
||||
"""User calendar edition form."""
|
||||
|
||||
def __init__(self, request, *args, **kwargs):
|
||||
self.forms = []
|
||||
self.forms.append({
|
||||
@@ -202,8 +205,7 @@ class UserCalendarEditionForm(TabForms):
|
||||
})
|
||||
|
||||
def save(self):
|
||||
"""Custom save method.
|
||||
"""
|
||||
"""Custom save method."""
|
||||
calendar = self.forms[0]["instance"].save()
|
||||
self.forms[1]["instance"].save()
|
||||
|
||||
|
||||
@@ -1,12 +1,8 @@
|
||||
{% load form_tags radicale_tags %}
|
||||
{% if error %}<div class="alert alert-danger">{{ error }}</div>{% endif %}
|
||||
<form action="{{ action }}" method="POST" id="{{ formid }}">
|
||||
{% csrf_token %}
|
||||
<div class="form-inline access-rule" id="original_row">
|
||||
{% render_field form.username %}
|
||||
<label class="checkbox">{{ form.read_access }} {{ form.read_access.label }}</label>
|
||||
<label class="checkbox">{{ form.write_access }} {{ form.write_access.label }}</label>
|
||||
<a href="#" class="addrule"><span class="fa fa-plus"></span></a>
|
||||
</div>
|
||||
{% render_rule_fields form %}
|
||||
</form>
|
||||
<div class="form-inline access-rule" id="original_row">
|
||||
{% render_field form.username %}
|
||||
<label class="checkbox">{{ form.read_access }} {{ form.read_access.label }}</label>
|
||||
<label class="checkbox">{{ form.write_access }} {{ form.write_access.label }}</label>
|
||||
<a href="#" class="addrule"><span class="fa fa-plus"></span></a>
|
||||
</div>
|
||||
{% render_rule_fields form %}
|
||||
|
||||
@@ -265,7 +265,7 @@ html body div.navbar div.container-fluid div#navigate-navbar-collapse.collapse u
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
.label{
|
||||
.label {
|
||||
margin-left: 1px;
|
||||
}
|
||||
|
||||
@@ -280,4 +280,9 @@ html body div.navbar div.container-fluid div#navigate-navbar-collapse.collapse u
|
||||
|
||||
.container-fluid #uprefs_content .form-horizontal .form-actions {
|
||||
margin-right: 16px;
|
||||
}
|
||||
}
|
||||
|
||||
/* Wizard */
|
||||
#wizard .carousel-inner {
|
||||
overflow: visible;
|
||||
}
|
||||
@@ -51,9 +51,7 @@ function modalbox(e, css, defhref, defcb, defclosecb) {
|
||||
$div.modal({show: false});
|
||||
$div.one('shown.bs.modal', function() {
|
||||
if ($(".selectpicker").length) {
|
||||
$(".selectpicker").selectpicker({
|
||||
container: 'body'
|
||||
});
|
||||
$(".selectpicker").selectpicker();
|
||||
}
|
||||
$(".help").popover({
|
||||
container: "#modalbox",
|
||||
|
||||
@@ -10,7 +10,7 @@
|
||||
<form class="form-horizontal" action="{{ action }}" enctype="{{ enctype }}"
|
||||
method="POST" id="{{ formid }}" name="{{ formid }}">
|
||||
{% csrf_token %}
|
||||
<div id="wizard" class="carousel">
|
||||
<div id="wizard" class="carousel slide" data-ride="carousel">
|
||||
<div class="carousel-inner">
|
||||
{% for step in wizard.steps %}
|
||||
<div id="step{{ forloop.counter }}"
|
||||
|
||||
Reference in New Issue
Block a user