kind = models.CharField(max_length=10, choices=KIND_CHOICES, verbose_name=_(u"kind"))
domain = models.CharField(max_length=20, choices=DOMAIN_CHOICES, verbose_name=_(u"domain"))
- dns = models.CharField(max_length=128, verbose_name=_(u"dns domain"), blank=True, unique=True)
+ dns = models.CharField(max_length=128, verbose_name=_(u"dns domain"), blank=True)
class Meta:
verbose_name = _(u"group")
--- /dev/null
+from django.conf.urls.defaults import patterns, url
+
+
+urlpatterns = patterns(
+ 'xnet.group.views',
+ url(r'^$', 'index', name='index'),
+ url(r'^view/([0-9]+)$', 'view', name='view'),
+)
--- /dev/null
+from django.contrib import messages
+from django.shortcuts import render
+
+from xnet.group.models import Group
+
+
+def index(request):
+ return render(request, 'groups/index.html', {'groups': Group.objects.order_by('kind')})
+
+def view(request):
+ pass
--- /dev/null
+.group_list {
+ float: left;
+ border: solid 1px black;
+ border-radius: 5px;
+ background-color: white;
+ margin: 1%;
+ width: 22%;
+}
+.group_list h3 {
+ margin: 0 10px 0 10px;
+ font-size: medium;
+}
+.group_list li {
+ list-style: none;
+}
<script src="http://html5shim.googlecode.com/svn/trunk/html5.js"></script>
<![endif]-->
<link href="{% static 'css/common.css' %}" rel="stylesheet">
+ {% block css %}{% endblock %}
</head>
<body>
{% block body %}
</p>
<div class="nav-collapse collapse">
<ul class="nav">
- <li{% if top == 'blah' %} class="active"{% endif %}>
- <a href="#">
- {% trans "blah" %}
+ <li{% if top == 'groups' %} class="active"{% endif %}>
+ <a href="/groups">
+ {% trans "Groupes" %}
</a>
</li>
<li{% if top == 'blih' %} class="active"{% endif %}>
--- /dev/null
+{% extends "base.html" %}
+{% load static %}
+
+{% block css %}
+ {{ block.super }}
+ <link href="{% static 'css/groups.css' %}" rel="stylesheet">
+{% endblock %}
+{% block js %}
+ <script type="text/javascript">
+ $('.search-field').keyup(function(){
+ var children = $('#' + $(this).data('target') + ' ul').children();
+ var search = $(this).val();
+ console.log(children);
+ console.log($(this).data('target'));
+ for(var i=0; i<children.length; i++)
+ if($(children[i]).html().match(new RegExp(search, 'i')) == null)
+ $(children[i]).hide();
+ else
+ $(children[i]).show();
+ });
+ </script>
+{% endblock %}
+
+{% block content %}
+{% regroup groups by get_kind_display as group_list %}
+{% for group in group_list %}
+<div class="group_list" id="{{ group.grouper }}_type">
+ <h3>{{ group.grouper }}</h3>
+ <input type="text" class="search-field" data-target="{{ group.grouper }}_type" />
+ <ul>
+ {% for item in group.list %}
+ <li><a href="{% url 'groups:view' item.pk %}">{{ item }}</a></li>
+ {% endfor %}
+ </ul>
+</div>
+{% endfor %}
+{% endblock %}
urlpatterns = patterns('',
url(r'^$', 'xnet.site.views.home', name='home'),
url(r'^xorgauth/', authgroupex_view.login_view, name='xorgauth'),
-
+ url(r'^groups/', include('xnet.group.urls', namespace='groups')),
url(r'^admin/', include(admin.site.urls)),
)