Some work about permissions. Not finished yet...

This commit is contained in:
tonio
2009-04-06 18:14:20 +02:00
parent a4e7e61b96
commit 6cfd76809f
12 changed files with 106 additions and 3 deletions
+7
View File
@@ -36,3 +36,10 @@ class AliasForm(forms.ModelForm):
model = Alias
fields = ('address', 'mbox', 'enabled')
class PermissionForm(forms.Form):
domain = forms.ModelChoiceField(queryset=Domain.objects.all(), label=_("Domain"),
required=True)
user = forms.ChoiceField(label=_("User"), required=True)
role = forms.ChoiceField(label=_("Role"), required=True,
choices=(("SuperAdmin", _("Super administrator")),
("DomainAdmin", _("Domain administrator"))))
+3
View File
@@ -39,6 +39,9 @@ class Domain(models.Model):
return False
return True
def __str__(self):
return self.name
class Mailbox(models.Model):
name = models.CharField(_('name'), max_length=100)
address = models.CharField(_('address'), max_length=100)
+1
View File
@@ -16,4 +16,5 @@ urlpatterns = patterns('mailng.admin.views',
url(r'^domains/(?P<dom_id>\d+)/aliases/(?P<mbox_id>\d+)/$', "aliases", name="mbox-aliases"),
(r'^domains/(?P<dom_id>\d+)/delalias/(?P<alias_id>\d+)/$', 'delalias'),
(r'^settings/$', 'settings'),
(r'^settings/addperm/$', 'addpermission')
)
+13 -2
View File
@@ -10,7 +10,7 @@ from django.contrib.auth.decorators import login_required
from django.contrib.auth.models import User
from mailng import admin
from mailng.admin.models import Domain, Mailbox, Alias
from forms import MailboxForm, DomainForm, AliasForm
from forms import MailboxForm, DomainForm, AliasForm, PermissionForm
import md5
def _ctx_ok(url):
@@ -280,4 +280,15 @@ def delalias(request, dom_id, alias_id):
@login_required
def settings(request):
return _render(request, 'admin/permissions.html', {})
admins = User.objects.filter(is_superuser=True)
domadmins = User.objects.filter(groups__name="DomainAdmins")
return _render(request, 'admin/permissions.html', {
"admins" : admins, "domadmins" : domadmins
})
@login_required
def addpermission(request):
form = PermissionForm()
return _render(request, 'admin/addpermission.html', {
"form" : form
})
+1 -1
View File
@@ -146,7 +146,7 @@ msgstr "Domaines disponibles"
#: templates/admin/domains.html:13
msgid "No domain defined."
msgstr "Aucun alias défini."
msgstr "Aucun domaine défini."
#: templates/admin/domains.html:18 templates/admin/mailboxes.html:15
msgid "Name"
+6
View File
@@ -37,4 +37,10 @@ window.addEvent("domready", function() {
if ($("aliasform"))
$("aliasform").addEvent("submit", alias_submit);
if ($("permform")) {
$("id_domain").addEvent("change", function(event) {
});
}
});
+6
View File
@@ -0,0 +1,6 @@
window.addEvent('domready', function() {
SqueezeBox.assign($$('a.boxed'), {
parse: 'rel',
});
});
+8
View File
@@ -254,6 +254,10 @@ body {
width: 90%;
}
#setcontent {
margin: 0px auto;
width: 90%;
}
.button {
margin-left: 35px;
@@ -272,4 +276,8 @@ body {
.header h1 {
font-size: medium;
}
#setcontent h4 {
margin-top: 0;
}
+19
View File
@@ -0,0 +1,19 @@
{% extends "admin/layout_simple.html" %}
{% load i18n %}
{% block html_head %}
<script src="/static/js/form.js" type="text/javascript"></script>
{% endblock %}
{% block content %}
<div class="title"><h1>{% trans "Add permission" %}</h1></div>
{% if error %}<div class="error">{{ error }}</div>{% endif %}
{% url admin.views.add_permission as addperm_url %}
<form action="{{ addperm_url }}" method="POST" id="permform" name="permform">
{% include "admin/genericform.html" %}
<div class="spacer"></div>
<div class="lastrow" align="center">
<input type="submit" name="submit" value="{% trans 'Create' %}" />
</div>
</form>
{% endblock %}
+33
View File
@@ -2,4 +2,37 @@
{% block menu %}
{% load admin_extras %}
{% settings_menu "permissions" %}
{% endblock %}
{% block setcontent %}
{% load i18n %}
{% if not admins %}
<p>{% trans "No superuser defined?!" %}</p>
{% else %}
<h4>Super admins</h4>
<table>
<tr>
<th width="50px">{% trans "Actions" %}</th>
<th>{% trans "Full name" %}</th>
<th>{% trans "User name" %}</th>
<th>{% trans "Enabled" %}</th>
</tr>
{% for admin in admins %}
<tr class="{% cycle 'odd' 'even' %}">
<td>
<a href=""><img src="/static/pics/remove.png" border="0" title="{% trans 'Remove permission' %}" /></a>
</td>
<td>{{ admin.first_name }} {{ admin.last_name }}</td>
<td>{{ admin.username }}</td>
<td>{{ admin.is_active }}</td>
</tr>
{% endfor %}
</table>
<br/><br/>
{% endif %}
<h4>Domain admins</h4>
{% if not domadmins %}
<p>{% trans "No domain admin defined." %}</p>
{% else %}
{% endif %}
{% endblock %}
+1
View File
@@ -1,5 +1,6 @@
{% extends "admin/layout.html" %}
{% block html_head %}
<script src="/static/js/settings.js" type="text/javascript"></script>
{% endblock %}
{% block mainframe %}
{% load i18n %}
+8
View File
@@ -7,4 +7,12 @@
{% trans "Permissions" %}
</a>
</li>
{% url admin.views.addpermission as addperm_url %}
<li>
<a href="{{ addperm_url }}" class="boxed"
rel="{handler:'iframe',size:{x:320,y:210}}">
<img src="/static/pics/add.png" border="0" />
{% trans "Add permission" %}
</a>
</li>
</ul>