remove project files from the debian branch
|
@ -1,3 +0,0 @@
|
|||
compte-agglo-montpellier.db
|
||||
local_settings.py
|
||||
*.pyc
|
10
MANIFEST.in
|
@ -1,10 +0,0 @@
|
|||
recursive-include compte_agglo_montpellier/locale *.po *.mo
|
||||
recursive-include compte_agglo_montpellier/static *.png *.gif *.css *.js *.jpg
|
||||
recursive-include compte_agglo_montpellier/templates *.html *.txt
|
||||
recursive-include compte_agglo_montpellier/fixtures *.json
|
||||
recursive-include compte_agglo_montpellier/apps/feed_plugin/templates *.html
|
||||
recursive-include compte_agglo_montpellier/apps/feed_plugin/locale *.po *.mo
|
||||
include local_settings.py.example
|
||||
include requirements.txt
|
||||
include MANIFEST.in
|
||||
include VERSION
|
49
Makefile
|
@ -1,49 +0,0 @@
|
|||
SCRIPT=./compte-agglo-montpellier
|
||||
BASE=./compte_agglo_montpellier
|
||||
|
||||
all:
|
||||
true
|
||||
|
||||
show-domains-occurences:
|
||||
grep -Hno 'http.\?://[a-zA-Z0-9.-]*' compte_agglo_montpellier/fixtures/*.json
|
||||
|
||||
show-domains:
|
||||
grep -ho 'http.\?://[a-zA-Z0-9.-]*' compte_agglo_montpellier/fixtures/*.json | sort -u
|
||||
|
||||
update-pages-and-saml:
|
||||
@echo Building file saml-preprod.json, pages-preprod.json, salm-dev.json and pages-dev.json in fixtures...
|
||||
@./run.sh dumpdata -e attribute_aggregator.userattributeprofile -e \
|
||||
saml.keyvalue -e authentic2.deleteduser -e saml.libertyassertion -e saml.libertyfederation -e \
|
||||
saml.libertysession -e saml.libertysessiondump idp saml authentic2 \
|
||||
attribute_aggregator saml | jsonlint -f > $(BASE)/fixtures/saml-preprod.json
|
||||
@./run.sh dumpdata sites cms cmsplugin_text_wrapper file \
|
||||
googlemap link picture snippet teaser video login_plugin data_source_plugin \
|
||||
a2_service_list_plugin feed_plugin.selectuserfeed feed_plugin.showuserfeed | jsonlint -f > \
|
||||
$(BASE)/fixtures/pages-preprod.json
|
||||
@echo Changing URLs for dev
|
||||
@for preprod in $(BASE)/fixtures/*-preprod.json; do sed -e 's#http://www-test.entrouvert.montpellier-agglo.com#http://drupal.montpellier.entrouvert.org#g' \
|
||||
-e 's#https://idp-test-entrouvert.montpellier-agglo.com#http://idp-montpellier.entrouvert.org#g' \
|
||||
-e 's#"idp-test-entrouvert.montpellier-agglo.com"#"idp-montpellier.entrouvert.org"#g' \
|
||||
-e 's#orig=idp-test-entrouvert.montpellier-agglo.com#orig=idp-montpellier.entrouvert.org#g' \
|
||||
-e 's#https://eservices-test-entrouvert.montpellier-agglo.com#http://eservices-montpellier.entrouvert.org#g' \
|
||||
$$preprod >`echo $$preprod | sed s,preprod,dev,`; echo " - processed " $$preprod; done
|
||||
@git commit -v $(BASE)/fixtures/
|
||||
|
||||
update-feeds:
|
||||
@echo Building file feeds.json in fixtures...
|
||||
@./run.sh dumpdata feed_plugin.feed | jsonlint -f > \
|
||||
$(BASE)/fixtures/feeds.json
|
||||
@git commit -v $(BASE)/fixtures/feeds.json
|
||||
|
||||
update-groups:
|
||||
@echo Building file groups.json in fixtures...
|
||||
@./run.sh dumpdata -n auth.group | jsonlint -f >$(BASE)/fixtures/groups.json
|
||||
@git commit -v $(BASE)/fixtures/groups.json
|
||||
|
||||
update-users:
|
||||
@echo Building file users.json in fixtures...
|
||||
@./run.sh dumpdata portail_citoyen.citoyen | jsonlint -f >$(BASE)/fixtures/users.json
|
||||
@git commit -v $(BASE)/fixtures/users.json
|
||||
|
||||
update-dev:
|
||||
ssh root@montpellier-dev /var/vhosts/idp-montpellier.entrouvert.org/virtualenv/bin/pip install -U git+git://repos.entrouvert.org/compte-agglo-montpellier.git/
|
19
README
|
@ -1,19 +0,0 @@
|
|||
How to start
|
||||
============
|
||||
|
||||
To work on compte-agglo-montpellier just execute the following line (command
|
||||
to launch start with $, other lines are expected output)::
|
||||
|
||||
$ ./start.sh
|
||||
|
||||
The application is now usable at http://localhost:8000/
|
||||
|
||||
How to save users settings
|
||||
==========================
|
||||
|
||||
$ ./run.sh dumpdata -n portail_citoyen.citoyen saml.libertyfederation \
|
||||
feed_plugin.feedpreference portail_citoyen_announces.subscription >user-datas.json
|
||||
|
||||
To load them
|
||||
|
||||
$ ./run.sh loaddata user-datas.json
|
|
@ -1,17 +0,0 @@
|
|||
#!/usr/bin/env python
|
||||
import os
|
||||
import sys
|
||||
|
||||
import compte_agglo_montpellier
|
||||
|
||||
sys.path.append(os.path.join(
|
||||
os.path.dirname(compte_agglo_montpellier.__file__),
|
||||
'apps'))
|
||||
|
||||
if __name__ == "__main__":
|
||||
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "compte_agglo_montpellier.settings")
|
||||
os.environ.setdefault('DEBUG', '1')
|
||||
|
||||
from django.core.management import execute_from_command_line
|
||||
|
||||
execute_from_command_line(sys.argv)
|
|
@ -1 +0,0 @@
|
|||
__version__ = '0.1'
|
|
@ -1,8 +0,0 @@
|
|||
from django.contrib import admin
|
||||
|
||||
from . import models
|
||||
|
||||
class FeedAdmin(admin.ModelAdmin):
|
||||
list_display = [ 'name', 'url', 'color_hex', 'css_classes' ]
|
||||
|
||||
admin.site.register(models.Feed, FeedAdmin)
|
|
@ -1,83 +0,0 @@
|
|||
import logging
|
||||
import hashlib
|
||||
from xml.etree import ElementTree as ET
|
||||
|
||||
from django.utils.translation import ugettext_lazy as _
|
||||
from django.core.cache import cache
|
||||
|
||||
import feedparser
|
||||
|
||||
from cms.plugin_base import CMSPluginBase
|
||||
from cms.plugin_pool import plugin_pool
|
||||
|
||||
from . import models
|
||||
from . import forms
|
||||
|
||||
|
||||
logger = logging.getLogger(__name__)
|
||||
|
||||
|
||||
class SelectUserFeedPlugin(CMSPluginBase):
|
||||
model = models.SelectUserFeed
|
||||
name = _('select user feeds')
|
||||
render_template = 'feed_plugin/select_user_feed.html'
|
||||
text_enabled = True
|
||||
|
||||
def render(self, context, instance, placeholder):
|
||||
request = context['request']
|
||||
user = request.user
|
||||
submit = 'select-user-feed-plugin-%s' % instance.id
|
||||
if request.method == 'POST' and submit in request.POST:
|
||||
form = forms.FeedForm(data=request.POST)
|
||||
if form.is_valid():
|
||||
models.FeedPreference.objects.filter(user=user).delete()
|
||||
for feed in form.cleaned_data['feeds']:
|
||||
models.FeedPreference.objects.get_or_create(
|
||||
user=user, feed=feed)
|
||||
else:
|
||||
initial = dict(feeds=models.FeedPreference.objects.filter(user=user)
|
||||
.values_list('feed_id', flat=True))
|
||||
form = forms.FeedForm(initial=initial)
|
||||
context.update(dict(form=form, submit=submit))
|
||||
return context
|
||||
|
||||
class ShowUserFeedPlugin(CMSPluginBase):
|
||||
model = models.ShowUserFeed
|
||||
name = _('show user feeds')
|
||||
render_template = 'feed_plugin/show_user_feed.html'
|
||||
text_enabled = True
|
||||
|
||||
def get_feeds(self, instance, user):
|
||||
entries = []
|
||||
logger.debug('loading RSS feeds of user %s', user.username)
|
||||
for pref in models.FeedPreference.objects.filter(user=user):
|
||||
feed = feedparser.parse(pref.feed.url)
|
||||
for entry in feed.entries:
|
||||
for attribute in ('published_parsed', 'updated_parsed',
|
||||
'created_parsed', 'expired_parsed'):
|
||||
date = getattr(entry, attribute, None)
|
||||
if date is not None:
|
||||
break
|
||||
entries.append((date, entry.title, entry.link, pref.feed.name,
|
||||
pref.feed.color_hex, pref.feed.css_classes))
|
||||
logger.debug('loading finished of %s entries', len(entries))
|
||||
entries.sort(reverse=True)
|
||||
entries = entries[:instance.limit]
|
||||
return [dict(title=title, link=link, feed_name=feed_name,
|
||||
color_hex=color_hex, css_classes=css_classes)
|
||||
for date, title, link, feed_name, color_hex, css_classes in entries]
|
||||
|
||||
def render(self, context, instance, placeholder):
|
||||
request = context['request']
|
||||
user = request.user
|
||||
key = 'user-feeds-%s-%s' % (user.id, instance.timeout)
|
||||
entries = cache.get(key)
|
||||
if entries is None:
|
||||
entries = self.get_feeds(instance, user)
|
||||
cache.set(key, entries, instance.timeout)
|
||||
context.update(dict(entries=entries))
|
||||
return context
|
||||
|
||||
|
||||
plugin_pool.register_plugin(SelectUserFeedPlugin)
|
||||
plugin_pool.register_plugin(ShowUserFeedPlugin)
|
|
@ -1,10 +0,0 @@
|
|||
from django import forms
|
||||
from django.utils.translation import ugettext as _
|
||||
|
||||
from . import models
|
||||
from . import widgets
|
||||
|
||||
class FeedForm(forms.Form):
|
||||
feeds = forms.ModelMultipleChoiceField(queryset=models.Feed.objects.all(),
|
||||
label=_('Your feeds'), widget=widgets.CheckboxMultipleSelect,
|
||||
required=False)
|
|
@ -1,59 +0,0 @@
|
|||
# SOME DESCRIPTIVE TITLE.
|
||||
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
|
||||
# This file is distributed under the same license as the PACKAGE package.
|
||||
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
|
||||
#
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: PACKAGE VERSION\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2013-07-24 23:01+0200\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
"Language: \n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n > 1);\n"
|
||||
|
||||
#: cms_plugins.py:18
|
||||
msgid "select user feeds"
|
||||
msgstr "Choisir ses flux"
|
||||
|
||||
#: cms_plugins.py:42
|
||||
msgid "show user feeds"
|
||||
msgstr "Afficher les flux de l'utilisateur"
|
||||
|
||||
#: forms.py:8
|
||||
msgid "Your feeds"
|
||||
msgstr "Vos flux"
|
||||
|
||||
#: models.py:11
|
||||
msgid "user feed subscription"
|
||||
msgstr "abonnement à un flux RSS"
|
||||
|
||||
#: models.py:12
|
||||
msgid "user feed subscriptions"
|
||||
msgstr "abonnements aux flux RSS"
|
||||
|
||||
#: models.py:22
|
||||
msgid "name"
|
||||
msgstr "nom"
|
||||
|
||||
#: models.py:24
|
||||
msgid "CSS classes"
|
||||
msgstr "classe CSS"
|
||||
|
||||
#: models.py:27
|
||||
msgid "feed"
|
||||
msgstr "flux"
|
||||
|
||||
#: models.py:28
|
||||
msgid "feeds"
|
||||
msgstr "flux"
|
||||
|
||||
#: templates/feed_plugin/select_user_feed.html:5
|
||||
msgid "Validate"
|
||||
msgstr "Valider"
|
|
@ -1,146 +0,0 @@
|
|||
# -*- coding: utf-8 -*-
|
||||
import datetime
|
||||
from south.db import db
|
||||
from south.v2 import SchemaMigration
|
||||
from django.db import models
|
||||
|
||||
|
||||
class Migration(SchemaMigration):
|
||||
|
||||
def forwards(self, orm):
|
||||
# Adding model 'FeedPreference'
|
||||
db.create_table(u'feed_plugin_feedpreference', (
|
||||
(u'id', self.gf('django.db.models.fields.AutoField')(primary_key=True)),
|
||||
('user', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['portail_citoyen.Citoyen'])),
|
||||
('feed', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['feed_plugin.Feed'])),
|
||||
))
|
||||
db.send_create_signal(u'feed_plugin', ['FeedPreference'])
|
||||
|
||||
# Adding model 'SelectUserFeed'
|
||||
db.create_table(u'cmsplugin_selectuserfeed', (
|
||||
(u'cmsplugin_ptr', self.gf('django.db.models.fields.related.OneToOneField')(to=orm['cms.CMSPlugin'], unique=True, primary_key=True)),
|
||||
))
|
||||
db.send_create_signal(u'feed_plugin', ['SelectUserFeed'])
|
||||
|
||||
# Adding model 'ShowUserFeed'
|
||||
db.create_table(u'cmsplugin_showuserfeed', (
|
||||
(u'cmsplugin_ptr', self.gf('django.db.models.fields.related.OneToOneField')(to=orm['cms.CMSPlugin'], unique=True, primary_key=True)),
|
||||
('limit', self.gf('django.db.models.fields.PositiveIntegerField')(default=10)),
|
||||
('timeout', self.gf('django.db.models.fields.PositiveIntegerField')(default=60)),
|
||||
))
|
||||
db.send_create_signal(u'feed_plugin', ['ShowUserFeed'])
|
||||
|
||||
# Adding model 'Feed'
|
||||
db.create_table(u'feed_plugin_feed', (
|
||||
(u'id', self.gf('django.db.models.fields.AutoField')(primary_key=True)),
|
||||
('name', self.gf('django.db.models.fields.CharField')(max_length=32)),
|
||||
('url', self.gf('django.db.models.fields.URLField')(max_length=200)),
|
||||
))
|
||||
db.send_create_signal(u'feed_plugin', ['Feed'])
|
||||
|
||||
|
||||
def backwards(self, orm):
|
||||
# Deleting model 'FeedPreference'
|
||||
db.delete_table(u'feed_plugin_feedpreference')
|
||||
|
||||
# Deleting model 'SelectUserFeed'
|
||||
db.delete_table(u'cmsplugin_selectuserfeed')
|
||||
|
||||
# Deleting model 'ShowUserFeed'
|
||||
db.delete_table(u'cmsplugin_showuserfeed')
|
||||
|
||||
# Deleting model 'Feed'
|
||||
db.delete_table(u'feed_plugin_feed')
|
||||
|
||||
|
||||
models = {
|
||||
u'auth.group': {
|
||||
'Meta': {'object_name': 'Group'},
|
||||
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
|
||||
'name': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '80'}),
|
||||
'permissions': ('django.db.models.fields.related.ManyToManyField', [], {'to': u"orm['auth.Permission']", 'symmetrical': 'False', 'blank': 'True'})
|
||||
},
|
||||
u'auth.permission': {
|
||||
'Meta': {'ordering': "(u'content_type__app_label', u'content_type__model', u'codename')", 'unique_together': "((u'content_type', u'codename'),)", 'object_name': 'Permission'},
|
||||
'codename': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
|
||||
'content_type': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['contenttypes.ContentType']"}),
|
||||
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
|
||||
'name': ('django.db.models.fields.CharField', [], {'max_length': '50'})
|
||||
},
|
||||
'cms.cmsplugin': {
|
||||
'Meta': {'object_name': 'CMSPlugin'},
|
||||
'changed_date': ('django.db.models.fields.DateTimeField', [], {'auto_now': 'True', 'blank': 'True'}),
|
||||
'creation_date': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}),
|
||||
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
|
||||
'language': ('django.db.models.fields.CharField', [], {'max_length': '15', 'db_index': 'True'}),
|
||||
'level': ('django.db.models.fields.PositiveIntegerField', [], {'db_index': 'True'}),
|
||||
'lft': ('django.db.models.fields.PositiveIntegerField', [], {'db_index': 'True'}),
|
||||
'parent': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['cms.CMSPlugin']", 'null': 'True', 'blank': 'True'}),
|
||||
'placeholder': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['cms.Placeholder']", 'null': 'True'}),
|
||||
'plugin_type': ('django.db.models.fields.CharField', [], {'max_length': '50', 'db_index': 'True'}),
|
||||
'position': ('django.db.models.fields.PositiveSmallIntegerField', [], {'null': 'True', 'blank': 'True'}),
|
||||
'rght': ('django.db.models.fields.PositiveIntegerField', [], {'db_index': 'True'}),
|
||||
'tree_id': ('django.db.models.fields.PositiveIntegerField', [], {'db_index': 'True'})
|
||||
},
|
||||
'cms.placeholder': {
|
||||
'Meta': {'object_name': 'Placeholder'},
|
||||
'default_width': ('django.db.models.fields.PositiveSmallIntegerField', [], {'null': 'True'}),
|
||||
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
|
||||
'slot': ('django.db.models.fields.CharField', [], {'max_length': '50', 'db_index': 'True'})
|
||||
},
|
||||
u'contenttypes.contenttype': {
|
||||
'Meta': {'ordering': "('name',)", 'unique_together': "(('app_label', 'model'),)", 'object_name': 'ContentType', 'db_table': "'django_content_type'"},
|
||||
'app_label': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
|
||||
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
|
||||
'model': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
|
||||
'name': ('django.db.models.fields.CharField', [], {'max_length': '100'})
|
||||
},
|
||||
u'feed_plugin.feed': {
|
||||
'Meta': {'object_name': 'Feed'},
|
||||
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
|
||||
'name': ('django.db.models.fields.CharField', [], {'max_length': '32'}),
|
||||
'url': ('django.db.models.fields.URLField', [], {'max_length': '200'})
|
||||
},
|
||||
u'feed_plugin.feedpreference': {
|
||||
'Meta': {'object_name': 'FeedPreference'},
|
||||
'feed': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['feed_plugin.Feed']"}),
|
||||
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
|
||||
'user': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['portail_citoyen.Citoyen']"})
|
||||
},
|
||||
u'feed_plugin.selectuserfeed': {
|
||||
'Meta': {'object_name': 'SelectUserFeed', 'db_table': "u'cmsplugin_selectuserfeed'", '_ormbases': ['cms.CMSPlugin']},
|
||||
u'cmsplugin_ptr': ('django.db.models.fields.related.OneToOneField', [], {'to': "orm['cms.CMSPlugin']", 'unique': 'True', 'primary_key': 'True'})
|
||||
},
|
||||
u'feed_plugin.showuserfeed': {
|
||||
'Meta': {'object_name': 'ShowUserFeed', 'db_table': "u'cmsplugin_showuserfeed'", '_ormbases': ['cms.CMSPlugin']},
|
||||
u'cmsplugin_ptr': ('django.db.models.fields.related.OneToOneField', [], {'to': "orm['cms.CMSPlugin']", 'unique': 'True', 'primary_key': 'True'}),
|
||||
'limit': ('django.db.models.fields.PositiveIntegerField', [], {'default': '10'}),
|
||||
'timeout': ('django.db.models.fields.PositiveIntegerField', [], {'default': '60'})
|
||||
},
|
||||
u'portail_citoyen.citoyen': {
|
||||
'Meta': {'object_name': 'Citoyen'},
|
||||
'address': ('django.db.models.fields.CharField', [], {'max_length': '128', 'blank': 'True'}),
|
||||
'backend': ('django.db.models.fields.CharField', [], {'max_length': '64', 'blank': 'True'}),
|
||||
'backend_id': ('django.db.models.fields.CharField', [], {'max_length': '256', 'blank': 'True'}),
|
||||
'city': ('django.db.models.fields.CharField', [], {'max_length': '64', 'blank': 'True'}),
|
||||
'date_joined': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}),
|
||||
'email': ('django.db.models.fields.EmailField', [], {'max_length': '128', 'blank': 'True'}),
|
||||
'first_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}),
|
||||
'groups': ('django.db.models.fields.related.ManyToManyField', [], {'to': u"orm['auth.Group']", 'symmetrical': 'False', 'blank': 'True'}),
|
||||
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
|
||||
'is_active': ('django.db.models.fields.BooleanField', [], {'default': 'True'}),
|
||||
'is_staff': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
|
||||
'is_superuser': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
|
||||
'last_login': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}),
|
||||
'last_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}),
|
||||
'mobile': ('django.db.models.fields.CharField', [], {'max_length': '16', 'blank': 'True'}),
|
||||
'password': ('django.db.models.fields.CharField', [], {'max_length': '128'}),
|
||||
'phone': ('django.db.models.fields.CharField', [], {'max_length': '16', 'blank': 'True'}),
|
||||
'postal_code': ('django.db.models.fields.CharField', [], {'max_length': '5', 'blank': 'True'}),
|
||||
'title': ('django.db.models.fields.CharField', [], {'max_length': '16', 'blank': 'True'}),
|
||||
'user_permissions': ('django.db.models.fields.related.ManyToManyField', [], {'to': u"orm['auth.Permission']", 'symmetrical': 'False', 'blank': 'True'}),
|
||||
'username': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '256'})
|
||||
}
|
||||
}
|
||||
|
||||
complete_apps = ['feed_plugin']
|
|
@ -1,113 +0,0 @@
|
|||
# -*- coding: utf-8 -*-
|
||||
import datetime
|
||||
from south.db import db
|
||||
from south.v2 import SchemaMigration
|
||||
from django.db import models
|
||||
|
||||
|
||||
class Migration(SchemaMigration):
|
||||
|
||||
def forwards(self, orm):
|
||||
# Adding field 'Feed.css_classes'
|
||||
db.add_column(u'feed_plugin_feed', 'css_classes',
|
||||
self.gf('django.db.models.fields.CharField')(default='', max_length=128),
|
||||
keep_default=False)
|
||||
|
||||
|
||||
def backwards(self, orm):
|
||||
# Deleting field 'Feed.css_classes'
|
||||
db.delete_column(u'feed_plugin_feed', 'css_classes')
|
||||
|
||||
|
||||
models = {
|
||||
u'auth.group': {
|
||||
'Meta': {'object_name': 'Group'},
|
||||
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
|
||||
'name': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '80'}),
|
||||
'permissions': ('django.db.models.fields.related.ManyToManyField', [], {'to': u"orm['auth.Permission']", 'symmetrical': 'False', 'blank': 'True'})
|
||||
},
|
||||
u'auth.permission': {
|
||||
'Meta': {'ordering': "(u'content_type__app_label', u'content_type__model', u'codename')", 'unique_together': "((u'content_type', u'codename'),)", 'object_name': 'Permission'},
|
||||
'codename': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
|
||||
'content_type': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['contenttypes.ContentType']"}),
|
||||
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
|
||||
'name': ('django.db.models.fields.CharField', [], {'max_length': '50'})
|
||||
},
|
||||
'cms.cmsplugin': {
|
||||
'Meta': {'object_name': 'CMSPlugin'},
|
||||
'changed_date': ('django.db.models.fields.DateTimeField', [], {'auto_now': 'True', 'blank': 'True'}),
|
||||
'creation_date': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}),
|
||||
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
|
||||
'language': ('django.db.models.fields.CharField', [], {'max_length': '15', 'db_index': 'True'}),
|
||||
'level': ('django.db.models.fields.PositiveIntegerField', [], {'db_index': 'True'}),
|
||||
'lft': ('django.db.models.fields.PositiveIntegerField', [], {'db_index': 'True'}),
|
||||
'parent': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['cms.CMSPlugin']", 'null': 'True', 'blank': 'True'}),
|
||||
'placeholder': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['cms.Placeholder']", 'null': 'True'}),
|
||||
'plugin_type': ('django.db.models.fields.CharField', [], {'max_length': '50', 'db_index': 'True'}),
|
||||
'position': ('django.db.models.fields.PositiveSmallIntegerField', [], {'null': 'True', 'blank': 'True'}),
|
||||
'rght': ('django.db.models.fields.PositiveIntegerField', [], {'db_index': 'True'}),
|
||||
'tree_id': ('django.db.models.fields.PositiveIntegerField', [], {'db_index': 'True'})
|
||||
},
|
||||
'cms.placeholder': {
|
||||
'Meta': {'object_name': 'Placeholder'},
|
||||
'default_width': ('django.db.models.fields.PositiveSmallIntegerField', [], {'null': 'True'}),
|
||||
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
|
||||
'slot': ('django.db.models.fields.CharField', [], {'max_length': '50', 'db_index': 'True'})
|
||||
},
|
||||
u'contenttypes.contenttype': {
|
||||
'Meta': {'ordering': "('name',)", 'unique_together': "(('app_label', 'model'),)", 'object_name': 'ContentType', 'db_table': "'django_content_type'"},
|
||||
'app_label': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
|
||||
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
|
||||
'model': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
|
||||
'name': ('django.db.models.fields.CharField', [], {'max_length': '100'})
|
||||
},
|
||||
u'feed_plugin.feed': {
|
||||
'Meta': {'object_name': 'Feed'},
|
||||
'css_classes': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '128'}),
|
||||
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
|
||||
'name': ('django.db.models.fields.CharField', [], {'max_length': '32'}),
|
||||
'url': ('django.db.models.fields.URLField', [], {'max_length': '200'})
|
||||
},
|
||||
u'feed_plugin.feedpreference': {
|
||||
'Meta': {'object_name': 'FeedPreference'},
|
||||
'feed': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['feed_plugin.Feed']"}),
|
||||
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
|
||||
'user': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['portail_citoyen.Citoyen']"})
|
||||
},
|
||||
u'feed_plugin.selectuserfeed': {
|
||||
'Meta': {'object_name': 'SelectUserFeed', 'db_table': "u'cmsplugin_selectuserfeed'", '_ormbases': ['cms.CMSPlugin']},
|
||||
u'cmsplugin_ptr': ('django.db.models.fields.related.OneToOneField', [], {'to': "orm['cms.CMSPlugin']", 'unique': 'True', 'primary_key': 'True'})
|
||||
},
|
||||
u'feed_plugin.showuserfeed': {
|
||||
'Meta': {'object_name': 'ShowUserFeed', 'db_table': "u'cmsplugin_showuserfeed'", '_ormbases': ['cms.CMSPlugin']},
|
||||
u'cmsplugin_ptr': ('django.db.models.fields.related.OneToOneField', [], {'to': "orm['cms.CMSPlugin']", 'unique': 'True', 'primary_key': 'True'}),
|
||||
'limit': ('django.db.models.fields.PositiveIntegerField', [], {'default': '10'}),
|
||||
'timeout': ('django.db.models.fields.PositiveIntegerField', [], {'default': '60'})
|
||||
},
|
||||
u'portail_citoyen.citoyen': {
|
||||
'Meta': {'object_name': 'Citoyen'},
|
||||
'address': ('django.db.models.fields.CharField', [], {'max_length': '128', 'blank': 'True'}),
|
||||
'backend': ('django.db.models.fields.CharField', [], {'max_length': '64', 'blank': 'True'}),
|
||||
'backend_id': ('django.db.models.fields.CharField', [], {'max_length': '256', 'blank': 'True'}),
|
||||
'city': ('django.db.models.fields.CharField', [], {'max_length': '64', 'blank': 'True'}),
|
||||
'date_joined': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}),
|
||||
'email': ('django.db.models.fields.EmailField', [], {'max_length': '128', 'blank': 'True'}),
|
||||
'first_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}),
|
||||
'groups': ('django.db.models.fields.related.ManyToManyField', [], {'to': u"orm['auth.Group']", 'symmetrical': 'False', 'blank': 'True'}),
|
||||
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
|
||||
'is_active': ('django.db.models.fields.BooleanField', [], {'default': 'True'}),
|
||||
'is_staff': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
|
||||
'is_superuser': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
|
||||
'last_login': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}),
|
||||
'last_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}),
|
||||
'mobile': ('django.db.models.fields.CharField', [], {'max_length': '16', 'blank': 'True'}),
|
||||
'password': ('django.db.models.fields.CharField', [], {'max_length': '128'}),
|
||||
'phone': ('django.db.models.fields.CharField', [], {'max_length': '16', 'blank': 'True'}),
|
||||
'postal_code': ('django.db.models.fields.CharField', [], {'max_length': '5', 'blank': 'True'}),
|
||||
'title': ('django.db.models.fields.CharField', [], {'max_length': '16', 'blank': 'True'}),
|
||||
'user_permissions': ('django.db.models.fields.related.ManyToManyField', [], {'to': u"orm['auth.Permission']", 'symmetrical': 'False', 'blank': 'True'}),
|
||||
'username': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '256'})
|
||||
}
|
||||
}
|
||||
|
||||
complete_apps = ['feed_plugin']
|
|
@ -1,121 +0,0 @@
|
|||
# -*- coding: utf-8 -*-
|
||||
import datetime
|
||||
from south.db import db
|
||||
from south.v2 import SchemaMigration
|
||||
from django.db import models
|
||||
|
||||
|
||||
class Migration(SchemaMigration):
|
||||
|
||||
def forwards(self, orm):
|
||||
# Deleting field 'Feed.css_classes'
|
||||
db.delete_column(u'feed_plugin_feed', 'css_classes')
|
||||
|
||||
# Adding field 'Feed.color_hex'
|
||||
db.add_column(u'feed_plugin_feed', 'color_hex',
|
||||
self.gf('django.db.models.fields.CharField')(default='', max_length=6),
|
||||
keep_default=False)
|
||||
|
||||
|
||||
def backwards(self, orm):
|
||||
# Adding field 'Feed.css_classes'
|
||||
db.add_column(u'feed_plugin_feed', 'css_classes',
|
||||
self.gf('django.db.models.fields.CharField')(default='', max_length=128),
|
||||
keep_default=False)
|
||||
|
||||
# Deleting field 'Feed.color_hex'
|
||||
db.delete_column(u'feed_plugin_feed', 'color_hex')
|
||||
|
||||
|
||||
models = {
|
||||
u'auth.group': {
|
||||
'Meta': {'object_name': 'Group'},
|
||||
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
|
||||
'name': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '80'}),
|
||||
'permissions': ('django.db.models.fields.related.ManyToManyField', [], {'to': u"orm['auth.Permission']", 'symmetrical': 'False', 'blank': 'True'})
|
||||
},
|
||||
u'auth.permission': {
|
||||
'Meta': {'ordering': "(u'content_type__app_label', u'content_type__model', u'codename')", 'unique_together': "((u'content_type', u'codename'),)", 'object_name': 'Permission'},
|
||||
'codename': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
|
||||
'content_type': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['contenttypes.ContentType']"}),
|
||||
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
|
||||
'name': ('django.db.models.fields.CharField', [], {'max_length': '50'})
|
||||
},
|
||||
'cms.cmsplugin': {
|
||||
'Meta': {'object_name': 'CMSPlugin'},
|
||||
'changed_date': ('django.db.models.fields.DateTimeField', [], {'auto_now': 'True', 'blank': 'True'}),
|
||||
'creation_date': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}),
|
||||
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
|
||||
'language': ('django.db.models.fields.CharField', [], {'max_length': '15', 'db_index': 'True'}),
|
||||
'level': ('django.db.models.fields.PositiveIntegerField', [], {'db_index': 'True'}),
|
||||
'lft': ('django.db.models.fields.PositiveIntegerField', [], {'db_index': 'True'}),
|
||||
'parent': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['cms.CMSPlugin']", 'null': 'True', 'blank': 'True'}),
|
||||
'placeholder': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['cms.Placeholder']", 'null': 'True'}),
|
||||
'plugin_type': ('django.db.models.fields.CharField', [], {'max_length': '50', 'db_index': 'True'}),
|
||||
'position': ('django.db.models.fields.PositiveSmallIntegerField', [], {'null': 'True', 'blank': 'True'}),
|
||||
'rght': ('django.db.models.fields.PositiveIntegerField', [], {'db_index': 'True'}),
|
||||
'tree_id': ('django.db.models.fields.PositiveIntegerField', [], {'db_index': 'True'})
|
||||
},
|
||||
'cms.placeholder': {
|
||||
'Meta': {'object_name': 'Placeholder'},
|
||||
'default_width': ('django.db.models.fields.PositiveSmallIntegerField', [], {'null': 'True'}),
|
||||
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
|
||||
'slot': ('django.db.models.fields.CharField', [], {'max_length': '50', 'db_index': 'True'})
|
||||
},
|
||||
u'contenttypes.contenttype': {
|
||||
'Meta': {'ordering': "('name',)", 'unique_together': "(('app_label', 'model'),)", 'object_name': 'ContentType', 'db_table': "'django_content_type'"},
|
||||
'app_label': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
|
||||
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
|
||||
'model': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
|
||||
'name': ('django.db.models.fields.CharField', [], {'max_length': '100'})
|
||||
},
|
||||
u'feed_plugin.feed': {
|
||||
'Meta': {'object_name': 'Feed'},
|
||||
'color_hex': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '6'}),
|
||||
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
|
||||
'name': ('django.db.models.fields.CharField', [], {'max_length': '32'}),
|
||||
'url': ('django.db.models.fields.URLField', [], {'max_length': '200'})
|
||||
},
|
||||
u'feed_plugin.feedpreference': {
|
||||
'Meta': {'object_name': 'FeedPreference'},
|
||||
'feed': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['feed_plugin.Feed']"}),
|
||||
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
|
||||
'user': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['portail_citoyen.Citoyen']"})
|
||||
},
|
||||
u'feed_plugin.selectuserfeed': {
|
||||
'Meta': {'object_name': 'SelectUserFeed', 'db_table': "u'cmsplugin_selectuserfeed'", '_ormbases': ['cms.CMSPlugin']},
|
||||
u'cmsplugin_ptr': ('django.db.models.fields.related.OneToOneField', [], {'to': "orm['cms.CMSPlugin']", 'unique': 'True', 'primary_key': 'True'})
|
||||
},
|
||||
u'feed_plugin.showuserfeed': {
|
||||
'Meta': {'object_name': 'ShowUserFeed', 'db_table': "u'cmsplugin_showuserfeed'", '_ormbases': ['cms.CMSPlugin']},
|
||||
u'cmsplugin_ptr': ('django.db.models.fields.related.OneToOneField', [], {'to': "orm['cms.CMSPlugin']", 'unique': 'True', 'primary_key': 'True'}),
|
||||
'limit': ('django.db.models.fields.PositiveIntegerField', [], {'default': '10'}),
|
||||
'timeout': ('django.db.models.fields.PositiveIntegerField', [], {'default': '60'})
|
||||
},
|
||||
u'portail_citoyen.citoyen': {
|
||||
'Meta': {'object_name': 'Citoyen'},
|
||||
'address': ('django.db.models.fields.CharField', [], {'max_length': '128', 'blank': 'True'}),
|
||||
'backend': ('django.db.models.fields.CharField', [], {'max_length': '64', 'blank': 'True'}),
|
||||
'backend_id': ('django.db.models.fields.CharField', [], {'max_length': '256', 'blank': 'True'}),
|
||||
'city': ('django.db.models.fields.CharField', [], {'max_length': '64', 'blank': 'True'}),
|
||||
'date_joined': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}),
|
||||
'email': ('django.db.models.fields.EmailField', [], {'max_length': '128', 'blank': 'True'}),
|
||||
'first_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}),
|
||||
'groups': ('django.db.models.fields.related.ManyToManyField', [], {'to': u"orm['auth.Group']", 'symmetrical': 'False', 'blank': 'True'}),
|
||||
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
|
||||
'is_active': ('django.db.models.fields.BooleanField', [], {'default': 'True'}),
|
||||
'is_staff': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
|
||||
'is_superuser': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
|
||||
'last_login': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}),
|
||||
'last_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}),
|
||||
'mobile': ('django.db.models.fields.CharField', [], {'max_length': '16', 'blank': 'True'}),
|
||||
'password': ('django.db.models.fields.CharField', [], {'max_length': '128'}),
|
||||
'phone': ('django.db.models.fields.CharField', [], {'max_length': '16', 'blank': 'True'}),
|
||||
'postal_code': ('django.db.models.fields.CharField', [], {'max_length': '5', 'blank': 'True'}),
|
||||
'title': ('django.db.models.fields.CharField', [], {'max_length': '16', 'blank': 'True'}),
|
||||
'user_permissions': ('django.db.models.fields.related.ManyToManyField', [], {'to': u"orm['auth.Permission']", 'symmetrical': 'False', 'blank': 'True'}),
|
||||
'username': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '256'})
|
||||
}
|
||||
}
|
||||
|
||||
complete_apps = ['feed_plugin']
|
|
@ -1,114 +0,0 @@
|
|||
# -*- coding: utf-8 -*-
|
||||
import datetime
|
||||
from south.db import db
|
||||
from south.v2 import SchemaMigration
|
||||
from django.db import models
|
||||
|
||||
|
||||
class Migration(SchemaMigration):
|
||||
|
||||
def forwards(self, orm):
|
||||
# Adding field 'Feed.css_classes'
|
||||
db.add_column(u'feed_plugin_feed', 'css_classes',
|
||||
self.gf('django.db.models.fields.CharField')(default='', max_length=128),
|
||||
keep_default=False)
|
||||
|
||||
|
||||
def backwards(self, orm):
|
||||
# Deleting field 'Feed.css_classes'
|
||||
db.delete_column(u'feed_plugin_feed', 'css_classes')
|
||||
|
||||
|
||||
models = {
|
||||
u'auth.group': {
|
||||
'Meta': {'object_name': 'Group'},
|
||||
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
|
||||
'name': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '80'}),
|
||||
'permissions': ('django.db.models.fields.related.ManyToManyField', [], {'to': u"orm['auth.Permission']", 'symmetrical': 'False', 'blank': 'True'})
|
||||
},
|
||||
u'auth.permission': {
|
||||
'Meta': {'ordering': "(u'content_type__app_label', u'content_type__model', u'codename')", 'unique_together': "((u'content_type', u'codename'),)", 'object_name': 'Permission'},
|
||||
'codename': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
|
||||
'content_type': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['contenttypes.ContentType']"}),
|
||||
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
|
||||
'name': ('django.db.models.fields.CharField', [], {'max_length': '50'})
|
||||
},
|
||||
'cms.cmsplugin': {
|
||||
'Meta': {'object_name': 'CMSPlugin'},
|
||||
'changed_date': ('django.db.models.fields.DateTimeField', [], {'auto_now': 'True', 'blank': 'True'}),
|
||||
'creation_date': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}),
|
||||
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
|
||||
'language': ('django.db.models.fields.CharField', [], {'max_length': '15', 'db_index': 'True'}),
|
||||
'level': ('django.db.models.fields.PositiveIntegerField', [], {'db_index': 'True'}),
|
||||
'lft': ('django.db.models.fields.PositiveIntegerField', [], {'db_index': 'True'}),
|
||||
'parent': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['cms.CMSPlugin']", 'null': 'True', 'blank': 'True'}),
|
||||
'placeholder': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['cms.Placeholder']", 'null': 'True'}),
|
||||
'plugin_type': ('django.db.models.fields.CharField', [], {'max_length': '50', 'db_index': 'True'}),
|
||||
'position': ('django.db.models.fields.PositiveSmallIntegerField', [], {'null': 'True', 'blank': 'True'}),
|
||||
'rght': ('django.db.models.fields.PositiveIntegerField', [], {'db_index': 'True'}),
|
||||
'tree_id': ('django.db.models.fields.PositiveIntegerField', [], {'db_index': 'True'})
|
||||
},
|
||||
'cms.placeholder': {
|
||||
'Meta': {'object_name': 'Placeholder'},
|
||||
'default_width': ('django.db.models.fields.PositiveSmallIntegerField', [], {'null': 'True'}),
|
||||
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
|
||||
'slot': ('django.db.models.fields.CharField', [], {'max_length': '50', 'db_index': 'True'})
|
||||
},
|
||||
u'contenttypes.contenttype': {
|
||||
'Meta': {'ordering': "('name',)", 'unique_together': "(('app_label', 'model'),)", 'object_name': 'ContentType', 'db_table': "'django_content_type'"},
|
||||
'app_label': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
|
||||
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
|
||||
'model': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
|
||||
'name': ('django.db.models.fields.CharField', [], {'max_length': '100'})
|
||||
},
|
||||
u'feed_plugin.feed': {
|
||||
'Meta': {'object_name': 'Feed'},
|
||||
'color_hex': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '6'}),
|
||||
'css_classes': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '128'}),
|
||||
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
|
||||
'name': ('django.db.models.fields.CharField', [], {'max_length': '32'}),
|
||||
'url': ('django.db.models.fields.URLField', [], {'max_length': '200'})
|
||||
},
|
||||
u'feed_plugin.feedpreference': {
|
||||
'Meta': {'object_name': 'FeedPreference'},
|
||||
'feed': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['feed_plugin.Feed']"}),
|
||||
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
|
||||
'user': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['portail_citoyen.Citoyen']"})
|
||||
},
|
||||
u'feed_plugin.selectuserfeed': {
|
||||
'Meta': {'object_name': 'SelectUserFeed', 'db_table': "u'cmsplugin_selectuserfeed'", '_ormbases': ['cms.CMSPlugin']},
|
||||
u'cmsplugin_ptr': ('django.db.models.fields.related.OneToOneField', [], {'to': "orm['cms.CMSPlugin']", 'unique': 'True', 'primary_key': 'True'})
|
||||
},
|
||||
u'feed_plugin.showuserfeed': {
|
||||
'Meta': {'object_name': 'ShowUserFeed', 'db_table': "u'cmsplugin_showuserfeed'", '_ormbases': ['cms.CMSPlugin']},
|
||||
u'cmsplugin_ptr': ('django.db.models.fields.related.OneToOneField', [], {'to': "orm['cms.CMSPlugin']", 'unique': 'True', 'primary_key': 'True'}),
|
||||
'limit': ('django.db.models.fields.PositiveIntegerField', [], {'default': '10'}),
|
||||
'timeout': ('django.db.models.fields.PositiveIntegerField', [], {'default': '60'})
|
||||
},
|
||||
u'portail_citoyen.citoyen': {
|
||||
'Meta': {'object_name': 'Citoyen'},
|
||||
'address': ('django.db.models.fields.CharField', [], {'max_length': '128', 'blank': 'True'}),
|
||||
'backend': ('django.db.models.fields.CharField', [], {'max_length': '64', 'blank': 'True'}),
|
||||
'backend_id': ('django.db.models.fields.CharField', [], {'max_length': '256', 'blank': 'True'}),
|
||||
'city': ('django.db.models.fields.CharField', [], {'max_length': '64', 'blank': 'True'}),
|
||||
'date_joined': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}),
|
||||
'email': ('django.db.models.fields.EmailField', [], {'max_length': '128', 'blank': 'True'}),
|
||||
'first_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}),
|
||||
'groups': ('django.db.models.fields.related.ManyToManyField', [], {'to': u"orm['auth.Group']", 'symmetrical': 'False', 'blank': 'True'}),
|
||||
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
|
||||
'is_active': ('django.db.models.fields.BooleanField', [], {'default': 'True'}),
|
||||
'is_staff': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
|
||||
'is_superuser': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
|
||||
'last_login': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}),
|
||||
'last_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}),
|
||||
'mobile': ('django.db.models.fields.CharField', [], {'max_length': '16', 'blank': 'True'}),
|
||||
'password': ('django.db.models.fields.CharField', [], {'max_length': '128'}),
|
||||
'phone': ('django.db.models.fields.CharField', [], {'max_length': '16', 'blank': 'True'}),
|
||||
'postal_code': ('django.db.models.fields.CharField', [], {'max_length': '5', 'blank': 'True'}),
|
||||
'title': ('django.db.models.fields.CharField', [], {'max_length': '16', 'blank': 'True'}),
|
||||
'user_permissions': ('django.db.models.fields.related.ManyToManyField', [], {'to': u"orm['auth.Permission']", 'symmetrical': 'False', 'blank': 'True'}),
|
||||
'username': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '256'})
|
||||
}
|
||||
}
|
||||
|
||||
complete_apps = ['feed_plugin']
|
|
@ -1,38 +0,0 @@
|
|||
from django.db import models
|
||||
from django.conf import settings
|
||||
from django.utils.translation import ugettext_lazy as _
|
||||
|
||||
from cms.models import CMSPlugin
|
||||
|
||||
class FeedPreference(models.Model):
|
||||
user = models.ForeignKey(settings.AUTH_USER_MODEL)
|
||||
feed = models.ForeignKey('Feed')
|
||||
|
||||
class Meta:
|
||||
verbose_name = _('user feed subscription')
|
||||
verbose_name_plural = _('user feed subscriptions')
|
||||
|
||||
class SelectUserFeed(CMSPlugin):
|
||||
pass
|
||||
|
||||
class ShowUserFeed(CMSPlugin):
|
||||
limit = models.PositiveIntegerField(default=10)
|
||||
timeout = models.PositiveIntegerField(default=60)
|
||||
|
||||
class Feed(models.Model):
|
||||
name = models.CharField(max_length=32, verbose_name=_('name'))
|
||||
url = models.URLField()
|
||||
color_hex = models.CharField(max_length=6,
|
||||
verbose_name=_('Color'),
|
||||
help_text=_('as an hexadecimal number'),
|
||||
default='')
|
||||
css_classes = models.CharField(max_length=128,
|
||||
verbose_name=_('CSS classes'),
|
||||
default='')
|
||||
|
||||
class Meta:
|
||||
verbose_name = _('feed')
|
||||
verbose_name_plural = _('feeds')
|
||||
|
||||
def __unicode__(self):
|
||||
return self.name
|
|
@ -1,15 +0,0 @@
|
|||
{% load i18n %}
|
||||
<form method="post" class="feed-form">
|
||||
{% csrf_token %}
|
||||
<ul class='feed-list'>
|
||||
{% for subwidget in form.feeds %}
|
||||
<li class='feed-list-item'>
|
||||
{{ subwidget.tag }}
|
||||
<label for="{{subwidget.attrs.id}}_{{subwidget.index}}">
|
||||
{{subwidget.choice_label}}
|
||||
</label>
|
||||
</li>
|
||||
{% endfor %}
|
||||
</ul>
|
||||
<input type="submit" value="{% trans "Validate" %}" name="{{ submit }}">
|
||||
</form>
|
|
@ -1,8 +0,0 @@
|
|||
<ul class="show-user-feeds">
|
||||
{% for entry in entries %}
|
||||
<li class="show-user-feeds-{{ entry.feed_name|slugify}}{% if entry.css_classes %} {{ entry.css_classes }}{% endif %}"
|
||||
{% if entry.color_hex %}style="color: #{{ entry.color_hex}}"{% endif %}>
|
||||
<a href="{{ entry.link }}" {% if entry.color_hex %}style="color: #{{ entry.color_hex}}"{% endif %}>{{ entry.title|safe }}<a/>
|
||||
</li>
|
||||
{% endfor %}
|
||||
</ul>
|
|
@ -1,104 +0,0 @@
|
|||
from itertools import chain
|
||||
|
||||
from django.forms.widgets import SubWidget, SelectMultiple
|
||||
from django.forms.util import flatatt
|
||||
from django.utils.html import conditional_escape
|
||||
from django.utils.encoding import StrAndUnicode, force_unicode
|
||||
from django.utils.safestring import mark_safe
|
||||
|
||||
class CheckboxInput(SubWidget):
|
||||
"""
|
||||
An object used by CheckboxRenderer that represents a single
|
||||
<input type='checkbox'>.
|
||||
"""
|
||||
def __init__(self, name, value, attrs, choice, index):
|
||||
self.name, self.value = name, value
|
||||
self.attrs = attrs
|
||||
self.choice_value = force_unicode(choice[0])
|
||||
self.choice_label = force_unicode(choice[1])
|
||||
self.index = index
|
||||
|
||||
def __unicode__(self):
|
||||
return self.render()
|
||||
|
||||
def render(self, name=None, value=None, attrs=None, choices=()):
|
||||
name = name or self.name
|
||||
value = value or self.value
|
||||
attrs = attrs or self.attrs
|
||||
|
||||
if 'id' in self.attrs:
|
||||
label_for = ' for="%s_%s"' % (self.attrs['id'], self.index)
|
||||
else:
|
||||
label_for = ''
|
||||
choice_label = conditional_escape(force_unicode(self.choice_label))
|
||||
return mark_safe(u'<label%s>%s %s</label>' % (label_for, self.tag(), choice_label))
|
||||
|
||||
def is_checked(self):
|
||||
return self.choice_value in self.value
|
||||
|
||||
def tag(self):
|
||||
if 'id' in self.attrs:
|
||||
self.attrs['id'] = '%s_%s' % (self.attrs['id'], self.index)
|
||||
final_attrs = dict(self.attrs, type='checkbox', name=self.name, value=self.choice_value)
|
||||
if self.is_checked():
|
||||
final_attrs['checked'] = 'checked'
|
||||
return mark_safe(u'<input%s />' % flatatt(final_attrs))
|
||||
|
||||
class CheckboxRenderer(StrAndUnicode):
|
||||
def __init__(self, name, value, attrs, choices):
|
||||
self.name, self.value, self.attrs = name, value, attrs
|
||||
self.choices = choices
|
||||
|
||||
def __iter__(self):
|
||||
for i, choice in enumerate(self.choices):
|
||||
yield CheckboxInput(self.name, self.value, self.attrs.copy(), choice, i)
|
||||
|
||||
def __getitem__(self, idx):
|
||||
choice = self.choices[idx] # Let the IndexError propogate
|
||||
return CheckboxInput(self.name, self.value, self.attrs.copy(), choice, idx)
|
||||
|
||||
def __unicode__(self):
|
||||
return self.render()
|
||||
|
||||
def render(self):
|
||||
"""Outputs a <ul> for this set of checkbox fields."""
|
||||
return mark_safe(u'<ul>\n%s\n</ul>' % u'\n'.join([u'<li>%s</li>'
|
||||
% force_unicode(w) for w in self]))
|
||||
|
||||
class CheckboxMultipleSelect(SelectMultiple):
|
||||
"""
|
||||
Checkbox multi select field that enables iteration of each checkbox
|
||||
Similar to django.forms.widgets.RadioSelect
|
||||
"""
|
||||
renderer = CheckboxRenderer
|
||||
|
||||
def __init__(self, *args, **kwargs):
|
||||
# Override the default renderer if we were passed one.
|
||||
renderer = kwargs.pop('renderer', None)
|
||||
if renderer:
|
||||
self.renderer = renderer
|
||||
super(CheckboxMultipleSelect, self).__init__(*args, **kwargs)
|
||||
|
||||
def subwidgets(self, name, value, attrs=None, choices=()):
|
||||
for widget in self.get_renderer(name, value, attrs, choices):
|
||||
yield widget
|
||||
|
||||
def get_renderer(self, name, value, attrs=None, choices=()):
|
||||
"""Returns an instance of the renderer."""
|
||||
if value is None: value = ''
|
||||
str_values = set([force_unicode(v) for v in value]) # Normalize to string.
|
||||
if attrs is None:
|
||||
attrs = {}
|
||||
if 'id' not in attrs:
|
||||
attrs['id'] = name
|
||||
final_attrs = self.build_attrs(attrs)
|
||||
choices = list(chain(self.choices, choices))
|
||||
return self.renderer(name, str_values, final_attrs, choices)
|
||||
|
||||
def render(self, name, value, attrs=None, choices=()):
|
||||
return self.get_renderer(name, value, attrs, choices).render()
|
||||
|
||||
def id_for_label(self, id_):
|
||||
if id_:
|
||||
id_ += '_0'
|
||||
return id_
|
|
@ -1,104 +0,0 @@
|
|||
"""
|
||||
This file was generated with the customdashboard management command, it
|
||||
contains the two classes for the main dashboard and app index dashboard.
|
||||
You can customize these classes as you want.
|
||||
|
||||
To activate your index dashboard add the following to your settings.py::
|
||||
ADMIN_TOOLS_INDEX_DASHBOARD = 'authentic2.dashboard.CustomIndexDashboard'
|
||||
|
||||
And to activate the app index dashboard::
|
||||
ADMIN_TOOLS_APP_INDEX_DASHBOARD = 'authentic2.dashboard.CustomAppIndexDashboard'
|
||||
"""
|
||||
|
||||
from django.utils.translation import ugettext_lazy as _
|
||||
|
||||
from admin_tools.dashboard import modules, Dashboard, AppIndexDashboard
|
||||
|
||||
|
||||
class CustomIndexDashboard(Dashboard):
|
||||
"""
|
||||
Custom index dashboard for authentic2.
|
||||
"""
|
||||
def init_with_context(self, context):
|
||||
# append an app list module for "Applications"
|
||||
self.children.append(modules.ModelList(
|
||||
_('Users and roles'),
|
||||
models=('portail_citoyen.models.Citoyen',
|
||||
'portail_citoyen.models.Role'),
|
||||
))
|
||||
self.children.append(modules.ModelList(
|
||||
_('Services'),
|
||||
models=(
|
||||
'authentic2.saml.models.LibertyProvider',
|
||||
'authentic2.saml.models.LibertyFederation',
|
||||
'authentic2.saml.models.SPOptionsIdPPolicy',
|
||||
'authentic2.saml.models.IdPOptionsSPPolicy',
|
||||
'authentic2.attribute_aggregator.models.AttributeSource',
|
||||
'authentic2.idp.models.AttributePolicy',
|
||||
'authentic2.idp.models.AttributeList',
|
||||
'authentic2.idp.models.AttributeItem',
|
||||
),
|
||||
))
|
||||
self.children.append(modules.ModelList(
|
||||
_('Contents'),
|
||||
models=(
|
||||
'cms.models.pagemodel.Page',
|
||||
'data_source_plugin.models.DataSource',
|
||||
'feed_plugin.models.Feed',
|
||||
),
|
||||
))
|
||||
|
||||
self.children.append(modules.ModelList(
|
||||
_('Announces'),
|
||||
models=(
|
||||
'portail_citoyen_announces.*',
|
||||
),
|
||||
))
|
||||
|
||||
# append a recent actions module
|
||||
self.children.append(modules.RecentActions(_('Recent Actions'), 5))
|
||||
|
||||
# append another link list module for "support".
|
||||
self.children.append(modules.LinkList(
|
||||
_('Support'),
|
||||
children=[
|
||||
{
|
||||
'title': _('Project site'),
|
||||
'url': 'http://dev.entrouvert.org/projects/teleservices-agglo-montpellier/',
|
||||
'external': True,
|
||||
},
|
||||
{
|
||||
'title': _('Report a bug'),
|
||||
'url': 'http://dev.entrouvert.org/projects/teleservices-agglo-montpellier/issues/new',
|
||||
'external': True,
|
||||
},
|
||||
]
|
||||
))
|
||||
|
||||
|
||||
class CustomAppIndexDashboard(AppIndexDashboard):
|
||||
"""
|
||||
Custom app index dashboard for authentic2.
|
||||
"""
|
||||
|
||||
# we disable title because its redundant with the model list module
|
||||
title = ''
|
||||
|
||||
def __init__(self, *args, **kwargs):
|
||||
AppIndexDashboard.__init__(self, *args, **kwargs)
|
||||
|
||||
# append a model list module and a recent actions module
|
||||
self.children += [
|
||||
modules.ModelList(self.app_title, self.models),
|
||||
modules.RecentActions(
|
||||
_('Recent Actions'),
|
||||
include_list=self.get_app_content_types(),
|
||||
limit=5
|
||||
)
|
||||
]
|
||||
|
||||
def init_with_context(self, context):
|
||||
"""
|
||||
Use this method if you need to access the request context.
|
||||
"""
|
||||
return super(CustomAppIndexDashboard, self).init_with_context(context)
|
|
@ -1,37 +0,0 @@
|
|||
[ { "fields" : { "created" : "2013-06-21T16:52:00.185",
|
||||
"identifier" : "petite_enfance",
|
||||
"modified" : "2013-06-21T16:52:17.062",
|
||||
"name" : "Petite enfance",
|
||||
"site" : 1
|
||||
},
|
||||
"model" : "portail_citoyen_announces.category",
|
||||
"pk" : 1
|
||||
},
|
||||
{ "fields" : { "created" : "2013-06-21T16:52:39.908",
|
||||
"identifier" : "sport",
|
||||
"modified" : "2013-06-21T16:52:39.923",
|
||||
"name" : "Sport",
|
||||
"site" : 1
|
||||
},
|
||||
"model" : "portail_citoyen_announces.category",
|
||||
"pk" : 2
|
||||
},
|
||||
{ "fields" : { "created" : "2013-06-24T10:12:31.224",
|
||||
"identifier" : "culture",
|
||||
"modified" : "2013-06-24T10:12:31.362",
|
||||
"name" : "Culture",
|
||||
"site" : 1
|
||||
},
|
||||
"model" : "portail_citoyen_announces.category",
|
||||
"pk" : 3
|
||||
},
|
||||
{ "fields" : { "created" : "2013-06-24T10:13:15.848",
|
||||
"identifier" : "vie_quotidienne",
|
||||
"modified" : "2013-06-24T10:13:15.856",
|
||||
"name" : "Vie quotidienne",
|
||||
"site" : 1
|
||||
},
|
||||
"model" : "portail_citoyen_announces.category",
|
||||
"pk" : 4
|
||||
}
|
||||
]
|
|
@ -1,25 +0,0 @@
|
|||
[ { "fields" : { "color_hex" : "",
|
||||
"css_classes" : "",
|
||||
"name" : "Actualités OpenData",
|
||||
"url" : "http://data.montpellier-agglo.com/?q=flux-rss-donnees.xml"
|
||||
},
|
||||
"model" : "feed_plugin.feed",
|
||||
"pk" : 1
|
||||
},
|
||||
{ "fields" : { "color_hex" : "",
|
||||
"css_classes" : "",
|
||||
"name" : "Actualités médiathèque",
|
||||
"url" : "http://services.mediatheque.montpellier-agglo.com/medias/selectionRss.aspx?INSTANCE=EXPLOITATION&SEL=SELECTION_ID_5"
|
||||
},
|
||||
"model" : "feed_plugin.feed",
|
||||
"pk" : 2
|
||||
},
|
||||
{ "fields" : { "color_hex" : "ee0000",
|
||||
"css_classes" : "",
|
||||
"name" : "Facebook Agglo",
|
||||
"url" : "https://www.facebook.com/feeds/page.php?format=rss20&id=149399375123718"
|
||||
},
|
||||
"model" : "feed_plugin.feed",
|
||||
"pk" : 3
|
||||
}
|
||||
]
|
|
@ -1,893 +0,0 @@
|
|||
[ { "fields" : { "name" : "Administrateur des annonces",
|
||||
"permissions" : [ [ "add_announce",
|
||||
"portail_citoyen_announces",
|
||||
"announce"
|
||||
],
|
||||
[ "change_announce",
|
||||
"portail_citoyen_announces",
|
||||
"announce"
|
||||
],
|
||||
[ "delete_announce",
|
||||
"portail_citoyen_announces",
|
||||
"announce"
|
||||
],
|
||||
[ "add_category",
|
||||
"portail_citoyen_announces",
|
||||
"category"
|
||||
],
|
||||
[ "change_category",
|
||||
"portail_citoyen_announces",
|
||||
"category"
|
||||
],
|
||||
[ "delete_category",
|
||||
"portail_citoyen_announces",
|
||||
"category"
|
||||
],
|
||||
[ "add_sent",
|
||||
"portail_citoyen_announces",
|
||||
"sent"
|
||||
],
|
||||
[ "change_sent",
|
||||
"portail_citoyen_announces",
|
||||
"sent"
|
||||
],
|
||||
[ "delete_sent",
|
||||
"portail_citoyen_announces",
|
||||
"sent"
|
||||
],
|
||||
[ "change_subscription",
|
||||
"portail_citoyen_announces",
|
||||
"subscription"
|
||||
],
|
||||
[ "delete_subscription",
|
||||
"portail_citoyen_announces",
|
||||
"subscription"
|
||||
]
|
||||
]
|
||||
},
|
||||
"model" : "auth.group",
|
||||
"pk" : 1
|
||||
},
|
||||
{ "fields" : { "name" : "Administrateur des contenus",
|
||||
"permissions" : [ [ "add_a2servicelistplugin",
|
||||
"a2_service_list_plugin",
|
||||
"a2servicelistplugin"
|
||||
],
|
||||
[ "change_a2servicelistplugin",
|
||||
"a2_service_list_plugin",
|
||||
"a2servicelistplugin"
|
||||
],
|
||||
[ "delete_a2servicelistplugin",
|
||||
"a2_service_list_plugin",
|
||||
"a2servicelistplugin"
|
||||
],
|
||||
[ "add_cmsplugin",
|
||||
"cms",
|
||||
"cmsplugin"
|
||||
],
|
||||
[ "change_cmsplugin",
|
||||
"cms",
|
||||
"cmsplugin"
|
||||
],
|
||||
[ "delete_cmsplugin",
|
||||
"cms",
|
||||
"cmsplugin"
|
||||
],
|
||||
[ "add_globalpagepermission",
|
||||
"cms",
|
||||
"globalpagepermission"
|
||||
],
|
||||
[ "change_globalpagepermission",
|
||||
"cms",
|
||||
"globalpagepermission"
|
||||
],
|
||||
[ "delete_globalpagepermission",
|
||||
"cms",
|
||||
"globalpagepermission"
|
||||
],
|
||||
[ "add_page",
|
||||
"cms",
|
||||
"page"
|
||||
],
|
||||
[ "change_page",
|
||||
"cms",
|
||||
"page"
|
||||
],
|
||||
[ "delete_page",
|
||||
"cms",
|
||||
"page"
|
||||
],
|
||||
[ "publish_page",
|
||||
"cms",
|
||||
"page"
|
||||
],
|
||||
[ "view_page",
|
||||
"cms",
|
||||
"page"
|
||||
],
|
||||
[ "add_pagemoderatorstate",
|
||||
"cms",
|
||||
"pagemoderatorstate"
|
||||
],
|
||||
[ "change_pagemoderatorstate",
|
||||
"cms",
|
||||
"pagemoderatorstate"
|
||||
],
|
||||
[ "delete_pagemoderatorstate",
|
||||
"cms",
|
||||
"pagemoderatorstate"
|
||||
],
|
||||
[ "add_pagepermission",
|
||||
"cms",
|
||||
"pagepermission"
|
||||
],
|
||||
[ "change_pagepermission",
|
||||
"cms",
|
||||
"pagepermission"
|
||||
],
|
||||
[ "delete_pagepermission",
|
||||
"cms",
|
||||
"pagepermission"
|
||||
],
|
||||
[ "add_pageuser",
|
||||
"cms",
|
||||
"pageuser"
|
||||
],
|
||||
[ "change_pageuser",
|
||||
"cms",
|
||||
"pageuser"
|
||||
],
|
||||
[ "delete_pageuser",
|
||||
"cms",
|
||||
"pageuser"
|
||||
],
|
||||
[ "add_pageusergroup",
|
||||
"cms",
|
||||
"pageusergroup"
|
||||
],
|
||||
[ "change_pageusergroup",
|
||||
"cms",
|
||||
"pageusergroup"
|
||||
],
|
||||
[ "delete_pageusergroup",
|
||||
"cms",
|
||||
"pageusergroup"
|
||||
],
|
||||
[ "add_placeholder",
|
||||
"cms",
|
||||
"placeholder"
|
||||
],
|
||||
[ "change_placeholder",
|
||||
"cms",
|
||||
"placeholder"
|
||||
],
|
||||
[ "delete_placeholder",
|
||||
"cms",
|
||||
"placeholder"
|
||||
],
|
||||
[ "add_title",
|
||||
"cms",
|
||||
"title"
|
||||
],
|
||||
[ "change_title",
|
||||
"cms",
|
||||
"title"
|
||||
],
|
||||
[ "delete_title",
|
||||
"cms",
|
||||
"title"
|
||||
],
|
||||
[ "add_textwrapper",
|
||||
"cmsplugin_text_wrapper",
|
||||
"textwrapper"
|
||||
],
|
||||
[ "change_textwrapper",
|
||||
"cmsplugin_text_wrapper",
|
||||
"textwrapper"
|
||||
],
|
||||
[ "delete_textwrapper",
|
||||
"cmsplugin_text_wrapper",
|
||||
"textwrapper"
|
||||
],
|
||||
[ "add_datasource",
|
||||
"data_source_plugin",
|
||||
"datasource"
|
||||
],
|
||||
[ "change_datasource",
|
||||
"data_source_plugin",
|
||||
"datasource"
|
||||
],
|
||||
[ "delete_datasource",
|
||||
"data_source_plugin",
|
||||
"datasource"
|
||||
],
|
||||
[ "add_datasourceplugin",
|
||||
"data_source_plugin",
|
||||
"datasourceplugin"
|
||||
],
|
||||
[ "change_datasourceplugin",
|
||||
"data_source_plugin",
|
||||
"datasourceplugin"
|
||||
],
|
||||
[ "delete_datasourceplugin",
|
||||
"data_source_plugin",
|
||||
"datasourceplugin"
|
||||
],
|
||||
[ "add_plugindatasource",
|
||||
"data_source_plugin",
|
||||
"plugindatasource"
|
||||
],
|
||||
[ "change_plugindatasource",
|
||||
"data_source_plugin",
|
||||
"plugindatasource"
|
||||
],
|
||||
[ "delete_plugindatasource",
|
||||
"data_source_plugin",
|
||||
"plugindatasource"
|
||||
],
|
||||
[ "add_rawinlinetemplateplugin",
|
||||
"data_source_plugin",
|
||||
"rawinlinetemplateplugin"
|
||||
],
|
||||
[ "change_rawinlinetemplateplugin",
|
||||
"data_source_plugin",
|
||||
"rawinlinetemplateplugin"
|
||||
],
|
||||
[ "delete_rawinlinetemplateplugin",
|
||||
"data_source_plugin",
|
||||
"rawinlinetemplateplugin"
|
||||
],
|
||||
[ "add_feed",
|
||||
"feed_plugin",
|
||||
"feed"
|
||||
],
|
||||
[ "change_feed",
|
||||
"feed_plugin",
|
||||
"feed"
|
||||
],
|
||||
[ "delete_feed",
|
||||
"feed_plugin",
|
||||
"feed"
|
||||
],
|
||||
[ "add_feedpreference",
|
||||
"feed_plugin",
|
||||
"feedpreference"
|
||||
],
|
||||
[ "change_feedpreference",
|
||||
"feed_plugin",
|
||||
"feedpreference"
|
||||
],
|
||||
[ "delete_feedpreference",
|
||||
"feed_plugin",
|
||||
"feedpreference"
|
||||
],
|
||||
[ "add_selectuserfeed",
|
||||
"feed_plugin",
|
||||
"selectuserfeed"
|
||||
],
|
||||
[ "change_selectuserfeed",
|
||||
"feed_plugin",
|
||||
"selectuserfeed"
|
||||
],
|
||||
[ "delete_selectuserfeed",
|
||||
"feed_plugin",
|
||||
"selectuserfeed"
|
||||
],
|
||||
[ "add_showuserfeed",
|
||||
"feed_plugin",
|
||||
"showuserfeed"
|
||||
],
|
||||
[ "change_showuserfeed",
|
||||
"feed_plugin",
|
||||
"showuserfeed"
|
||||
],
|
||||
[ "delete_showuserfeed",
|
||||
"feed_plugin",
|
||||
"showuserfeed"
|
||||
],
|
||||
[ "add_link",
|
||||
"link",
|
||||
"link"
|
||||
],
|
||||
[ "change_link",
|
||||
"link",
|
||||
"link"
|
||||
],
|
||||
[ "delete_link",
|
||||
"link",
|
||||
"link"
|
||||
],
|
||||
[ "add_loginplugin",
|
||||
"login_plugin",
|
||||
"loginplugin"
|
||||
],
|
||||
[ "change_loginplugin",
|
||||
"login_plugin",
|
||||
"loginplugin"
|
||||
],
|
||||
[ "delete_loginplugin",
|
||||
"login_plugin",
|
||||
"loginplugin"
|
||||
],
|
||||
[ "add_cachekey",
|
||||
"menus",
|
||||
"cachekey"
|
||||
],
|
||||
[ "change_cachekey",
|
||||
"menus",
|
||||
"cachekey"
|
||||
],
|
||||
[ "delete_cachekey",
|
||||
"menus",
|
||||
"cachekey"
|
||||
],
|
||||
[ "add_picture",
|
||||
"picture",
|
||||
"picture"
|
||||
],
|
||||
[ "change_picture",
|
||||
"picture",
|
||||
"picture"
|
||||
],
|
||||
[ "delete_picture",
|
||||
"picture",
|
||||
"picture"
|
||||
],
|
||||
[ "add_snippet",
|
||||
"snippet",
|
||||
"snippet"
|
||||
],
|
||||
[ "change_snippet",
|
||||
"snippet",
|
||||
"snippet"
|
||||
],
|
||||
[ "delete_snippet",
|
||||
"snippet",
|
||||
"snippet"
|
||||
],
|
||||
[ "add_snippetptr",
|
||||
"snippet",
|
||||
"snippetptr"
|
||||
],
|
||||
[ "change_snippetptr",
|
||||
"snippet",
|
||||
"snippetptr"
|
||||
],
|
||||
[ "delete_snippetptr",
|
||||
"snippet",
|
||||
"snippetptr"
|
||||
],
|
||||
[ "add_teaser",
|
||||
"teaser",
|
||||
"teaser"
|
||||
],
|
||||
[ "change_teaser",
|
||||
"teaser",
|
||||
"teaser"
|
||||
],
|
||||
[ "delete_teaser",
|
||||
"teaser",
|
||||
"teaser"
|
||||
]
|
||||
]
|
||||
},
|
||||
"model" : "auth.group",
|
||||
"pk" : 2
|
||||
},
|
||||
{ "fields" : { "name" : "Administrateur SAML",
|
||||
"permissions" : [ [ "add_attributesource",
|
||||
"attribute_aggregator",
|
||||
"attributesource"
|
||||
],
|
||||
[ "change_attributesource",
|
||||
"attribute_aggregator",
|
||||
"attributesource"
|
||||
],
|
||||
[ "delete_attributesource",
|
||||
"attribute_aggregator",
|
||||
"attributesource"
|
||||
],
|
||||
[ "add_useraliasinsource",
|
||||
"attribute_aggregator",
|
||||
"useraliasinsource"
|
||||
],
|
||||
[ "change_useraliasinsource",
|
||||
"attribute_aggregator",
|
||||
"useraliasinsource"
|
||||
],
|
||||
[ "delete_useraliasinsource",
|
||||
"attribute_aggregator",
|
||||
"useraliasinsource"
|
||||
],
|
||||
[ "add_userattributeprofile",
|
||||
"attribute_aggregator",
|
||||
"userattributeprofile"
|
||||
],
|
||||
[ "change_userattributeprofile",
|
||||
"attribute_aggregator",
|
||||
"userattributeprofile"
|
||||
],
|
||||
[ "delete_userattributeprofile",
|
||||
"attribute_aggregator",
|
||||
"userattributeprofile"
|
||||
],
|
||||
[ "add_attributeitem",
|
||||
"idp",
|
||||
"attributeitem"
|
||||
],
|
||||
[ "change_attributeitem",
|
||||
"idp",
|
||||
"attributeitem"
|
||||
],
|
||||
[ "delete_attributeitem",
|
||||
"idp",
|
||||
"attributeitem"
|
||||
],
|
||||
[ "add_attributelist",
|
||||
"idp",
|
||||
"attributelist"
|
||||
],
|
||||
[ "change_attributelist",
|
||||
"idp",
|
||||
"attributelist"
|
||||
],
|
||||
[ "delete_attributelist",
|
||||
"idp",
|
||||
"attributelist"
|
||||
],
|
||||
[ "add_attributepolicy",
|
||||
"idp",
|
||||
"attributepolicy"
|
||||
],
|
||||
[ "change_attributepolicy",
|
||||
"idp",
|
||||
"attributepolicy"
|
||||
],
|
||||
[ "delete_attributepolicy",
|
||||
"idp",
|
||||
"attributepolicy"
|
||||
],
|
||||
[ "add_userconsentattributes",
|
||||
"idp",
|
||||
"userconsentattributes"
|
||||
],
|
||||
[ "change_userconsentattributes",
|
||||
"idp",
|
||||
"userconsentattributes"
|
||||
],
|
||||
[ "delete_userconsentattributes",
|
||||
"idp",
|
||||
"userconsentattributes"
|
||||
],
|
||||
[ "add_authorizationattributemap",
|
||||
"saml",
|
||||
"authorizationattributemap"
|
||||
],
|
||||
[ "change_authorizationattributemap",
|
||||
"saml",
|
||||
"authorizationattributemap"
|
||||
],
|
||||
[ "delete_authorizationattributemap",
|
||||
"saml",
|
||||
"authorizationattributemap"
|
||||
],
|
||||
[ "add_authorizationattributemapping",
|
||||
"saml",
|
||||
"authorizationattributemapping"
|
||||
],
|
||||
[ "change_authorizationattributemapping",
|
||||
"saml",
|
||||
"authorizationattributemapping"
|
||||
],
|
||||
[ "delete_authorizationattributemapping",
|
||||
"saml",
|
||||
"authorizationattributemapping"
|
||||
],
|
||||
[ "add_authorizationsppolicy",
|
||||
"saml",
|
||||
"authorizationsppolicy"
|
||||
],
|
||||
[ "change_authorizationsppolicy",
|
||||
"saml",
|
||||
"authorizationsppolicy"
|
||||
],
|
||||
[ "delete_authorizationsppolicy",
|
||||
"saml",
|
||||
"authorizationsppolicy"
|
||||
],
|
||||
[ "add_idpoptionssppolicy",
|
||||
"saml",
|
||||
"idpoptionssppolicy"
|
||||
],
|
||||
[ "change_idpoptionssppolicy",
|
||||
"saml",
|
||||
"idpoptionssppolicy"
|
||||
],
|
||||
[ "delete_idpoptionssppolicy",
|
||||
"saml",
|
||||
"idpoptionssppolicy"
|
||||
],
|
||||
[ "add_keyvalue",
|
||||
"saml",
|
||||
"keyvalue"
|
||||
],
|
||||
[ "change_keyvalue",
|
||||
"saml",
|
||||
"keyvalue"
|
||||
],
|
||||
[ "delete_keyvalue",
|
||||
"saml",
|
||||
"keyvalue"
|
||||
],
|
||||
[ "add_libertyartifact",
|
||||
"saml",
|
||||
"libertyartifact"
|
||||
],
|
||||
[ "change_libertyartifact",
|
||||
"saml",
|
||||
"libertyartifact"
|
||||
],
|
||||
[ "delete_libertyartifact",
|
||||
"saml",
|
||||
"libertyartifact"
|
||||
],
|
||||
[ "add_libertyassertion",
|
||||
"saml",
|
||||
"libertyassertion"
|
||||
],
|
||||
[ "change_libertyassertion",
|
||||
"saml",
|
||||
"libertyassertion"
|
||||
],
|
||||
[ "delete_libertyassertion",
|
||||
"saml",
|
||||
"libertyassertion"
|
||||
],
|
||||
[ "add_libertyfederation",
|
||||
"saml",
|
||||
"libertyfederation"
|
||||
],
|
||||
[ "change_libertyfederation",
|
||||
"saml",
|
||||
"libertyfederation"
|
||||
],
|
||||
[ "delete_libertyfederation",
|
||||
"saml",
|
||||
"libertyfederation"
|
||||
],
|
||||
[ "add_libertyidentityprovider",
|
||||
"saml",
|
||||
"libertyidentityprovider"
|
||||
],
|
||||
[ "change_libertyidentityprovider",
|
||||
"saml",
|
||||
"libertyidentityprovider"
|
||||
],
|
||||
[ "delete_libertyidentityprovider",
|
||||
"saml",
|
||||
"libertyidentityprovider"
|
||||
],
|
||||
[ "add_libertymanagedump",
|
||||
"saml",
|
||||
"libertymanagedump"
|
||||
],
|
||||
[ "change_libertymanagedump",
|
||||
"saml",
|
||||
"libertymanagedump"
|
||||
],
|
||||
[ "delete_libertymanagedump",
|
||||
"saml",
|
||||
"libertymanagedump"
|
||||
],
|
||||
[ "add_libertyprovider",
|
||||
"saml",
|
||||
"libertyprovider"
|
||||
],
|
||||
[ "change_libertyprovider",
|
||||
"saml",
|
||||
"libertyprovider"
|
||||
],
|
||||
[ "delete_libertyprovider",
|
||||
"saml",
|
||||
"libertyprovider"
|
||||
],
|
||||
[ "add_libertyproviderpolicy",
|
||||
"saml",
|
||||
"libertyproviderpolicy"
|
||||
],
|
||||
[ "change_libertyproviderpolicy",
|
||||
"saml",
|
||||
"libertyproviderpolicy"
|
||||
],
|
||||
[ "delete_libertyproviderpolicy",
|
||||
"saml",
|
||||
"libertyproviderpolicy"
|
||||
],
|
||||
[ "add_libertyserviceprovider",
|
||||
"saml",
|
||||
"libertyserviceprovider"
|
||||
],
|
||||
[ "change_libertyserviceprovider",
|
||||
"saml",
|
||||
"libertyserviceprovider"
|
||||
],
|
||||
[ "delete_libertyserviceprovider",
|
||||
"saml",
|
||||
"libertyserviceprovider"
|
||||
],
|
||||
[ "add_libertysession",
|
||||
"saml",
|
||||
"libertysession"
|
||||
],
|
||||
[ "change_libertysession",
|
||||
"saml",
|
||||
"libertysession"
|
||||
],
|
||||
[ "delete_libertysession",
|
||||
"saml",
|
||||
"libertysession"
|
||||
],
|
||||
[ "add_libertysessiondump",
|
||||
"saml",
|
||||
"libertysessiondump"
|
||||
],
|
||||
[ "change_libertysessiondump",
|
||||
"saml",
|
||||
"libertysessiondump"
|
||||
],
|
||||
[ "delete_libertysessiondump",
|
||||
"saml",
|
||||
"libertysessiondump"
|
||||
],
|
||||
[ "add_libertysessionsp",
|
||||
"saml",
|
||||
"libertysessionsp"
|
||||
],
|
||||
[ "change_libertysessionsp",
|
||||
"saml",
|
||||
"libertysessionsp"
|
||||
],
|
||||
[ "delete_libertysessionsp",
|
||||
"saml",
|
||||
"libertysessionsp"
|
||||
],
|
||||
[ "add_spoptionsidppolicy",
|
||||
"saml",
|
||||
"spoptionsidppolicy"
|
||||
],
|
||||
[ "change_spoptionsidppolicy",
|
||||
"saml",
|
||||
"spoptionsidppolicy"
|
||||
],
|
||||
[ "delete_spoptionsidppolicy",
|
||||
"saml",
|
||||
"spoptionsidppolicy"
|
||||
]
|
||||
]
|
||||
},
|
||||
"model" : "auth.group",
|
||||
"pk" : 3
|
||||
},
|
||||
{ "fields" : { "name" : "Administrateur des utilisateurs",
|
||||
"permissions" : [ [ "add_citoyen",
|
||||
"portail_citoyen",
|
||||
"citoyen"
|
||||
],
|
||||
[ "change_citoyen",
|
||||
"portail_citoyen",
|
||||
"citoyen"
|
||||
],
|
||||
[ "delete_citoyen",
|
||||
"portail_citoyen",
|
||||
"citoyen"
|
||||
]
|
||||
]
|
||||
},
|
||||
"model" : "auth.group",
|
||||
"pk" : 4
|
||||
},
|
||||
{ "fields" : { "name" : "Administrateur des rôles",
|
||||
"permissions" : [ [ "add_role",
|
||||
"portail_citoyen",
|
||||
"role"
|
||||
],
|
||||
[ "change_role",
|
||||
"portail_citoyen",
|
||||
"role"
|
||||
],
|
||||
[ "delete_role",
|
||||
"portail_citoyen",
|
||||
"role"
|
||||
]
|
||||
]
|
||||
},
|
||||
"model" : "auth.group",
|
||||
"pk" : 5
|
||||
},
|
||||
{ "fields" : { "name" : "Agglo::Téléservices::BackOffice::Alex Jany",
|
||||
"permissions" : [ ]
|
||||
},
|
||||
"model" : "auth.group",
|
||||
"pk" : 6
|
||||
},
|
||||
{ "fields" : { "name" : "Agglo::Téléservices::BackOffice::Alfred Nakache",
|
||||
"permissions" : [ ]
|
||||
},
|
||||
"model" : "auth.group",
|
||||
"pk" : 7
|
||||
},
|
||||
{ "fields" : { "name" : "Agglo::Téléservices::BackOffice::Amphitrite",
|
||||
"permissions" : [ ]
|
||||
},
|
||||
"model" : "auth.group",
|
||||
"pk" : 8
|
||||
},
|
||||
{ "fields" : { "name" : "Agglo::Téléservices::BackOffice::Christine Caron",
|
||||
"permissions" : [ ]
|
||||
},
|
||||
"model" : "auth.group",
|
||||
"pk" : 9
|
||||
},
|
||||
{ "fields" : { "name" : "Agglo::Téléservices::BackOffice::Contact CCAS Montpellier",
|
||||
"permissions" : [ ]
|
||||
},
|
||||
"model" : "auth.group",
|
||||
"pk" : 10
|
||||
},
|
||||
{ "fields" : { "name" : "Agglo::Téléservices::BackOffice::Gestionnaire Collecte et Propreté",
|
||||
"permissions" : [ ]
|
||||
},
|
||||
"model" : "auth.group",
|
||||
"pk" : 11
|
||||
},
|
||||
{ "fields" : { "name" : "Agglo::Téléservices::BackOffice::Gestionnaire Police Municipale",
|
||||
"permissions" : [ ]
|
||||
},
|
||||
"model" : "auth.group",
|
||||
"pk" : 12
|
||||
},
|
||||
{ "fields" : { "name" : "Agglo::Téléservices::BackOffice::Gestionnaire Sport",
|
||||
"permissions" : [ ]
|
||||
},
|
||||
"model" : "auth.group",
|
||||
"pk" : 13
|
||||
},
|
||||
{ "fields" : { "name" : "Agglo::Téléservices::BackOffice::Gestionnaire des formulaires",
|
||||
"permissions" : [ ]
|
||||
},
|
||||
"model" : "auth.group",
|
||||
"pk" : 16
|
||||
},
|
||||
{ "fields" : { "name" : "Agglo::Téléservices::BackOffice::Gestionnaire eau et assainissement",
|
||||
"permissions" : [ ]
|
||||
},
|
||||
"model" : "auth.group",
|
||||
"pk" : 17
|
||||
},
|
||||
{ "fields" : { "name" : "Agglo::Téléservices::BackOffice::Gestionnaire emploi",
|
||||
"permissions" : [ ]
|
||||
},
|
||||
"model" : "auth.group",
|
||||
"pk" : 18
|
||||
},
|
||||
{ "fields" : { "name" : "Agglo::Téléservices::BackOffice::Gestionnaire finances",
|
||||
"permissions" : [ ]
|
||||
},
|
||||
"model" : "auth.group",
|
||||
"pk" : 19
|
||||
},
|
||||
{ "fields" : { "name" : "Agglo::Téléservices::BackOffice::Gestionnaire salles",
|
||||
"permissions" : [ ]
|
||||
},
|
||||
"model" : "auth.group",
|
||||
"pk" : 20
|
||||
},
|
||||
{ "fields" : { "name" : "Agglo::Téléservices::BackOffice::Gestionnaire services techniques",
|
||||
"permissions" : [ ]
|
||||
},
|
||||
"model" : "auth.group",
|
||||
"pk" : 21
|
||||
},
|
||||
{ "fields" : { "name" : "Agglo::Téléservices::BackOffice::Gestionnaire téléalarme",
|
||||
"permissions" : [ ]
|
||||
},
|
||||
"model" : "auth.group",
|
||||
"pk" : 22
|
||||
},
|
||||
{ "fields" : { "name" : "Agglo::Téléservices::BackOffice::Gestionnaire État civil",
|
||||
"permissions" : [ ]
|
||||
},
|
||||
"model" : "auth.group",
|
||||
"pk" : 23
|
||||
},
|
||||
{ "fields" : { "name" : "Agglo::Téléservices::BackOffice::Jean Taris",
|
||||
"permissions" : [ ]
|
||||
},
|
||||
"model" : "auth.group",
|
||||
"pk" : 24
|
||||
},
|
||||
{ "fields" : { "name" : "Agglo::Téléservices::BackOffice::Jean Vives",
|
||||
"permissions" : [ ]
|
||||
},
|
||||
"model" : "auth.group",
|
||||
"pk" : 25
|
||||
},
|
||||
{ "fields" : { "name" : "Agglo::Téléservices::BackOffice::Marcel Spilliaert",
|
||||
"permissions" : [ ]
|
||||
},
|
||||
"model" : "auth.group",
|
||||
"pk" : 26
|
||||
},
|
||||
{ "fields" : { "name" : "Agglo::Téléservices::BackOffice::Neptune",
|
||||
"permissions" : [ ]
|
||||
},
|
||||
"model" : "auth.group",
|
||||
"pk" : 27
|
||||
},
|
||||
{ "fields" : { "name" : "Agglo::Téléservices::BackOffice::Néréide",
|
||||
"permissions" : [ ]
|
||||
},
|
||||
"model" : "auth.group",
|
||||
"pk" : 28
|
||||
},
|
||||
{ "fields" : { "name" : "Agglo::Téléservices::BackOffice::POA",
|
||||
"permissions" : [ ]
|
||||
},
|
||||
"model" : "auth.group",
|
||||
"pk" : 29
|
||||
},
|
||||
{ "fields" : { "name" : "Agglo::Téléservices::BackOffice::Pilot",
|
||||
"permissions" : [ ]
|
||||
},
|
||||
"model" : "auth.group",
|
||||
"pk" : 30
|
||||
},
|
||||
{ "fields" : { "name" : "Agglo::Téléservices::BackOffice::Poseïdon",
|
||||
"permissions" : [ ]
|
||||
},
|
||||
"model" : "auth.group",
|
||||
"pk" : 31
|
||||
},
|
||||
{ "fields" : { "name" : "Agglo::Téléservices::BackOffice::Responsable d'association",
|
||||
"permissions" : [ ]
|
||||
},
|
||||
"model" : "auth.group",
|
||||
"pk" : 32
|
||||
},
|
||||
{ "fields" : { "name" : "Agglo::Téléservices::BackOffice::Suzanne Berlioux",
|
||||
"permissions" : [ ]
|
||||
},
|
||||
"model" : "auth.group",
|
||||
"pk" : 33
|
||||
},
|
||||
{ "fields" : { "name" : "Agglo::Téléservices::BackOffice::entreprise assainissement",
|
||||
"permissions" : [ ]
|
||||
},
|
||||
"model" : "auth.group",
|
||||
"pk" : 34
|
||||
},
|
||||
{ "fields" : { "name" : "Agglo::Téléservices::Admin",
|
||||
"permissions" : [ ]
|
||||
},
|
||||
"model" : "auth.group",
|
||||
"pk" : 36
|
||||
},
|
||||
{ "fields" : { "name" : "Agglo::Téléservices::BackOffice::Gestionnaire contact support",
|
||||
"permissions" : [ ]
|
||||
},
|
||||
"model" : "auth.group",
|
||||
"pk" : 97
|
||||
},
|
||||
{ "fields" : { "name" : "Agglo::Téléservices::BackOffice::Support du compte citoyen",
|
||||
"permissions" : [ ]
|
||||
},
|
||||
"model" : "auth.group",
|
||||
"pk" : 98
|
||||
},
|
||||
{ "fields" : { "name" : "Agglo::Téléservices::BackOffice::gestionnaire contact piscine",
|
||||
"permissions" : [ ]
|
||||
},
|
||||
"model" : "auth.group",
|
||||
"pk" : 99
|
||||
}
|
||||
]
|
|
@ -1,295 +0,0 @@
|
|||
[ { "fields" : { "attribute_name" : "uid",
|
||||
"output_name_format" : "urn:oasis:names:tc:SAML:2.0:attrname-format:basic",
|
||||
"output_namespace" : "Default",
|
||||
"required" : true,
|
||||
"source" : 1
|
||||
},
|
||||
"model" : "idp.attributeitem",
|
||||
"pk" : 2
|
||||
},
|
||||
{ "fields" : { "attribute_name" : "email",
|
||||
"output_name_format" : "urn:oasis:names:tc:SAML:2.0:attrname-format:basic",
|
||||
"output_namespace" : "Default",
|
||||
"required" : true,
|
||||
"source" : 1
|
||||
},
|
||||
"model" : "idp.attributeitem",
|
||||
"pk" : 3
|
||||
},
|
||||
{ "fields" : { "attribute_name" : "gn",
|
||||
"output_name_format" : "urn:oasis:names:tc:SAML:2.0:attrname-format:basic",
|
||||
"output_namespace" : "Default",
|
||||
"required" : true,
|
||||
"source" : 1
|
||||
},
|
||||
"model" : "idp.attributeitem",
|
||||
"pk" : 4
|
||||
},
|
||||
{ "fields" : { "attribute_name" : "sn",
|
||||
"output_name_format" : "urn:oasis:names:tc:SAML:2.0:attrname-format:basic",
|
||||
"output_namespace" : "Default",
|
||||
"required" : false,
|
||||
"source" : 1
|
||||
},
|
||||
"model" : "idp.attributeitem",
|
||||
"pk" : 5
|
||||
},
|
||||
{ "fields" : { "attribute_name" : "telephoneNumber",
|
||||
"output_name_format" : "urn:oasis:names:tc:SAML:2.0:attrname-format:basic",
|
||||
"output_namespace" : "Default",
|
||||
"required" : false,
|
||||
"source" : 1
|
||||
},
|
||||
"model" : "idp.attributeitem",
|
||||
"pk" : 7
|
||||
},
|
||||
{ "fields" : { "attribute_name" : "postalCode",
|
||||
"output_name_format" : "urn:oasis:names:tc:SAML:2.0:attrname-format:basic",
|
||||
"output_namespace" : "Default",
|
||||
"required" : false,
|
||||
"source" : 1
|
||||
},
|
||||
"model" : "idp.attributeitem",
|
||||
"pk" : 8
|
||||
},
|
||||
{ "fields" : { "attribute_name" : "street",
|
||||
"output_name_format" : "urn:oasis:names:tc:SAML:2.0:attrname-format:basic",
|
||||
"output_namespace" : "Default",
|
||||
"required" : false,
|
||||
"source" : 1
|
||||
},
|
||||
"model" : "idp.attributeitem",
|
||||
"pk" : 9
|
||||
},
|
||||
{ "fields" : { "attribute_name" : "personalTitle",
|
||||
"output_name_format" : "urn:oasis:names:tc:SAML:2.0:attrname-format:basic",
|
||||
"output_namespace" : "Default",
|
||||
"required" : false,
|
||||
"source" : 1
|
||||
},
|
||||
"model" : "idp.attributeitem",
|
||||
"pk" : 10
|
||||
},
|
||||
{ "fields" : { "attribute_name" : "l",
|
||||
"output_name_format" : "urn:oasis:names:tc:SAML:2.0:attrname-format:basic",
|
||||
"output_namespace" : "Default",
|
||||
"required" : false,
|
||||
"source" : 1
|
||||
},
|
||||
"model" : "idp.attributeitem",
|
||||
"pk" : 11
|
||||
},
|
||||
{ "fields" : { "attribute_name" : "mobile",
|
||||
"output_name_format" : "urn:oasis:names:tc:SAML:2.0:attrname-format:basic",
|
||||
"output_namespace" : "Default",
|
||||
"required" : false,
|
||||
"source" : 1
|
||||
},
|
||||
"model" : "idp.attributeitem",
|
||||
"pk" : 12
|
||||
},
|
||||
{ "fields" : { "attribute_name" : "role",
|
||||
"output_name_format" : "urn:oasis:names:tc:SAML:2.0:attrname-format:basic",
|
||||
"output_namespace" : "Default",
|
||||
"required" : false,
|
||||
"source" : 1
|
||||
},
|
||||
"model" : "idp.attributeitem",
|
||||
"pk" : 13
|
||||
},
|
||||
{ "fields" : { "attributes" : [ 2,
|
||||
3,
|
||||
4,
|
||||
5,
|
||||
7,
|
||||
8,
|
||||
9,
|
||||
10,
|
||||
11,
|
||||
12,
|
||||
13
|
||||
],
|
||||
"name" : "Profile"
|
||||
},
|
||||
"model" : "idp.attributelist",
|
||||
"pk" : 1
|
||||
},
|
||||
{ "fields" : { "allow_attributes_selection" : false,
|
||||
"ask_consent_attributes" : false,
|
||||
"attribute_filter_for_sso_from_push_sources" : null,
|
||||
"attribute_list_for_sso_from_pull_sources" : 1,
|
||||
"enabled" : true,
|
||||
"filter_source_of_filtered_attributes" : false,
|
||||
"forward_attributes_from_push_sources" : false,
|
||||
"map_attributes_from_push_sources" : false,
|
||||
"map_attributes_of_filtered_attributes" : false,
|
||||
"name" : "Default",
|
||||
"output_name_format" : "urn:oasis:names:tc:SAML:2.0:attrname-format:uri",
|
||||
"output_namespace" : "Default",
|
||||
"send_error_and_no_attrs_if_missing_required_attrs" : false,
|
||||
"source_filter_for_sso_from_push_sources" : [ ]
|
||||
},
|
||||
"model" : "idp.attributepolicy",
|
||||
"pk" : 1
|
||||
},
|
||||
{ "fields" : { "authn_request_signature_check_hint" : 0,
|
||||
"name" : "Default"
|
||||
},
|
||||
"model" : "saml.libertyproviderpolicy",
|
||||
"pk" : 1
|
||||
},
|
||||
{ "fields" : { "authn_request_signature_check_hint" : 2,
|
||||
"name" : "Shibboleth SP"
|
||||
},
|
||||
"model" : "saml.libertyproviderpolicy",
|
||||
"pk" : 2
|
||||
},
|
||||
{ "fields" : { "accept_slo" : true,
|
||||
"allow_create" : true,
|
||||
"back_url" : "/",
|
||||
"binding_for_sso_response" : "urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Artifact",
|
||||
"enable_binding_for_sso_response" : false,
|
||||
"enable_http_method_for_defederation_request" : false,
|
||||
"enable_http_method_for_slo_request" : true,
|
||||
"enabled" : true,
|
||||
"force_user_consent" : false,
|
||||
"forward_slo" : true,
|
||||
"handle_persistent" : "AUTHSAML2_UNAUTH_PERSISTENT_ACCOUNT_LINKING_BY_AUTH",
|
||||
"handle_transient" : "AUTHSAML2_UNAUTH_TRANSIENT_ASK_AUTH",
|
||||
"http_method_for_defederation_request" : 5,
|
||||
"http_method_for_slo_request" : 5,
|
||||
"name" : "Default",
|
||||
"no_nameid_policy" : false,
|
||||
"requested_name_id_format" : "persistent",
|
||||
"transient_is_persistent" : false,
|
||||
"want_authn_request_signed" : false,
|
||||
"want_force_authn_request" : false,
|
||||
"want_is_passive_authn_request" : false
|
||||
},
|
||||
"model" : "saml.idpoptionssppolicy",
|
||||
"pk" : 1
|
||||
},
|
||||
{ "fields" : { "accept_slo" : true,
|
||||
"accepted_name_id_format" : "[u'[u\\'[u\"[u\\\\\\'transient\\\\\\'\"\\'', u' u\\' u\" u\\\\\\'persistent\\\\\\'\"\\'', u' u\\' u\" u\\\\\\'email\\\\\\']\"]\\']']",
|
||||
"ask_user_consent" : false,
|
||||
"authn_request_signed" : false,
|
||||
"default_name_id_format" : "persistent",
|
||||
"enabled" : true,
|
||||
"encrypt_assertion" : false,
|
||||
"encrypt_nameid" : false,
|
||||
"forward_slo" : true,
|
||||
"idp_initiated_sso" : true,
|
||||
"name" : "Default",
|
||||
"prefered_assertion_consumer_binding" : "meta"
|
||||
},
|
||||
"model" : "saml.spoptionsidppolicy",
|
||||
"pk" : 1
|
||||
},
|
||||
{ "fields" : { "accept_slo" : true,
|
||||
"accepted_name_id_format" : "[u'[u\"[u\\'\\']\"]']",
|
||||
"ask_user_consent" : true,
|
||||
"authn_request_signed" : false,
|
||||
"default_name_id_format" : "persistent",
|
||||
"enabled" : true,
|
||||
"encrypt_assertion" : false,
|
||||
"encrypt_nameid" : false,
|
||||
"forward_slo" : true,
|
||||
"idp_initiated_sso" : true,
|
||||
"name" : "Consentement",
|
||||
"prefered_assertion_consumer_binding" : "meta"
|
||||
},
|
||||
"model" : "saml.spoptionsidppolicy",
|
||||
"pk" : 2
|
||||
},
|
||||
{ "fields" : { "accept_slo" : true,
|
||||
"accepted_name_id_format" : "[u'[u\"[u\\'\\']\"]']",
|
||||
"ask_user_consent" : false,
|
||||
"authn_request_signed" : false,
|
||||
"default_name_id_format" : "none",
|
||||
"enabled" : true,
|
||||
"encrypt_assertion" : false,
|
||||
"encrypt_nameid" : false,
|
||||
"forward_slo" : true,
|
||||
"idp_initiated_sso" : false,
|
||||
"name" : "Hide",
|
||||
"prefered_assertion_consumer_binding" : "meta"
|
||||
},
|
||||
"model" : "saml.spoptionsidppolicy",
|
||||
"pk" : 3
|
||||
},
|
||||
{ "fields" : { "ca_cert_chain" : "",
|
||||
"entity_id" : "http://eservices-montpellier.entrouvert.org/saml/metadata",
|
||||
"entity_id_sha1" : "5540b0b614a7f5d0f9583b43495d1e9508b52000",
|
||||
"federation_source" : null,
|
||||
"metadata" : "<?xml version=\"1.0\"?>\n<EntityDescriptor xmlns=\"urn:oasis:names:tc:SAML:2.0:metadata\"\n xmlns:saml=\"urn:oasis:names:tc:SAML:2.0:assertion\"\n xmlns:ds=\"http://www.w3.org/2000/09/xmldsig#\"\n entityID=\"http://eservices-montpellier.entrouvert.org/saml/metadata\">\n <SPSSODescriptor\n AuthnRequestsSigned=\"true\" WantAssertionsSigned=\"true\"\n protocolSupportEnumeration=\"urn:oasis:names:tc:SAML:2.0:protocol\">\n <KeyDescriptor use=\"signing\">\n <ds:KeyInfo xmlns:ds=\"http://www.w3.org/2000/09/xmldsig#\">\n <KeyValue xmlns=\"http://www.w3.org/2000/09/xmldsig#\">\n <RSAKeyValue>\n <Modulus>nJpkBznHNbvE+RAC6mU+NPQnIWs8gFNCm6I3FPcUKYpaJbXaurJ4cJgvnaEiqIXPQDcbHxuLeCbYbId9yascWZirvQbh8d/r+Vv+24bPG++9gW+i3Nnz1VW8V+z0b+puHWvM/FjJjBNJgWkI38gaupz47U6/02CtWx00stitiwk=</Modulus>\n <Exponent>AQAB</Exponent>\n </RSAKeyValue>\n</KeyValue>\n </ds:KeyInfo>\n </KeyDescriptor>\n <KeyDescriptor use=\"encryption\">\n <ds:KeyInfo xmlns:ds=\"http://www.w3.org/2000/09/xmldsig#\">\n <KeyValue xmlns=\"http://www.w3.org/2000/09/xmldsig#\">\n <RSAKeyValue>\n <Modulus>3BxSiAzGvY1Yuqa31L7Zr2WHM/8cn5oX+Q6A2SYgzjuvAgnWyizN8YgW/fHR4G7MtkmZ5RFJLXfcSLwbUfpFHV6KO1ikbgViYuFempM+SWtjqEI7ribm9GaI5kUzHJZBrH3/Q9XAd9/GLLALxurGjbKDeLfc0D+7el26g4sYmA8=</Modulus>\n <Exponent>AQAB</Exponent>\n </RSAKeyValue>\n</KeyValue>\n </ds:KeyInfo>\n </KeyDescriptor>\n\n <SingleLogoutService\n Binding=\"urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Redirect\"\n Location=\"http://eservices-montpellier.entrouvert.org/saml/singleLogout\"\n ResponseLocation=\"http://eservices-montpellier.entrouvert.org/saml/singleLogoutReturn\" />\n <SingleLogoutService\n Binding=\"urn:oasis:names:tc:SAML:2.0:bindings:SOAP\"\n Location=\"http://eservices-montpellier.entrouvert.org/saml/singleLogoutSOAP\" />\n <ManageNameIDService\n Binding=\"urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Redirect\"\n Location=\"http://eservices-montpellier.entrouvert.org/saml/manageNameId\"\n ResponseLocation=\"http://eservices-montpellier.entrouvert.org/saml/manageNameIdReturn\" />\n <ManageNameIDService\n Binding=\"urn:oasis:names:tc:SAML:2.0:bindings:SOAP\"\n Location=\"http://eservices-montpellier.entrouvert.org/saml/manageNameIdSOAP\" />\n <AssertionConsumerService isDefault=\"true\" index=\"0\"\n Binding=\"urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Artifact\"\n Location=\"http://eservices-montpellier.entrouvert.org/saml/assertionConsumerArtifact\" />\n <AssertionConsumerService index=\"1\"\n Binding=\"urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST\"\n Location=\"http://eservices-montpellier.entrouvert.org/saml/assertionConsumerPost\" />\n <AssertionConsumerService index=\"2\"\n Binding=\"urn:oasis:names:tc:SAML:2.0:bindings:PAOS\"\n Location=\"http://eservices-montpellier.entrouvert.org/saml/assertionConsumerSOAP\" />\n <AssertionConsumerService index=\"3\"\n Binding=\"urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Redirect\"\n Location=\"http://eservices-montpellier.entrouvert.org/saml/assertionConsumerRedirect\" />\n </SPSSODescriptor>\n\n\n</EntityDescriptor>",
|
||||
"name" : "Eservices",
|
||||
"protocol_conformance" : 3,
|
||||
"public_key" : "",
|
||||
"ssl_certificate" : ""
|
||||
},
|
||||
"model" : "saml.libertyprovider",
|
||||
"pk" : 2
|
||||
},
|
||||
{ "fields" : { "ca_cert_chain" : "",
|
||||
"entity_id" : "http://drupal.montpellier.entrouvert.org/simplesamlphp/module.php/saml/sp/metadata.php/default-sp",
|
||||
"entity_id_sha1" : "f7b6634ad4fd5af01a09f2ff9d24b93eed5985e3",
|
||||
"federation_source" : null,
|
||||
"metadata" : "<md:EntityDescriptor xmlns:md=\"urn:oasis:names:tc:SAML:2.0:metadata\" entityID=\"http://drupal.montpellier.entrouvert.org/simplesamlphp/module.php/saml/sp/metadata.php/default-sp\">\r\n <md:SPSSODescriptor protocolSupportEnumeration=\"urn:oasis:names:tc:SAML:1.1:protocol urn:oasis:names:tc:SAML:2.0:protocol\">\r\n <md:SingleLogoutService Binding=\"urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Redirect\" Location=\"http://drupal.montpellier.entrouvert.org/simplesamlphp/module.php/saml/sp/saml2-logout.php/default-sp\"/>\r\n <md:AssertionConsumerService Binding=\"urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST\" Location=\"http://drupal.montpellier.entrouvert.org/simplesamlphp/module.php/saml/sp/saml2-acs.php/default-sp\" index=\"0\"/>\r\n <md:AssertionConsumerService Binding=\"urn:oasis:names:tc:SAML:1.0:profiles:browser-post\" Location=\"http://drupal.montpellier.entrouvert.org/simplesamlphp/module.php/saml/sp/saml1-acs.php/default-sp\" index=\"1\"/>\r\n <md:AssertionConsumerService Binding=\"urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Artifact\" Location=\"http://drupal.montpellier.entrouvert.org/simplesamlphp/module.php/saml/sp/saml2-acs.php/default-sp\" index=\"2\"/>\r\n <md:AssertionConsumerService Binding=\"urn:oasis:names:tc:SAML:1.0:profiles:artifact-01\" Location=\"http://drupal.montpellier.entrouvert.org/simplesamlphp/module.php/saml/sp/saml1-acs.php/default-sp/artifact\" index=\"3\"/>\r\n <md:AssertionConsumerService Binding=\"urn:oasis:names:tc:SAML:2.0:profiles:holder-of-key:SSO:browser\" Location=\"http://drupal.montpellier.entrouvert.org/simplesamlphp/module.php/saml/sp/saml2-acs.php/default-sp\" index=\"4\"/>\r\n </md:SPSSODescriptor>\r\n <md:ContactPerson contactType=\"technical\">\r\n <md:GivenName>Administrator</md:GivenName>\r\n <md:EmailAddress>na@example.org</md:EmailAddress>\r\n </md:ContactPerson>\r\n</md:EntityDescriptor>",
|
||||
"name" : "Site Web de l'agglomération",
|
||||
"protocol_conformance" : 3,
|
||||
"public_key" : "",
|
||||
"ssl_certificate" : ""
|
||||
},
|
||||
"model" : "saml.libertyprovider",
|
||||
"pk" : 3
|
||||
},
|
||||
{ "fields" : { "ca_cert_chain" : "",
|
||||
"entity_id" : "https://test-commune-montpellier.entrouvert.org/saml/metadata",
|
||||
"entity_id_sha1" : "5da4d3fc93c3dd23a2974c626db5de98c2270a9c",
|
||||
"federation_source" : null,
|
||||
"metadata" : "<?xml version=\"1.0\"?>\r\n<EntityDescriptor xmlns=\"urn:oasis:names:tc:SAML:2.0:metadata\"\r\n xmlns:saml=\"urn:oasis:names:tc:SAML:2.0:assertion\"\r\n xmlns:ds=\"http://www.w3.org/2000/09/xmldsig#\"\r\n entityID=\"https://test-commune-montpellier.entrouvert.org/saml/metadata\">\r\n<SPSSODescriptor\r\n AuthnRequestsSigned=\"true\"\r\n protocolSupportEnumeration=\"urn:oasis:names:tc:SAML:2.0:protocol\">\r\n<KeyDescriptor use=\"signing\">\r\n <ds:KeyInfo xmlns:ds=\"http://www.w3.org/2000/09/xmldsig#\">\r\n <ds:X509Data><ds:X509Certificate>-----BEGIN CERTIFICATE-----\r\nMIIEQTCCAiugAwIBAgIUBwAAAAAAAAAAAAAAAAAAAAAAAAAwCwYJKoZIhvcNAQEF\r\nMIGJMQswCQYDVQQGEwJGUjEOMAwGA1UEBxMFUGFyaXMxFDASBgNVBAoTC0VudHIn\r\nT3V2ZXJ0MSMwIQYDVQQLDBpBdXRvcml0w6kgZGUgY2VydGlmaWNhdGlvbjEvMC0G\r\nA1UEAwwmRW50cidPdXZlcnQgQXV0b3JpdMOpIGRlIENlcnRpZmljYXRpb24wHhcN\r\nMDkwMTIwMDk1NDA0WhcNMTQwMTIwMDg1NDA0WjCBkjELMAkGA1UEBhMCRlIxIjAg\r\nBgNVBAoTGUNlbnRyZSBkZSBHZXN0aW9uIGR1IE5vcmQxFjAUBgNVBAsTDVByb2pl\r\ndCBQckB0aWMxRzBFBgNVBAMTPkNlcnRpZmljYXQgQ29tbXVuIHBvdXIgc2l0ZSB3\r\nY3MgZGUgdGVsZWZvcm11bGFpcmVzLnByYXRpYzU5LmZyMIGcMAsGCSqGSIb3DQEB\r\nAQOBjAAwgYgCgYC/ZvDd3Dq1IdK62vAza9pZidh+YT+j6/9jx1gb9TAIktJRXt3A\r\nD98iAJ1CuolA4QqJyxJQBi0R5wfmWlwR8DP7GE4hl7FB+01yqOvt6b+aX563qXgU\r\nE2wW7D34zZOdCOJAXKsKbklS62bDyNhNKQy32WIQZznJD7oPan5taVd9owIDAQAB\r\noyEwHzAMBgNVHRMBAf8EAjAAMA8GA1UdDwEB/wQFAwMHuAAwCwYJKoZIhvcNAQEF\r\nA4ICAQAFss/AtkkWDUVq7/bqkBb/K5zT9pO5XnCqDEl4dj84dhwrAVUYJqnHBxq6\r\n8W6+u/PC9xCBmXDkT4mLhEq2wEGAcB80PAi8eFWCEB+hRvLJAuHpLdiJMar2/hak\r\n3RSDWMiHr8o2aC4M05YyNCsi62O5GXxL2cpWAALiusUTuPCG5QwPykPNWsZpoJ0D\r\n0Ttim5dy94BQULiBGUr6yPid5pCzsHZjLKJZx/ZdFF26wsZcqdp+DVPGsitb+zei\r\nNvNep5SCb7K9ODDVTiBPDKIb2TxFIEM4UT664YPpmWwu3tVqFUzbGaoSkmZn2rwc\r\nygKQVvmHfcIZ7wD5yCtkdDxFcmMnKPA+H1Ef9JFul1OBgTjIL6RUtzXrFtKqwa6d\r\n83NvjaaAlioqv5uDkPEptF8CDidniPQ5tEYhysJ3L8I0lD4gT80LIlTuCWEjO85z\r\nnXqqw8qVSHkk89Knvydn0w7311a2mGFAiH6BvMgxf/JfZE18i8XcEVZoTOf282rO\r\n16Rf6fPz/WQLw0uRH1z4b6n83+HIBipxTbbF3p0q0CXeA3lw1WPCP4bCHjz46dxT\r\nEp07KHZVIRkTbT8Y4Hizy/dHLuE9xiWrz9wJQHU37eqdrahEvpfDiamER61wwz6r\r\n7cO08dlYUqGU9OuG2MStaZJkU+bS4k9rpH9ozh8n+INDtFOFQA==\r\n-----END CERTIFICATE-----\r\n</ds:X509Certificate></ds:X509Data>\r\n </ds:KeyInfo>\r\n </KeyDescriptor>\r\n\r\n\r\n <SingleLogoutService\r\n Binding=\"urn:oasis:names:tc:SAML:2.0:bindings:SOAP\"\r\n Location=\"https://test-commune-montpellier.entrouvert.org/saml/singleLogoutSOAP\" />\r\n <SingleLogoutService\r\n Binding=\"urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Redirect\"\r\n Location=\"https://test-commune-montpellier.entrouvert.org/saml/singleLogout\"\r\n ResponseLocation=\"https://test-commune-montpellier.entrouvert.org/saml/singleLogoutReturn\" />\r\n <ManageNameIDService\r\n Binding=\"urn:oasis:names:tc:SAML:2.0:bindings:SOAP\"\r\n Location=\"https://test-commune-montpellier.entrouvert.org/saml/manageNameIdSOAP\" />\r\n <ManageNameIDService\r\n Binding=\"urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Redirect\"\r\n Location=\"https://test-commune-montpellier.entrouvert.org/saml/manageNameId\"\r\n ResponseLocation=\"https://test-commune-montpellier.entrouvert.org/saml/manageNameIdReturn\" />\r\n <AssertionConsumerService isDefault=\"true\" index=\"0\"\r\n Binding=\"urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Artifact\"\r\n Location=\"https://test-commune-montpellier.entrouvert.org/saml/singleSignOnArtifact\" />\r\n <AssertionConsumerService index=\"1\"\r\n Binding=\"urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST\"\r\n Location=\"https://test-commune-montpellier.entrouvert.org/saml/singleSignOnPost\" />\r\n <AssertionConsumerService index=\"2\"\r\n Binding=\"urn:oasis:names:tc:SAML:2.0:bindings:PAOS\"\r\n Location=\"https://test-commune-montpellier.entrouvert.org/saml/singleSignOnSOAP\" />\r\n <AssertionConsumerService index=\"3\"\r\n Binding=\"urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Redirect\"\r\n Location=\"https://test-commune-montpellier.entrouvert.org/saml/singleSignOnRedirect\" />\r\n</SPSSODescriptor>\r\n</EntityDescriptor>\r\n",
|
||||
"name" : "Test commune",
|
||||
"protocol_conformance" : 3,
|
||||
"public_key" : "",
|
||||
"ssl_certificate" : ""
|
||||
},
|
||||
"model" : "saml.libertyprovider",
|
||||
"pk" : 8
|
||||
},
|
||||
{ "fields" : { "attribute_policy" : null,
|
||||
"enable_following_attribute_policy" : false,
|
||||
"enable_following_sp_options_policy" : false,
|
||||
"enabled" : true,
|
||||
"policy" : 1,
|
||||
"sp_options_policy" : null
|
||||
},
|
||||
"model" : "saml.libertyserviceprovider",
|
||||
"pk" : 2
|
||||
},
|
||||
{ "fields" : { "attribute_policy" : null,
|
||||
"enable_following_attribute_policy" : false,
|
||||
"enable_following_sp_options_policy" : false,
|
||||
"enabled" : true,
|
||||
"policy" : 2,
|
||||
"sp_options_policy" : null
|
||||
},
|
||||
"model" : "saml.libertyserviceprovider",
|
||||
"pk" : 3
|
||||
},
|
||||
{ "fields" : { "attribute_policy" : null,
|
||||
"enable_following_attribute_policy" : false,
|
||||
"enable_following_sp_options_policy" : false,
|
||||
"enabled" : true,
|
||||
"policy" : 2,
|
||||
"sp_options_policy" : null
|
||||
},
|
||||
"model" : "saml.libertyserviceprovider",
|
||||
"pk" : 8
|
||||
},
|
||||
{ "fields" : { "name" : "USER_PROFILE",
|
||||
"namespace" : "Default"
|
||||
},
|
||||
"model" : "attribute_aggregator.attributesource",
|
||||
"pk" : 1
|
||||
}
|
||||
]
|
|
@ -1,295 +0,0 @@
|
|||
[ { "fields" : { "attribute_name" : "uid",
|
||||
"output_name_format" : "urn:oasis:names:tc:SAML:2.0:attrname-format:basic",
|
||||
"output_namespace" : "Default",
|
||||
"required" : true,
|
||||
"source" : 1
|
||||
},
|
||||
"model" : "idp.attributeitem",
|
||||
"pk" : 2
|
||||
},
|
||||
{ "fields" : { "attribute_name" : "email",
|
||||
"output_name_format" : "urn:oasis:names:tc:SAML:2.0:attrname-format:basic",
|
||||
"output_namespace" : "Default",
|
||||
"required" : true,
|
||||
"source" : 1
|
||||
},
|
||||
"model" : "idp.attributeitem",
|
||||
"pk" : 3
|
||||
},
|
||||
{ "fields" : { "attribute_name" : "gn",
|
||||
"output_name_format" : "urn:oasis:names:tc:SAML:2.0:attrname-format:basic",
|
||||
"output_namespace" : "Default",
|
||||
"required" : true,
|
||||
"source" : 1
|
||||
},
|
||||
"model" : "idp.attributeitem",
|
||||
"pk" : 4
|
||||
},
|
||||
{ "fields" : { "attribute_name" : "sn",
|
||||
"output_name_format" : "urn:oasis:names:tc:SAML:2.0:attrname-format:basic",
|
||||
"output_namespace" : "Default",
|
||||
"required" : false,
|
||||
"source" : 1
|
||||
},
|
||||
"model" : "idp.attributeitem",
|
||||
"pk" : 5
|
||||
},
|
||||
{ "fields" : { "attribute_name" : "telephoneNumber",
|
||||
"output_name_format" : "urn:oasis:names:tc:SAML:2.0:attrname-format:basic",
|
||||
"output_namespace" : "Default",
|
||||
"required" : false,
|
||||
"source" : 1
|
||||
},
|
||||
"model" : "idp.attributeitem",
|
||||
"pk" : 7
|
||||
},
|
||||
{ "fields" : { "attribute_name" : "postalCode",
|
||||
"output_name_format" : "urn:oasis:names:tc:SAML:2.0:attrname-format:basic",
|
||||
"output_namespace" : "Default",
|
||||
"required" : false,
|
||||
"source" : 1
|
||||
},
|
||||
"model" : "idp.attributeitem",
|
||||
"pk" : 8
|
||||
},
|
||||
{ "fields" : { "attribute_name" : "street",
|
||||
"output_name_format" : "urn:oasis:names:tc:SAML:2.0:attrname-format:basic",
|
||||
"output_namespace" : "Default",
|
||||
"required" : false,
|
||||
"source" : 1
|
||||
},
|
||||
"model" : "idp.attributeitem",
|
||||
"pk" : 9
|
||||
},
|
||||
{ "fields" : { "attribute_name" : "personalTitle",
|
||||
"output_name_format" : "urn:oasis:names:tc:SAML:2.0:attrname-format:basic",
|
||||
"output_namespace" : "Default",
|
||||
"required" : false,
|
||||
"source" : 1
|
||||
},
|
||||
"model" : "idp.attributeitem",
|
||||
"pk" : 10
|
||||
},
|
||||
{ "fields" : { "attribute_name" : "l",
|
||||
"output_name_format" : "urn:oasis:names:tc:SAML:2.0:attrname-format:basic",
|
||||
"output_namespace" : "Default",
|
||||
"required" : false,
|
||||
"source" : 1
|
||||
},
|
||||
"model" : "idp.attributeitem",
|
||||
"pk" : 11
|
||||
},
|
||||
{ "fields" : { "attribute_name" : "mobile",
|
||||
"output_name_format" : "urn:oasis:names:tc:SAML:2.0:attrname-format:basic",
|
||||
"output_namespace" : "Default",
|
||||
"required" : false,
|
||||
"source" : 1
|
||||
},
|
||||
"model" : "idp.attributeitem",
|
||||
"pk" : 12
|
||||
},
|
||||
{ "fields" : { "attribute_name" : "role",
|
||||
"output_name_format" : "urn:oasis:names:tc:SAML:2.0:attrname-format:basic",
|
||||
"output_namespace" : "Default",
|
||||
"required" : false,
|
||||
"source" : 1
|
||||
},
|
||||
"model" : "idp.attributeitem",
|
||||
"pk" : 13
|
||||
},
|
||||
{ "fields" : { "attributes" : [ 2,
|
||||
3,
|
||||
4,
|
||||
5,
|
||||
7,
|
||||
8,
|
||||
9,
|
||||
10,
|
||||
11,
|
||||
12,
|
||||
13
|
||||
],
|
||||
"name" : "Profile"
|
||||
},
|
||||
"model" : "idp.attributelist",
|
||||
"pk" : 1
|
||||
},
|
||||
{ "fields" : { "allow_attributes_selection" : false,
|
||||
"ask_consent_attributes" : false,
|
||||
"attribute_filter_for_sso_from_push_sources" : null,
|
||||
"attribute_list_for_sso_from_pull_sources" : 1,
|
||||
"enabled" : true,
|
||||
"filter_source_of_filtered_attributes" : false,
|
||||
"forward_attributes_from_push_sources" : false,
|
||||
"map_attributes_from_push_sources" : false,
|
||||
"map_attributes_of_filtered_attributes" : false,
|
||||
"name" : "Default",
|
||||
"output_name_format" : "urn:oasis:names:tc:SAML:2.0:attrname-format:uri",
|
||||
"output_namespace" : "Default",
|
||||
"send_error_and_no_attrs_if_missing_required_attrs" : false,
|
||||
"source_filter_for_sso_from_push_sources" : [ ]
|
||||
},
|
||||
"model" : "idp.attributepolicy",
|
||||
"pk" : 1
|
||||
},
|
||||
{ "fields" : { "authn_request_signature_check_hint" : 0,
|
||||
"name" : "Default"
|
||||
},
|
||||
"model" : "saml.libertyproviderpolicy",
|
||||
"pk" : 1
|
||||
},
|
||||
{ "fields" : { "authn_request_signature_check_hint" : 2,
|
||||
"name" : "Shibboleth SP"
|
||||
},
|
||||
"model" : "saml.libertyproviderpolicy",
|
||||
"pk" : 2
|
||||
},
|
||||
{ "fields" : { "accept_slo" : true,
|
||||
"allow_create" : true,
|
||||
"back_url" : "/",
|
||||
"binding_for_sso_response" : "urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Artifact",
|
||||
"enable_binding_for_sso_response" : false,
|
||||
"enable_http_method_for_defederation_request" : false,
|
||||
"enable_http_method_for_slo_request" : true,
|
||||
"enabled" : true,
|
||||
"force_user_consent" : false,
|
||||
"forward_slo" : true,
|
||||
"handle_persistent" : "AUTHSAML2_UNAUTH_PERSISTENT_ACCOUNT_LINKING_BY_AUTH",
|
||||
"handle_transient" : "AUTHSAML2_UNAUTH_TRANSIENT_ASK_AUTH",
|
||||
"http_method_for_defederation_request" : 5,
|
||||
"http_method_for_slo_request" : 5,
|
||||
"name" : "Default",
|
||||
"no_nameid_policy" : false,
|
||||
"requested_name_id_format" : "persistent",
|
||||
"transient_is_persistent" : false,
|
||||
"want_authn_request_signed" : false,
|
||||
"want_force_authn_request" : false,
|
||||
"want_is_passive_authn_request" : false
|
||||
},
|
||||
"model" : "saml.idpoptionssppolicy",
|
||||
"pk" : 1
|
||||
},
|
||||
{ "fields" : { "accept_slo" : true,
|
||||
"accepted_name_id_format" : "[u'[u\\'[u\"[u\\\\\\'transient\\\\\\'\"\\'', u' u\\' u\" u\\\\\\'persistent\\\\\\'\"\\'', u' u\\' u\" u\\\\\\'email\\\\\\']\"]\\']']",
|
||||
"ask_user_consent" : false,
|
||||
"authn_request_signed" : false,
|
||||
"default_name_id_format" : "persistent",
|
||||
"enabled" : true,
|
||||
"encrypt_assertion" : false,
|
||||
"encrypt_nameid" : false,
|
||||
"forward_slo" : true,
|
||||
"idp_initiated_sso" : true,
|
||||
"name" : "Default",
|
||||
"prefered_assertion_consumer_binding" : "meta"
|
||||
},
|
||||
"model" : "saml.spoptionsidppolicy",
|
||||
"pk" : 1
|
||||
},
|
||||
{ "fields" : { "accept_slo" : true,
|
||||
"accepted_name_id_format" : "[u'[u\"[u\\'\\']\"]']",
|
||||
"ask_user_consent" : true,
|
||||
"authn_request_signed" : false,
|
||||
"default_name_id_format" : "persistent",
|
||||
"enabled" : true,
|
||||
"encrypt_assertion" : false,
|
||||
"encrypt_nameid" : false,
|
||||
"forward_slo" : true,
|
||||
"idp_initiated_sso" : true,
|
||||
"name" : "Consentement",
|
||||
"prefered_assertion_consumer_binding" : "meta"
|
||||
},
|
||||
"model" : "saml.spoptionsidppolicy",
|
||||
"pk" : 2
|
||||
},
|
||||
{ "fields" : { "accept_slo" : true,
|
||||
"accepted_name_id_format" : "[u'[u\"[u\\'\\']\"]']",
|
||||
"ask_user_consent" : false,
|
||||
"authn_request_signed" : false,
|
||||
"default_name_id_format" : "none",
|
||||
"enabled" : true,
|
||||
"encrypt_assertion" : false,
|
||||
"encrypt_nameid" : false,
|
||||
"forward_slo" : true,
|
||||
"idp_initiated_sso" : false,
|
||||
"name" : "Hide",
|
||||
"prefered_assertion_consumer_binding" : "meta"
|
||||
},
|
||||
"model" : "saml.spoptionsidppolicy",
|
||||
"pk" : 3
|
||||
},
|
||||
{ "fields" : { "ca_cert_chain" : "",
|
||||
"entity_id" : "https://eservices-test-entrouvert.montpellier-agglo.com/saml/metadata",
|
||||
"entity_id_sha1" : "5540b0b614a7f5d0f9583b43495d1e9508b52000",
|
||||
"federation_source" : null,
|
||||
"metadata" : "<?xml version=\"1.0\"?>\n<EntityDescriptor xmlns=\"urn:oasis:names:tc:SAML:2.0:metadata\"\n xmlns:saml=\"urn:oasis:names:tc:SAML:2.0:assertion\"\n xmlns:ds=\"http://www.w3.org/2000/09/xmldsig#\"\n entityID=\"https://eservices-test-entrouvert.montpellier-agglo.com/saml/metadata\">\n <SPSSODescriptor\n AuthnRequestsSigned=\"true\" WantAssertionsSigned=\"true\"\n protocolSupportEnumeration=\"urn:oasis:names:tc:SAML:2.0:protocol\">\n <KeyDescriptor use=\"signing\">\n <ds:KeyInfo xmlns:ds=\"http://www.w3.org/2000/09/xmldsig#\">\n <KeyValue xmlns=\"http://www.w3.org/2000/09/xmldsig#\">\n <RSAKeyValue>\n <Modulus>nJpkBznHNbvE+RAC6mU+NPQnIWs8gFNCm6I3FPcUKYpaJbXaurJ4cJgvnaEiqIXPQDcbHxuLeCbYbId9yascWZirvQbh8d/r+Vv+24bPG++9gW+i3Nnz1VW8V+z0b+puHWvM/FjJjBNJgWkI38gaupz47U6/02CtWx00stitiwk=</Modulus>\n <Exponent>AQAB</Exponent>\n </RSAKeyValue>\n</KeyValue>\n </ds:KeyInfo>\n </KeyDescriptor>\n <KeyDescriptor use=\"encryption\">\n <ds:KeyInfo xmlns:ds=\"http://www.w3.org/2000/09/xmldsig#\">\n <KeyValue xmlns=\"http://www.w3.org/2000/09/xmldsig#\">\n <RSAKeyValue>\n <Modulus>3BxSiAzGvY1Yuqa31L7Zr2WHM/8cn5oX+Q6A2SYgzjuvAgnWyizN8YgW/fHR4G7MtkmZ5RFJLXfcSLwbUfpFHV6KO1ikbgViYuFempM+SWtjqEI7ribm9GaI5kUzHJZBrH3/Q9XAd9/GLLALxurGjbKDeLfc0D+7el26g4sYmA8=</Modulus>\n <Exponent>AQAB</Exponent>\n </RSAKeyValue>\n</KeyValue>\n </ds:KeyInfo>\n </KeyDescriptor>\n\n <SingleLogoutService\n Binding=\"urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Redirect\"\n Location=\"https://eservices-test-entrouvert.montpellier-agglo.com/saml/singleLogout\"\n ResponseLocation=\"https://eservices-test-entrouvert.montpellier-agglo.com/saml/singleLogoutReturn\" />\n <SingleLogoutService\n Binding=\"urn:oasis:names:tc:SAML:2.0:bindings:SOAP\"\n Location=\"https://eservices-test-entrouvert.montpellier-agglo.com/saml/singleLogoutSOAP\" />\n <ManageNameIDService\n Binding=\"urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Redirect\"\n Location=\"https://eservices-test-entrouvert.montpellier-agglo.com/saml/manageNameId\"\n ResponseLocation=\"https://eservices-test-entrouvert.montpellier-agglo.com/saml/manageNameIdReturn\" />\n <ManageNameIDService\n Binding=\"urn:oasis:names:tc:SAML:2.0:bindings:SOAP\"\n Location=\"https://eservices-test-entrouvert.montpellier-agglo.com/saml/manageNameIdSOAP\" />\n <AssertionConsumerService isDefault=\"true\" index=\"0\"\n Binding=\"urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Artifact\"\n Location=\"https://eservices-test-entrouvert.montpellier-agglo.com/saml/assertionConsumerArtifact\" />\n <AssertionConsumerService index=\"1\"\n Binding=\"urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST\"\n Location=\"https://eservices-test-entrouvert.montpellier-agglo.com/saml/assertionConsumerPost\" />\n <AssertionConsumerService index=\"2\"\n Binding=\"urn:oasis:names:tc:SAML:2.0:bindings:PAOS\"\n Location=\"https://eservices-test-entrouvert.montpellier-agglo.com/saml/assertionConsumerSOAP\" />\n <AssertionConsumerService index=\"3\"\n Binding=\"urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Redirect\"\n Location=\"https://eservices-test-entrouvert.montpellier-agglo.com/saml/assertionConsumerRedirect\" />\n </SPSSODescriptor>\n\n\n</EntityDescriptor>",
|
||||
"name" : "Eservices",
|
||||
"protocol_conformance" : 3,
|
||||
"public_key" : "",
|
||||
"ssl_certificate" : ""
|
||||
},
|
||||
"model" : "saml.libertyprovider",
|
||||
"pk" : 2
|
||||
},
|
||||
{ "fields" : { "ca_cert_chain" : "",
|
||||
"entity_id" : "http://www-test.entrouvert.montpellier-agglo.com/simplesamlphp/module.php/saml/sp/metadata.php/default-sp",
|
||||
"entity_id_sha1" : "f7b6634ad4fd5af01a09f2ff9d24b93eed5985e3",
|
||||
"federation_source" : null,
|
||||
"metadata" : "<md:EntityDescriptor xmlns:md=\"urn:oasis:names:tc:SAML:2.0:metadata\" entityID=\"http://www-test.entrouvert.montpellier-agglo.com/simplesamlphp/module.php/saml/sp/metadata.php/default-sp\">\r\n <md:SPSSODescriptor protocolSupportEnumeration=\"urn:oasis:names:tc:SAML:1.1:protocol urn:oasis:names:tc:SAML:2.0:protocol\">\r\n <md:SingleLogoutService Binding=\"urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Redirect\" Location=\"http://www-test.entrouvert.montpellier-agglo.com/simplesamlphp/module.php/saml/sp/saml2-logout.php/default-sp\"/>\r\n <md:AssertionConsumerService Binding=\"urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST\" Location=\"http://www-test.entrouvert.montpellier-agglo.com/simplesamlphp/module.php/saml/sp/saml2-acs.php/default-sp\" index=\"0\"/>\r\n <md:AssertionConsumerService Binding=\"urn:oasis:names:tc:SAML:1.0:profiles:browser-post\" Location=\"http://www-test.entrouvert.montpellier-agglo.com/simplesamlphp/module.php/saml/sp/saml1-acs.php/default-sp\" index=\"1\"/>\r\n <md:AssertionConsumerService Binding=\"urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Artifact\" Location=\"http://www-test.entrouvert.montpellier-agglo.com/simplesamlphp/module.php/saml/sp/saml2-acs.php/default-sp\" index=\"2\"/>\r\n <md:AssertionConsumerService Binding=\"urn:oasis:names:tc:SAML:1.0:profiles:artifact-01\" Location=\"http://www-test.entrouvert.montpellier-agglo.com/simplesamlphp/module.php/saml/sp/saml1-acs.php/default-sp/artifact\" index=\"3\"/>\r\n <md:AssertionConsumerService Binding=\"urn:oasis:names:tc:SAML:2.0:profiles:holder-of-key:SSO:browser\" Location=\"http://www-test.entrouvert.montpellier-agglo.com/simplesamlphp/module.php/saml/sp/saml2-acs.php/default-sp\" index=\"4\"/>\r\n </md:SPSSODescriptor>\r\n <md:ContactPerson contactType=\"technical\">\r\n <md:GivenName>Administrator</md:GivenName>\r\n <md:EmailAddress>na@example.org</md:EmailAddress>\r\n </md:ContactPerson>\r\n</md:EntityDescriptor>",
|
||||
"name" : "Site Web de l'agglomération",
|
||||
"protocol_conformance" : 3,
|
||||
"public_key" : "",
|
||||
"ssl_certificate" : ""
|
||||
},
|
||||
"model" : "saml.libertyprovider",
|
||||
"pk" : 3
|
||||
},
|
||||
{ "fields" : { "ca_cert_chain" : "",
|
||||
"entity_id" : "https://test-commune-montpellier.entrouvert.org/saml/metadata",
|
||||
"entity_id_sha1" : "5da4d3fc93c3dd23a2974c626db5de98c2270a9c",
|
||||
"federation_source" : null,
|
||||
"metadata" : "<?xml version=\"1.0\"?>\r\n<EntityDescriptor xmlns=\"urn:oasis:names:tc:SAML:2.0:metadata\"\r\n xmlns:saml=\"urn:oasis:names:tc:SAML:2.0:assertion\"\r\n xmlns:ds=\"http://www.w3.org/2000/09/xmldsig#\"\r\n entityID=\"https://test-commune-montpellier.entrouvert.org/saml/metadata\">\r\n<SPSSODescriptor\r\n AuthnRequestsSigned=\"true\"\r\n protocolSupportEnumeration=\"urn:oasis:names:tc:SAML:2.0:protocol\">\r\n<KeyDescriptor use=\"signing\">\r\n <ds:KeyInfo xmlns:ds=\"http://www.w3.org/2000/09/xmldsig#\">\r\n <ds:X509Data><ds:X509Certificate>-----BEGIN CERTIFICATE-----\r\nMIIEQTCCAiugAwIBAgIUBwAAAAAAAAAAAAAAAAAAAAAAAAAwCwYJKoZIhvcNAQEF\r\nMIGJMQswCQYDVQQGEwJGUjEOMAwGA1UEBxMFUGFyaXMxFDASBgNVBAoTC0VudHIn\r\nT3V2ZXJ0MSMwIQYDVQQLDBpBdXRvcml0w6kgZGUgY2VydGlmaWNhdGlvbjEvMC0G\r\nA1UEAwwmRW50cidPdXZlcnQgQXV0b3JpdMOpIGRlIENlcnRpZmljYXRpb24wHhcN\r\nMDkwMTIwMDk1NDA0WhcNMTQwMTIwMDg1NDA0WjCBkjELMAkGA1UEBhMCRlIxIjAg\r\nBgNVBAoTGUNlbnRyZSBkZSBHZXN0aW9uIGR1IE5vcmQxFjAUBgNVBAsTDVByb2pl\r\ndCBQckB0aWMxRzBFBgNVBAMTPkNlcnRpZmljYXQgQ29tbXVuIHBvdXIgc2l0ZSB3\r\nY3MgZGUgdGVsZWZvcm11bGFpcmVzLnByYXRpYzU5LmZyMIGcMAsGCSqGSIb3DQEB\r\nAQOBjAAwgYgCgYC/ZvDd3Dq1IdK62vAza9pZidh+YT+j6/9jx1gb9TAIktJRXt3A\r\nD98iAJ1CuolA4QqJyxJQBi0R5wfmWlwR8DP7GE4hl7FB+01yqOvt6b+aX563qXgU\r\nE2wW7D34zZOdCOJAXKsKbklS62bDyNhNKQy32WIQZznJD7oPan5taVd9owIDAQAB\r\noyEwHzAMBgNVHRMBAf8EAjAAMA8GA1UdDwEB/wQFAwMHuAAwCwYJKoZIhvcNAQEF\r\nA4ICAQAFss/AtkkWDUVq7/bqkBb/K5zT9pO5XnCqDEl4dj84dhwrAVUYJqnHBxq6\r\n8W6+u/PC9xCBmXDkT4mLhEq2wEGAcB80PAi8eFWCEB+hRvLJAuHpLdiJMar2/hak\r\n3RSDWMiHr8o2aC4M05YyNCsi62O5GXxL2cpWAALiusUTuPCG5QwPykPNWsZpoJ0D\r\n0Ttim5dy94BQULiBGUr6yPid5pCzsHZjLKJZx/ZdFF26wsZcqdp+DVPGsitb+zei\r\nNvNep5SCb7K9ODDVTiBPDKIb2TxFIEM4UT664YPpmWwu3tVqFUzbGaoSkmZn2rwc\r\nygKQVvmHfcIZ7wD5yCtkdDxFcmMnKPA+H1Ef9JFul1OBgTjIL6RUtzXrFtKqwa6d\r\n83NvjaaAlioqv5uDkPEptF8CDidniPQ5tEYhysJ3L8I0lD4gT80LIlTuCWEjO85z\r\nnXqqw8qVSHkk89Knvydn0w7311a2mGFAiH6BvMgxf/JfZE18i8XcEVZoTOf282rO\r\n16Rf6fPz/WQLw0uRH1z4b6n83+HIBipxTbbF3p0q0CXeA3lw1WPCP4bCHjz46dxT\r\nEp07KHZVIRkTbT8Y4Hizy/dHLuE9xiWrz9wJQHU37eqdrahEvpfDiamER61wwz6r\r\n7cO08dlYUqGU9OuG2MStaZJkU+bS4k9rpH9ozh8n+INDtFOFQA==\r\n-----END CERTIFICATE-----\r\n</ds:X509Certificate></ds:X509Data>\r\n </ds:KeyInfo>\r\n </KeyDescriptor>\r\n\r\n\r\n <SingleLogoutService\r\n Binding=\"urn:oasis:names:tc:SAML:2.0:bindings:SOAP\"\r\n Location=\"https://test-commune-montpellier.entrouvert.org/saml/singleLogoutSOAP\" />\r\n <SingleLogoutService\r\n Binding=\"urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Redirect\"\r\n Location=\"https://test-commune-montpellier.entrouvert.org/saml/singleLogout\"\r\n ResponseLocation=\"https://test-commune-montpellier.entrouvert.org/saml/singleLogoutReturn\" />\r\n <ManageNameIDService\r\n Binding=\"urn:oasis:names:tc:SAML:2.0:bindings:SOAP\"\r\n Location=\"https://test-commune-montpellier.entrouvert.org/saml/manageNameIdSOAP\" />\r\n <ManageNameIDService\r\n Binding=\"urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Redirect\"\r\n Location=\"https://test-commune-montpellier.entrouvert.org/saml/manageNameId\"\r\n ResponseLocation=\"https://test-commune-montpellier.entrouvert.org/saml/manageNameIdReturn\" />\r\n <AssertionConsumerService isDefault=\"true\" index=\"0\"\r\n Binding=\"urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Artifact\"\r\n Location=\"https://test-commune-montpellier.entrouvert.org/saml/singleSignOnArtifact\" />\r\n <AssertionConsumerService index=\"1\"\r\n Binding=\"urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST\"\r\n Location=\"https://test-commune-montpellier.entrouvert.org/saml/singleSignOnPost\" />\r\n <AssertionConsumerService index=\"2\"\r\n Binding=\"urn:oasis:names:tc:SAML:2.0:bindings:PAOS\"\r\n Location=\"https://test-commune-montpellier.entrouvert.org/saml/singleSignOnSOAP\" />\r\n <AssertionConsumerService index=\"3\"\r\n Binding=\"urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Redirect\"\r\n Location=\"https://test-commune-montpellier.entrouvert.org/saml/singleSignOnRedirect\" />\r\n</SPSSODescriptor>\r\n</EntityDescriptor>\r\n",
|
||||
"name" : "Test commune",
|
||||
"protocol_conformance" : 3,
|
||||
"public_key" : "",
|
||||
"ssl_certificate" : ""
|
||||
},
|
||||
"model" : "saml.libertyprovider",
|
||||
"pk" : 8
|
||||
},
|
||||
{ "fields" : { "attribute_policy" : null,
|
||||
"enable_following_attribute_policy" : false,
|
||||
"enable_following_sp_options_policy" : false,
|
||||
"enabled" : true,
|
||||
"policy" : 1,
|
||||
"sp_options_policy" : null
|
||||
},
|
||||
"model" : "saml.libertyserviceprovider",
|
||||
"pk" : 2
|
||||
},
|
||||
{ "fields" : { "attribute_policy" : null,
|
||||
"enable_following_attribute_policy" : false,
|
||||
"enable_following_sp_options_policy" : false,
|
||||
"enabled" : true,
|
||||
"policy" : 2,
|
||||
"sp_options_policy" : null
|
||||
},
|
||||
"model" : "saml.libertyserviceprovider",
|
||||
"pk" : 3
|
||||
},
|
||||
{ "fields" : { "attribute_policy" : null,
|
||||
"enable_following_attribute_policy" : false,
|
||||
"enable_following_sp_options_policy" : false,
|
||||
"enabled" : true,
|
||||
"policy" : 2,
|
||||
"sp_options_policy" : null
|
||||
},
|
||||
"model" : "saml.libertyserviceprovider",
|
||||
"pk" : 8
|
||||
},
|
||||
{ "fields" : { "name" : "USER_PROFILE",
|
||||
"namespace" : "Default"
|
||||
},
|
||||
"model" : "attribute_aggregator.attributesource",
|
||||
"pk" : 1
|
||||
}
|
||||
]
|
|
@ -1,25 +0,0 @@
|
|||
[ { "fields" : { "address" : "4 rue Jean Moulin",
|
||||
"backend" : "",
|
||||
"backend_id" : "",
|
||||
"city" : "Montpellier",
|
||||
"date_joined" : "2013-03-12T14:27:45",
|
||||
"email" : "pcros+admin@entrouvert.com",
|
||||
"first_name" : "Administrator",
|
||||
"groups" : [ 6 ],
|
||||
"is_active" : true,
|
||||
"is_staff" : true,
|
||||
"is_superuser" : true,
|
||||
"last_login" : "2013-06-26T22:27:10.036",
|
||||
"last_name" : "Admin",
|
||||
"mobile" : "0630692893",
|
||||
"password" : "pbkdf2_sha256$10000$IOQGUjVQffV3$ccZh+rZg0uf2WPiq/1/OmEZNJZWvdwyvGsDjppgn/YU=",
|
||||
"phone" : "",
|
||||
"postal_code" : "34000",
|
||||
"title" : "Monsieur",
|
||||
"user_permissions" : [ ],
|
||||
"username" : "admin"
|
||||
},
|
||||
"model" : "portail_citoyen.citoyen",
|
||||
"pk" : 1
|
||||
}
|
||||
]
|
|
@ -1 +0,0 @@
|
|||
[]
|
|
@ -1,19 +0,0 @@
|
|||
import re
|
||||
from django import forms
|
||||
from django.utils.translation import ugettext_lazy as _
|
||||
|
||||
|
||||
from authentic2.forms import UserProfileForm as Authentic2UserProfileForm
|
||||
|
||||
|
||||
class UserProfileForm(Authentic2UserProfileForm):
|
||||
def __init__(self, *args, **kwargs):
|
||||
super(UserProfileForm, self).__init__(*args, **kwargs)
|
||||
self.fields['phone'].help_text = None
|
||||
self.fields['mobile'].help_text = None
|
||||
|
||||
class Meta(Authentic2UserProfileForm.Meta):
|
||||
widgets = {
|
||||
'phone': forms.TextInput(attrs={'placeholder': _('such as 0499999999')}),
|
||||
'mobile': forms.TextInput(attrs={'placeholder': _('such as 0499999999')}),
|
||||
}
|
|
@ -1,195 +0,0 @@
|
|||
# Translation file of compte-agglo-montpellier
|
||||
# Copyright (C) 2013 Entr'ouvert
|
||||
# This file is distributed under the same license as the PACKAGE package.
|
||||
# Benjamin Dauvergne <bdauvergne@entrouvert.com>, 2013.
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: compte-agglo-montpellier 1.0\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2013-07-31 17:27+0200\n"
|
||||
"PO-Revision-Date: 2013-07-31 17:29+0200\n"
|
||||
"Last-Translator: Benjamin Dauvergne <bdauvergne@entrouvert.com>\n"
|
||||
"Language: \n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n > 1);\n"
|
||||
|
||||
#: dashboard.py:25
|
||||
msgid "Users and roles"
|
||||
msgstr "Utilisateurs et rôles"
|
||||
|
||||
#: dashboard.py:30
|
||||
msgid "Services"
|
||||
msgstr ""
|
||||
|
||||
#: dashboard.py:43
|
||||
msgid "Contents"
|
||||
msgstr "Contenus"
|
||||
|
||||
#: dashboard.py:52
|
||||
msgid "Announces"
|
||||
msgstr "Annonces"
|
||||
|
||||
#: dashboard.py:59 dashboard.py:94
|
||||
msgid "Recent Actions"
|
||||
msgstr "Actions récentes"
|
||||
|
||||
#: dashboard.py:63
|
||||
msgid "Support"
|
||||
msgstr ""
|
||||
|
||||
#: dashboard.py:66
|
||||
msgid "Project site"
|
||||
msgstr "Site du projet"
|
||||
|
||||
#: dashboard.py:71
|
||||
msgid "Report a bug"
|
||||
msgstr "Rapporter un bogue"
|
||||
|
||||
#: forms.py:17 forms.py:18
|
||||
msgid "such as 0499999999"
|
||||
msgstr "par exemple 0499999999"
|
||||
|
||||
#: menu.py:22
|
||||
msgid "Dashboard"
|
||||
msgstr "Bureau"
|
||||
|
||||
#: registration_forms.py:19 registration_forms.py:34
|
||||
msgid ""
|
||||
"At least 8 characters, including one uppercase, one lowercase and a special "
|
||||
"character"
|
||||
msgstr ""
|
||||
"Au moins 8 caractères, comprenant une lettre majuscule, une lettre minuscule "
|
||||
"et un caractère spécial (!@#$&*)"
|
||||
|
||||
#: registration_forms.py:28 registration_forms.py:43
|
||||
msgid "invalid password"
|
||||
msgstr "Mot de passe invalide"
|
||||
|
||||
#: settings.py:40
|
||||
msgid "English"
|
||||
msgstr "Anglais"
|
||||
|
||||
#: settings.py:41
|
||||
msgid "French"
|
||||
msgstr "Français"
|
||||
|
||||
#: templates/404.html:23 templates/500.html:23 templates/base.html:23
|
||||
msgid "Logout"
|
||||
msgstr "Me déconnecter"
|
||||
|
||||
#: templates/a2_service_list_plugin/plugin.html:7
|
||||
msgid "My services"
|
||||
msgstr "Mes services"
|
||||
|
||||
#: templates/auth/login_form.html:6
|
||||
#: templates/registration/password_reset_complete.html:24
|
||||
msgid "Log in"
|
||||
msgstr "Me connecter"
|
||||
|
||||
#: templates/auth/login_form.html:8
|
||||
msgid "Cancel"
|
||||
msgstr ""
|
||||
|
||||
#: templates/auth/login_form.html:14
|
||||
msgid "Forgot password?"
|
||||
msgstr ""
|
||||
|
||||
#: templates/auth/login_form.html:14
|
||||
msgid "Reset it!"
|
||||
msgstr ""
|
||||
|
||||
#: templates/auth/login_form.html:15
|
||||
msgid "Not a member?"
|
||||
msgstr ""
|
||||
|
||||
#: templates/auth/login_form.html:15
|
||||
msgid "Register!"
|
||||
msgstr ""
|
||||
|
||||
#: templates/passerelle_register_plugin/plugin.html:26
|
||||
#: templates/profiles/edit_profile.html:12
|
||||
msgid "Modify"
|
||||
msgstr "Modifier"
|
||||
|
||||
#: templates/profiles/edit_profile.html:14
|
||||
msgid "Create"
|
||||
msgstr ""
|
||||
|
||||
#: templates/profiles/edit_profile.html:22
|
||||
msgid "My account"
|
||||
msgstr "Mon compte"
|
||||
|
||||
#: templates/profiles/edit_profile.html:23
|
||||
#: templates/registration/password_change_form.html:18
|
||||
msgid "Change password"
|
||||
msgstr "Changer de mot de passe"
|
||||
|
||||
#: templates/profiles/edit_profile.html:24
|
||||
msgid "Delete account"
|
||||
msgstr "Supprimer mon compte"
|
||||
|
||||
#: templates/registration/activation_complete.html:16
|
||||
msgid "Your account is now activated"
|
||||
msgstr "Votre compte est maintenant activé"
|
||||
|
||||
#: templates/registration/activation_complete.html:18
|
||||
#: templates/registration/delete_account.html:26
|
||||
#: templates/registration/logout.html:17
|
||||
#: templates/registration/password_change_form.html:34
|
||||
#: templates/registration/password_reset_confirm.html:37
|
||||
#: templates/registration/password_reset_done.html:21
|
||||
#: templates/registration/password_reset_form.html:34
|
||||
#: templates/registration/registration_complete.html:18
|
||||
msgid "Back"
|
||||
msgstr "Retour"
|
||||
|
||||
#: templates/registration/delete_account.html:25
|
||||
msgid "Confirm"
|
||||
msgstr "Confirmer"
|
||||
|
||||
#: templates/registration/logout.html:9
|
||||
msgid "Logging out"
|
||||
msgstr "Déconnexion"
|
||||
|
||||
#: templates/registration/logout.html:16
|
||||
msgid "Logged out"
|
||||
msgstr "Déconnexion"
|
||||
|
||||
#: templates/registration/password_change_form.html:33
|
||||
#: templates/registration/password_reset_confirm.html:36
|
||||
#: templates/registration/password_reset_form.html:33
|
||||
msgid "Submit"
|
||||
msgstr "Soumettre"
|
||||
|
||||
#: templates/registration/password_reset_complete.html:17
|
||||
msgid "Password reset successfully"
|
||||
msgstr ""
|
||||
|
||||
#: templates/registration/password_reset_confirm.html:20
|
||||
#: templates/registration/password_reset_done.html:18
|
||||
#: templates/registration/password_reset_form.html:18
|
||||
msgid "Resetting password"
|
||||
msgstr ""
|
||||
|
||||
#: templates/registration/password_reset_confirm.html:46
|
||||
msgid "Password reset failed"
|
||||
msgstr ""
|
||||
|
||||
#: templates/registration/password_reset_done.html:20
|
||||
msgid "Email with password reset instructions has been sent."
|
||||
msgstr ""
|
||||
|
||||
#: templates/registration/registration_complete.html:16
|
||||
msgid "Successful registration"
|
||||
msgstr ""
|
||||
|
||||
#: templates/registration/registration_complete.html:17
|
||||
msgid "You are now registered. Activation email sent."
|
||||
msgstr ""
|
||||
|
||||
#: templates/registration/registration_form.html:9
|
||||
msgid "Registration"
|
||||
msgstr ""
|
|
@ -1,30 +0,0 @@
|
|||
"""
|
||||
This file was generated with the custommenu management command, it contains
|
||||
the classes for the admin menu, you can customize this class as you want.
|
||||
|
||||
To activate your custom menu add the following to your settings.py::
|
||||
ADMIN_TOOLS_MENU = 'authentic2.menu.CustomMenu'
|
||||
"""
|
||||
|
||||
from django.core.urlresolvers import reverse
|
||||
from django.utils.translation import ugettext_lazy as _
|
||||
|
||||
from admin_tools.menu import items, Menu
|
||||
|
||||
|
||||
class CustomMenu(Menu):
|
||||
"""
|
||||
Custom Menu for authentic2 admin site.
|
||||
"""
|
||||
def __init__(self, **kwargs):
|
||||
Menu.__init__(self, **kwargs)
|
||||
self.children += [
|
||||
items.MenuItem(_('Dashboard'), reverse('admin:index')),
|
||||
items.Bookmarks(),
|
||||
]
|
||||
|
||||
def init_with_context(self, context):
|
||||
"""
|
||||
Use this method if you need to access the request context.
|
||||
"""
|
||||
return super(CustomMenu, self).init_with_context(context)
|
|
@ -1,50 +0,0 @@
|
|||
import re
|
||||
|
||||
|
||||
from django.utils.translation import ugettext_lazy as _
|
||||
from django import forms
|
||||
from django.contrib.auth.forms import SetPasswordForm as OldSetPasswordForm, \
|
||||
PasswordChangeForm as OldPasswordChangeForm
|
||||
|
||||
|
||||
from authentic2.registration_backend.forms import RegistrationForm as AuthenticRegistrationForm
|
||||
|
||||
PASSWORD_RE = re.compile(r'^(?=.*[A-Z])(?=.*[!@#$&*])(?=.*[a-z]).{8,}$')
|
||||
|
||||
class RegistrationForm(AuthenticRegistrationForm):
|
||||
# see http://dev.entrouvert.org/issues/3203
|
||||
|
||||
def __init__(self, *args, **kwargs):
|
||||
super(RegistrationForm, self).__init__(*args, **kwargs)
|
||||
self.fields['password1'].help_text = _('At least 8 characters, '
|
||||
'including one uppercase, one lowercase and a special '
|
||||
'character')
|
||||
|
||||
def clean_password1(self):
|
||||
global PASSWORD_RE
|
||||
|
||||
password = self.cleaned_data['password1']
|
||||
if not PASSWORD_RE.match(password):
|
||||
raise forms.ValidationError(_('invalid password'))
|
||||
return password
|
||||
|
||||
class SetPasswordMixin(object):
|
||||
def __init__(self, *args, **kwargs):
|
||||
super(SetPasswordMixin, self).__init__(*args, **kwargs)
|
||||
self.fields['new_password1'].help_text = _('At least 8 characters, '
|
||||
'including one uppercase, one lowercase and a special '
|
||||
'character')
|
||||
|
||||
def clean_new_password1(self):
|
||||
global PASSWORD_RE
|
||||
|
||||
password = self.cleaned_data['new_password1']
|
||||
if not PASSWORD_RE.match(password):
|
||||
raise forms.ValidationError(_('invalid password'))
|
||||
return password
|
||||
|
||||
class SetPasswordForm(SetPasswordMixin, OldSetPasswordForm):
|
||||
pass
|
||||
|
||||
class PasswordChangeForm(SetPasswordMixin, OldPasswordChangeForm):
|
||||
pass
|
|
@ -1,463 +0,0 @@
|
|||
import json
|
||||
import os
|
||||
import logging.handlers
|
||||
from django.conf.global_settings import PASSWORD_HASHERS
|
||||
|
||||
gettext_noop = lambda s: s
|
||||
# Python dotted path to the WSGI application used by Django's runserver.
|
||||
WSGI_APPLICATION = 'compte_agglo_montpellier.wsgi.application'
|
||||
DEBUG = 'DEBUG' in os.environ
|
||||
DEBUG_PROPAGATE_EXCEPTIONS = 'DEBUG_PROPAGATE_EXCEPTIONS' in os.environ
|
||||
USE_DEBUG_TOOLBAR = 'USE_DEBUG_TOOLBAR' in os.environ
|
||||
TEMPLATE_DEBUG = DEBUG
|
||||
|
||||
PROJECT_PATH = os.path.join(os.path.dirname(__file__), '..')
|
||||
PROJECT_NAME = 'compte-agglo-montpellier'
|
||||
|
||||
ADMINS = ()
|
||||
if 'ADMINS' in os.environ:
|
||||
ADMINS = filter(None, os.environ.get('ADMINS').split(':'))
|
||||
ADMINS = [ admin.split(';') for admin in ADMINS ]
|
||||
for admin in ADMINS:
|
||||
assert len(admin) == 2, 'ADMINS setting must be a colon separated list of name and emails separated by a semi-colon'
|
||||
assert '@' in admin[1], 'ADMINS setting pairs second value must be emails'
|
||||
|
||||
MANAGERS = ADMINS
|
||||
|
||||
DATABASES = {
|
||||
'default': {
|
||||
'ENGINE': os.environ.get('DATABASE_ENGINE', 'django.db.backends.sqlite3'),
|
||||
'NAME': os.environ.get('DATABASE_NAME', os.path.join(PROJECT_PATH, PROJECT_NAME + '.db')),
|
||||
}
|
||||
}
|
||||
|
||||
# Hey Entr'ouvert is in France !!
|
||||
TIME_ZONE = 'Europe/Paris'
|
||||
LANGUAGE_CODE = 'fr'
|
||||
SITE_ID = 1
|
||||
USE_I18N = True
|
||||
|
||||
LANGUAGES = (
|
||||
('en', gettext_noop('English')),
|
||||
('fr', gettext_noop('French')),
|
||||
)
|
||||
USE_L10N = True
|
||||
|
||||
# Static files
|
||||
|
||||
STATIC_ROOT = os.environ.get('STATIC_ROOT', '/var/lib/%s/static' % PROJECT_NAME)
|
||||
STATIC_URL = os.environ.get('STATIC_URL', '/static/')
|
||||
MEDIA_ROOT = os.environ.get('MEDIA_ROOT', '/var/lib/%s/media' % PROJECT_NAME)
|
||||
MEDIA_URL = os.environ.get('MEDIA_URL', '/media/')
|
||||
|
||||
if 'STATICFILES_DIRS' in os.environ:
|
||||
STATICFILES_DIRS = os.environ['STATICFILES_DIRS'].split(':')
|
||||
else:
|
||||
STATICFILES_DIRS = ('/var/lib/%s/extra-static/' % PROJECT_NAME,)
|
||||
|
||||
TEMPLATE_LOADERS = (
|
||||
'django.template.loaders.filesystem.Loader',
|
||||
'django.template.loaders.app_directories.Loader',
|
||||
)
|
||||
|
||||
TEMPLATE_CONTEXT_PROCESSORS = (
|
||||
'django.contrib.auth.context_processors.auth',
|
||||
'django.core.context_processors.debug',
|
||||
'django.core.context_processors.i18n',
|
||||
'django.core.context_processors.media',
|
||||
'django.core.context_processors.request',
|
||||
'django.contrib.messages.context_processors.messages',
|
||||
'django.core.context_processors.static',
|
||||
'authentic2.context_processors.federations_processor',
|
||||
'cms.context_processors.media',
|
||||
'sekizai.context_processors.sekizai',
|
||||
)
|
||||
|
||||
MIDDLEWARE_CLASSES = (
|
||||
'django.middleware.common.CommonMiddleware',
|
||||
'django.middleware.http.ConditionalGetMiddleware',
|
||||
'django.contrib.sessions.middleware.SessionMiddleware',
|
||||
'django.middleware.csrf.CsrfViewMiddleware',
|
||||
'django.middleware.locale.LocaleMiddleware',
|
||||
'django.contrib.auth.middleware.AuthenticationMiddleware',
|
||||
'django.contrib.messages.middleware.MessageMiddleware',
|
||||
'django.middleware.transaction.TransactionMiddleware',
|
||||
'django.middleware.clickjacking.XFrameOptionsMiddleware',
|
||||
'authentic2.idp.middleware.DebugMiddleware',
|
||||
'cms.middleware.page.CurrentPageMiddleware',
|
||||
'cms.middleware.user.CurrentUserMiddleware',
|
||||
'cms.middleware.toolbar.ToolbarMiddleware',
|
||||
'entrouvert.djommon.middleware.VersionMiddleware',
|
||||
)
|
||||
|
||||
ROOT_URLCONF = 'compte_agglo_montpellier.urls'
|
||||
|
||||
if os.environ.get('TEMPLATE_DIRS'):
|
||||
TEMPLATE_DIRS = os.environ['TEMPLATE_DIRS'].split(':')
|
||||
else:
|
||||
TEMPLATE_DIRS = ('/var/lib/%s/templates' % PROJECT_NAME,)
|
||||
|
||||
import sys
|
||||
import os
|
||||
|
||||
apps_dir = os.path.join(os.path.dirname(__file__), 'apps')
|
||||
if apps_dir not in sys.path:
|
||||
sys.path.append(apps_dir)
|
||||
import portail_citoyen # FIXME: without that sys.path does not contain portail_citoyen.apps
|
||||
|
||||
INSTALLED_APPS = (
|
||||
'compte_agglo_montpellier',
|
||||
'feed_plugin',
|
||||
'portail_citoyen_announces',
|
||||
'login_plugin',
|
||||
'data_source_plugin',
|
||||
'a2_service_list_plugin',
|
||||
'passerelle_register_plugin',
|
||||
'portail_citoyen',
|
||||
'authentic2',
|
||||
'authentic2.nonce',
|
||||
'authentic2.saml',
|
||||
'authentic2.idp',
|
||||
'authentic2.idp.saml',
|
||||
'authentic2.auth2_auth',
|
||||
'authentic2.attribute_aggregator',
|
||||
'authentic2.disco_service',
|
||||
'menus',
|
||||
'cms',
|
||||
'cms.plugins.file',
|
||||
'cms.plugins.googlemap',
|
||||
'cms.plugins.link',
|
||||
'cms.plugins.picture',
|
||||
'cms.plugins.snippet',
|
||||
'cms.plugins.teaser',
|
||||
'cms.plugins.video',
|
||||
'cmsplugin_text_wrapper',
|
||||
'admin_tools',
|
||||
'admin_tools.theming',
|
||||
'admin_tools.menu',
|
||||
'admin_tools.dashboard',
|
||||
'registration',
|
||||
'south',
|
||||
'mptt',
|
||||
'sekizai',
|
||||
'django.contrib.auth',
|
||||
'django.contrib.contenttypes',
|
||||
'django.contrib.sessions',
|
||||
'django.contrib.sites',
|
||||
'django.contrib.messages',
|
||||
'django.contrib.staticfiles',
|
||||
'django.contrib.admin',
|
||||
)
|
||||
|
||||
MESSAGE_STORAGE = 'django.contrib.messages.storage.session.SessionStorage'
|
||||
|
||||
|
||||
# Registration settings
|
||||
ACCOUNT_ACTIVATION_DAYS = int(os.environ.get('ACCOUNT_ACTIVATION_DAYS', 3))
|
||||
PASSWORD_RESET_TIMEOUT_DAYS = int(os.environ.get('PASSWORD_RESET_TIMEOUT_DAYS', 3))
|
||||
A2_REGISTRATION_FORM_CLASS = 'compte_agglo_montpellier.registration_forms.RegistrationForm'
|
||||
A2_REGISTRATION_SET_PASSWORD_FORM_CLASS = 'compte_agglo_montpellier.registration_forms.SetPasswordForm'
|
||||
A2_REGISTRATION_CHANGE_PASSWORD_FORM_CLASS = 'compte_agglo_montpellier.registration_forms.PasswordChangeForm'
|
||||
|
||||
# authentication
|
||||
AUTHENTICATION_BACKENDS = (
|
||||
'django.contrib.auth.backends.ModelBackend',
|
||||
)
|
||||
AUTH_USER_MODEL = 'portail_citoyen.Citoyen'
|
||||
PASSWORD_HASHERS += (
|
||||
'authentic2.hashers.Drupal7PasswordHasher',
|
||||
)
|
||||
|
||||
# sessions
|
||||
SESSION_EXPIRE_AT_BROWSER_CLOSE = 'SESSION_EXPIRE_AT_BROWSER_CLOSE' in os.environ
|
||||
SESSION_COOKIE_AGE = int(os.environ.get('SESSION_COOKIE_AGE', 36000)) # one day of work
|
||||
SESSION_COOKIE_NAME = os.environ.get('SESSION_COOKIE_NAME', 'sessionid')
|
||||
SESSION_COOKIE_PATH = os.environ.get('SESSION_COOKIE_PATH', '/')
|
||||
SESSION_COOKIE_SECURE = 'SESSION_COOKIE_SECURE' in os.environ
|
||||
|
||||
# email settings
|
||||
EMAIL_HOST = os.environ.get('EMAIL_HOST', 'localhost')
|
||||
EMAIL_HOST_USER = os.environ.get('EMAIL_HOST_USER', '')
|
||||
EMAIL_HOST_PASSWORD = os.environ.get('EMAIL_HOST_PASSWORD', '')
|
||||
EMAIL_PORT = int(os.environ.get('EMAIL_PORT', 25))
|
||||
EMAIL_SUBJECT_PREFIX = os.environ.get('EMAIL_SUBJECT_PREFIX', '[Compte Agglo Montpellier]')
|
||||
EMAIL_USE_TLS = 'EMAIL_USE_TLS' in os.environ
|
||||
SERVER_EMAIL = os.environ.get('SERVER_EMAIL', 'root@localhost')
|
||||
DEFAULT_FROM_EMAIL = os.environ.get('DEFAULT_FROM_EMAIL', 'e-services@montpellier-agglo.com')
|
||||
|
||||
# web & network settings
|
||||
if 'ALLOWED_HOSTS' in os.environ:
|
||||
ALLOWED_HOSTS = os.environ['ALLOWED_HOSTS'].split(':')
|
||||
USE_X_FORWARDED_HOST = 'USE_X_FORWARDED_HOST' in os.environ
|
||||
LOGIN_REDIRECT_URL = os.environ.get('LOGIN_REDIRECT_URL', '/')
|
||||
LOGIN_URL = os.environ.get('LOGIN_URL', '/login')
|
||||
LOGOUT_URL = os.environ.get('LOGOUT_URL', '/accounts/logout')
|
||||
|
||||
if 'INTERNAL_IPS' in os.environ:
|
||||
INTERNAL_IPS = os.environ['INTERNAL_IPS'].split(':')
|
||||
else:
|
||||
INTERNAL_IPS = ('127.0.0.1',)
|
||||
|
||||
# cache
|
||||
CACHES = {
|
||||
'default': {
|
||||
'BACKEND': 'django.core.cache.backends.locmem.LocMemCache',
|
||||
},
|
||||
}
|
||||
if 'CACHE_BACKEND' in os.environ:
|
||||
CACHES['default'] = json.loads(os.environ['CACHE_BACKEND'])
|
||||
|
||||
# misc
|
||||
SECRET_KEY = os.environ.get('SECRET_KEY', '0!=(1kc6kri-ui+tmj@mr+*0bvj!(p*r0duu2n=)7@!p=pvf9n')
|
||||
DEBUG_TOOLBAR_CONFIG = {'INTERCEPT_REDIRECTS': False}
|
||||
|
||||
# Authentic2 settings
|
||||
|
||||
DISCO_SERVICE = 'DISCO_SERVICE' in os.environ
|
||||
DISCO_USE_OF_METADATA = 'DISCO_USE_OF_METADATA' in os.environ
|
||||
|
||||
DISCO_SERVICE_NAME = os.environ.get('DISCO_SERVICE_NAME', "http://www.identity-hub.com/disco_service/disco")
|
||||
DISCO_RETURN_ID_PARAM = "entityID"
|
||||
SHOW_DISCO_IN_MD = 'SHOW_DISCO_IN_MD' in os.environ
|
||||
USE_DISCO_SERVICE = 'USE_DISCO_SERVICE' in os.environ
|
||||
|
||||
###########################
|
||||
# Authentication settings
|
||||
###########################
|
||||
|
||||
# Only RSA private keys are currently supported
|
||||
AUTH_FRONTENDS = ( 'authentic2.auth2_auth.backend.LoginPasswordBackend',)
|
||||
SSLAUTH_CREATE_USER = 'SSLAUTH_CREATE_USER' in os.environ
|
||||
AUTHENTICATION_EVENT_EXPIRATION = int(os.environ.get('AUTHENTICATION_EVENT_EXPIRATION', 3600*24*7))
|
||||
|
||||
#############################
|
||||
# Identity Provider settings
|
||||
#############################
|
||||
|
||||
# List of IdP backends, mainly used to show available services in the homepage
|
||||
# of user, and to handle SLO for each protocols
|
||||
IDP_BACKENDS = [ ]
|
||||
|
||||
# You MUST changes these keys, they are just for testing !
|
||||
LOCAL_METADATA_CACHE_TIMEOUT = int(os.environ.get('LOCAL_METADATA_CACHE_TIMEOUT', 600))
|
||||
SAML_SIGNATURE_PUBLIC_KEY = os.environ.get('SAML_SIGNATURE_PUBLIC_KEY', '''-----BEGIN CERTIFICATE-----
|
||||
MIIDIzCCAgugAwIBAgIJANUBoick1pDpMA0GCSqGSIb3DQEBBQUAMBUxEzARBgNV
|
||||
BAoTCkVudHJvdXZlcnQwHhcNMTAxMjE0MTUzMzAyWhcNMTEwMTEzMTUzMzAyWjAV
|
||||
MRMwEQYDVQQKEwpFbnRyb3V2ZXJ0MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIB
|
||||
CgKCAQEAvxFkfPdndlGgQPDZgFGXbrNAc/79PULZBuNdWFHDD9P5hNhZn9Kqm4Cp
|
||||
06Pe/A6u+g5wLnYvbZQcFCgfQAEzziJtb3J55OOlB7iMEI/T2AX2WzrUH8QT8NGh
|
||||
ABONKU2Gg4XiyeXNhH5R7zdHlUwcWq3ZwNbtbY0TVc+n665EbrfV/59xihSqsoFr
|
||||
kmBLH0CoepUXtAzA7WDYn8AzusIuMx3n8844pJwgxhTB7Gjuboptlz9Hri8JRdXi
|
||||
VT9OS9Wt69ubcNoM6zuKASmtm48UuGnhj8v6XwvbjKZrL9kA+xf8ziazZfvvw/VG
|
||||
Tm+IVFYB7d1x457jY5zjjXJvNysoowIDAQABo3YwdDAdBgNVHQ4EFgQUeF8ePnu0
|
||||
fcAK50iBQDgAhHkOu8kwRQYDVR0jBD4wPIAUeF8ePnu0fcAK50iBQDgAhHkOu8mh
|
||||
GaQXMBUxEzARBgNVBAoTCkVudHJvdXZlcnSCCQDVAaInJNaQ6TAMBgNVHRMEBTAD
|
||||
AQH/MA0GCSqGSIb3DQEBBQUAA4IBAQAy8l3GhUtpPHx0FxzbRHVaaUSgMwYKGPhE
|
||||
IdGhqekKUJIx8et4xpEMFBl5XQjBNq/mp5vO3SPb2h2PVSks7xWnG3cvEkqJSOeo
|
||||
fEEhkqnM45b2MH1S5uxp4i8UilPG6kmQiXU2rEUBdRk9xnRWos7epVivTSIv1Ncp
|
||||
lG6l41SXp6YgIb2ToT+rOKdIGIQuGDlzeR88fDxWEU0vEujZv/v1PE1YOV0xKjTT
|
||||
JumlBc6IViKhJeo1wiBBrVRIIkKKevHKQzteK8pWm9CYWculxT26TZ4VWzGbo06j
|
||||
o2zbumirrLLqnt1gmBDvDvlOwC/zAAyL4chbz66eQHTiIYZZvYgy
|
||||
-----END CERTIFICATE-----''')
|
||||
|
||||
SAML_SIGNATURE_PRIVATE_KEY = os.environ.get('SAML_SIGNATURE_PRIVATE_KEY', '''-----BEGIN RSA PRIVATE KEY-----
|
||||
MIIEpAIBAAKCAQEAvxFkfPdndlGgQPDZgFGXbrNAc/79PULZBuNdWFHDD9P5hNhZ
|
||||
n9Kqm4Cp06Pe/A6u+g5wLnYvbZQcFCgfQAEzziJtb3J55OOlB7iMEI/T2AX2WzrU
|
||||
H8QT8NGhABONKU2Gg4XiyeXNhH5R7zdHlUwcWq3ZwNbtbY0TVc+n665EbrfV/59x
|
||||
ihSqsoFrkmBLH0CoepUXtAzA7WDYn8AzusIuMx3n8844pJwgxhTB7Gjuboptlz9H
|
||||
ri8JRdXiVT9OS9Wt69ubcNoM6zuKASmtm48UuGnhj8v6XwvbjKZrL9kA+xf8ziaz
|
||||
Zfvvw/VGTm+IVFYB7d1x457jY5zjjXJvNysoowIDAQABAoIBAQCj8t2iKXya10HG
|
||||
V6Saaeih8aftoLBV38VwFqqjPU0+iKqDpk2JSXBhjI6s7uFIsaTNJpR2Ga1qvns1
|
||||
hJQEDMQSLhJvXfBgSkHylRWCpJentr4E3D7mnw5pRsd61Ev9U+uHcdv/WHP4K5hM
|
||||
xsdiwXNXD/RYd1Q1+6bKrCuvnNJVmWe0/RV+r3T8Ni5xdMVFbRWt/VEoE620XX6c
|
||||
a9TQPiA5i/LRVyie+js7Yv+hVjGOlArtuLs6ECQsivfPrqKLOBRWcofKdcf+4N2e
|
||||
3cieUqwzC15C31vcMliD9Hax9c1iuTt9Q3Xzo20fOSazAnQ5YBEExyTtrFBwbfQu
|
||||
ku6hp81pAoGBAN6bc6iJtk5ipYpsaY4ZlbqdjjG9KEXB6G1MExPU7SHXOhOF0cDH
|
||||
/pgMsv9hF2my863MowsOj3OryVhdQhwA6RrV263LRh+JU8NyHV71BwAIfI0BuVfj
|
||||
6r24KudwtUcvMr9pJIrJyMAMaw5ZyNoX7YqFpS6fcisSJYdSBSoxzrzVAoGBANu6
|
||||
xVeMqGavA/EHSOQP3ipDZ3mnWbkDUDxpNhgJG8Q6lZiwKwLoSceJ8z0PNY3VetGA
|
||||
RbqtqBGfR2mcxHyzeqVBpLnXZC4vs/Vy7lrzTiHDRZk2SG5EkHMSKFA53jN6S/nJ
|
||||
JWpYZC8lG8w4OHaUfDHFWbptxdGYCgY4//sjeiuXAoGBANuhurJ99R5PnA8AOgEW
|
||||
4zD1hLc0b4ir8fvshCIcAj9SUB20+afgayRv2ye3Dted1WkUL4WYPxccVhLWKITi
|
||||
rRtqB03o8m3pG3kJnUr0LIzu0px5J/o8iH3ZOJOTE3iBa+uI/KHmxygc2H+XPGFa
|
||||
HGeAxuJCNO2kAN0Losbnz5dlAoGAVsCn94gGWPxSjxA0PC7zpTYVnZdwOjbPr/pO
|
||||
LDE0cEY9GBq98JjrwEd77KibmVMm+Z4uaaT0jXiYhl8pyJ5IFwUS13juCbo1z/u/
|
||||
ldMoDvZ8/R/MexTA/1204u/mBecMJiO/jPw3GdIJ5phv2omHe1MSuSNsDfN8Sbap
|
||||
gmsgaiMCgYB/nrTk89Fp7050VKCNnIt1mHAcO9cBwDV8qrJ5O3rIVmrg1T6vn0aY
|
||||
wRiVcNacaP+BivkrMjr4BlsUM6yH4MOBsNhLURiiCL+tLJV7U0DWlCse/doWij4U
|
||||
TKX6tp6oI+7MIJE6ySZ0cBqOiydAkBePZhu57j6ToBkTa0dbHjn1WA==
|
||||
-----END RSA PRIVATE KEY-----''')
|
||||
|
||||
# Whether to autoload SAML 2.0 identity providers and services metadata
|
||||
# Only https URLS are accepted.
|
||||
# Can be none, sp, idp or both
|
||||
SAML_METADATA_AUTOLOAD = os.environ.get('SAML_METADATA_AUTOLOAD', 'none')
|
||||
|
||||
PUSH_PROFILE_UPDATES = 'PUSH_PROFILE_UPDATES' in os.environ
|
||||
|
||||
# Logging settings
|
||||
|
||||
LOGGING = {
|
||||
'version': 1,
|
||||
'disable_existing_loggers': True,
|
||||
'filters': {
|
||||
'cleaning': {
|
||||
'()': 'authentic2.utils.CleanLogMessage',
|
||||
},
|
||||
},
|
||||
'formatters': {
|
||||
'syslog': {
|
||||
'format': 'portail-citoyen(pid=%(process)d) %(levelname)s %(name)s: %(message)s',
|
||||
},
|
||||
'syslog_debug': {
|
||||
'format': 'portail-citoyen(pid=%(process)d) %(levelname)s %(asctime)s t_%(thread)s %(name)s: %(message)s',
|
||||
},
|
||||
},
|
||||
'handlers': {
|
||||
'syslog': {
|
||||
'level': 'DEBUG',
|
||||
'class': 'entrouvert.logging.handlers.SysLogHandler',
|
||||
'formatter': 'syslog_debug' if DEBUG else 'syslog',
|
||||
'facility': logging.handlers.SysLogHandler.LOG_LOCAL0,
|
||||
'address': '/dev/log',
|
||||
'max_length': 999,
|
||||
'filters': ['cleaning'],
|
||||
},
|
||||
'mail_admins': {
|
||||
'level': 'ERROR',
|
||||
'class': 'django.utils.log.AdminEmailHandler',
|
||||
'filters': ['cleaning'],
|
||||
'include_html': True,
|
||||
},
|
||||
'console': {
|
||||
'class': 'logging.StreamHandler',
|
||||
'formatter': 'syslog_debug',
|
||||
'level': 'DEBUG',
|
||||
},
|
||||
},
|
||||
'loggers': {
|
||||
'authentic2': {
|
||||
'handlers': ['mail_admins','syslog'],
|
||||
'level': 'DEBUG' if DEBUG else 'INFO',
|
||||
'propagate': False,
|
||||
},
|
||||
'requests': {
|
||||
'handlers': ['mail_admins','syslog'],
|
||||
'level': 'ERROR',
|
||||
'propagate': False,
|
||||
},
|
||||
'portail_citoyen': {
|
||||
'handlers': ['mail_admins','syslog'],
|
||||
'level': 'DEBUG' if DEBUG else 'INFO',
|
||||
'propagate': False,
|
||||
},
|
||||
'django': {
|
||||
'handlers': ['mail_admins','syslog'],
|
||||
'level': 'DEBUG' if DEBUG else 'INFO',
|
||||
'propagate': False,
|
||||
},
|
||||
'django.db': {
|
||||
'handlers': ['mail_admins','syslog'],
|
||||
'level': 'INFO',
|
||||
'propagate': False,
|
||||
},
|
||||
'': {
|
||||
'handlers': ['mail_admins','syslog'],
|
||||
'level': 'DEBUG' if DEBUG else 'INFO',
|
||||
'propagate': True,
|
||||
},
|
||||
}
|
||||
}
|
||||
SOUTH_TESTS_MIGRATE = False
|
||||
|
||||
# Admin tools
|
||||
ADMIN_TOOLS_INDEX_DASHBOARD = 'compte_agglo_montpellier.dashboard.CustomIndexDashboard'
|
||||
ADMIN_TOOLS_APP_INDEX_DASHBOARD = 'compte_agglo_montpellier.dashboard.CustomAppIndexDashboard'
|
||||
ADMIN_TOOLS_MENU = 'compte_agglo_montpellier.menu.CustomMenu'
|
||||
ADMIN_TOOLS_THEMING_CSS = 'portail_citoyen/css/admin.css'
|
||||
|
||||
AUTH_SAML2 = 'AUTH_SAML2' in os.environ
|
||||
AUTH_OPENID = 'AUTH_OPENID' in os.environ
|
||||
AUTH_SSL = 'AUTH_SSL' in os.environ
|
||||
AUTH_OATH = 'AUTH_OATH' in os.environ
|
||||
IDP_SAML2 = True
|
||||
IDP_OPENID = 'IDP_OPENID' in os.environ
|
||||
IDP_CAS = 'IDP_CAS' in os.environ
|
||||
|
||||
|
||||
# cms settings
|
||||
CMS_TEMPLATES = (
|
||||
('base_two_columns.html', 'Canevas sur deux colonnes'),
|
||||
('base_one_column.html', 'Canevas sur une colonne'),
|
||||
('base_help.html', 'Canevas de l\'aide'),
|
||||
)
|
||||
CMS_REDIRECTS = True
|
||||
CMS_TEXT_WRAPPERS = (
|
||||
('block', {
|
||||
'render_template': 'block.html',
|
||||
'extra_context': {},
|
||||
}),
|
||||
)
|
||||
|
||||
PORTAIL_CITOYEN_FAVICON_URL = 'http://www.montpellier-agglo.com/sites/all/themes/zen_agglo/favicon.png'
|
||||
PORTAIL_CITOYEN_WCSINST_DEFAULT_VARIABLES = {
|
||||
'commune_url': '',
|
||||
'commune_legal_url': '',
|
||||
}
|
||||
|
||||
ANNOUNCES_TRANSPORTS = (
|
||||
'portail_citoyen_announces.transports.EmailTransport',
|
||||
('portail_citoyen_announces.transports.SMSTransport', {
|
||||
'url': os.environ.get('PORTAIL_CITOYEN_SMS_URL', ''),
|
||||
'from_mobile': os.environ.get('PORTAIL_CITOYEN_SMS_FROM', ''),
|
||||
'login': os.environ.get('PORTAIL_CITOYEN_SMS_LOGIN', ''),
|
||||
'password': os.environ.get('PORTAIL_CITOYEN_SMS_PASSWORD', ''),
|
||||
}),
|
||||
)
|
||||
|
||||
try:
|
||||
from local_settings import *
|
||||
except ImportError, e:
|
||||
if 'local_settings' in e.args[0]:
|
||||
pass
|
||||
|
||||
if USE_DEBUG_TOOLBAR:
|
||||
try:
|
||||
import debug_toolbar
|
||||
MIDDLEWARE_CLASSES += ('debug_toolbar.middleware.DebugToolbarMiddleware',)
|
||||
INSTALLED_APPS += ('debug_toolbar',)
|
||||
except ImportError:
|
||||
print "Debug toolbar missing, not loaded"
|
||||
|
||||
if AUTH_SAML2:
|
||||
INSTALLED_APPS += ('authentic2.authsaml2',)
|
||||
AUTHENTICATION_BACKENDS += (
|
||||
'authentic2.authsaml2.backends.AuthSAML2PersistentBackend',
|
||||
'authentic2.authsaml2.backends.AuthSAML2TransientBackend')
|
||||
AUTH_FRONTENDS += ('authentic2.authsaml2.frontend.AuthSAML2Frontend',)
|
||||
IDP_BACKENDS += ('authentic2.authsaml2.backends.AuthSAML2Backend',)
|
||||
DISPLAY_MESSAGE_ERROR_PAGE = True
|
||||
|
||||
if AUTH_OPENID:
|
||||
INSTALLED_APPS += ('authentic2.auth2_auth.auth2_openid', 'django_authopenid',)
|
||||
AUTH_FRONTENDS += ('authentic2.auth2_auth.auth2_openid.backend.OpenIDFrontend',)
|
||||
|
||||
if AUTH_SSL:
|
||||
AUTHENTICATION_BACKENDS += ('authentic2.auth2_auth.auth2_ssl.backend.SSLBackend',)
|
||||
AUTH_FRONTENDS += ('authentic2.auth2_auth.auth2_ssl.frontend.SSLFrontend',)
|
||||
INSTALLED_APPS += ('authentic2.auth2_auth.auth2_ssl',)
|
||||
|
||||
if AUTH_OATH:
|
||||
INSTALLED_APPS += ('authentic2.auth2_auth.auth2_oath',)
|
||||
AUTHENTICATION_BACKENDS += ('authentic2.auth2_auth.auth2_oath.backend.OATHTOTPBackend',)
|
||||
AUTH_FRONTENDS += ('authentic2.auth2_auth.auth2_oath.frontend.OATHOTPFrontend',)
|
||||
|
||||
if IDP_SAML2:
|
||||
IDP_BACKENDS += ('authentic2.idp.saml.backend.SamlBackend',)
|
||||
|
||||
if IDP_OPENID:
|
||||
INSTALLED_APPS += ('authentic2.idp.idp_openid',)
|
||||
TEMPLATE_CONTEXT_PROCESSORS += ('authentic2.idp.idp_openid.context_processors.openid_meta',)
|
||||
|
||||
if IDP_CAS:
|
||||
INSTALLED_APPS += ('authentic2.idp.idp_cas',)
|
Before Width: | Height: | Size: 351 B |
Before Width: | Height: | Size: 477 B |
Before Width: | Height: | Size: 604 B |
Before Width: | Height: | Size: 518 B |
Before Width: | Height: | Size: 332 B |
Before Width: | Height: | Size: 20 KiB |
Before Width: | Height: | Size: 1.5 KiB |
Before Width: | Height: | Size: 2.0 KiB |
Before Width: | Height: | Size: 111 KiB |
Before Width: | Height: | Size: 208 B |
Before Width: | Height: | Size: 126 B |
Before Width: | Height: | Size: 139 B |
Before Width: | Height: | Size: 2.3 KiB |
Before Width: | Height: | Size: 1.4 KiB |
Before Width: | Height: | Size: 1.4 KiB |
Before Width: | Height: | Size: 41 KiB |
Before Width: | Height: | Size: 1016 B |
Before Width: | Height: | Size: 24 KiB |
Before Width: | Height: | Size: 302 B |
Before Width: | Height: | Size: 249 KiB |
Before Width: | Height: | Size: 649 B |
Before Width: | Height: | Size: 576 B |
Before Width: | Height: | Size: 13 KiB |
Before Width: | Height: | Size: 1.1 KiB |
Before Width: | Height: | Size: 1.3 KiB |
Before Width: | Height: | Size: 577 B |
Before Width: | Height: | Size: 498 B |
Before Width: | Height: | Size: 3.2 KiB |
Before Width: | Height: | Size: 61 B |
Before Width: | Height: | Size: 72 B |
Before Width: | Height: | Size: 1.1 KiB |
|
@ -1,691 +0,0 @@
|
|||
/* general stuff */
|
||||
|
||||
html, body { margin: 0; font-family: 'Carme', sans-serif; font-size: 13px;}
|
||||
a { text-decoration: none; }
|
||||
a:hover { text-decoration: underline; }
|
||||
h1, h2, h3 { margin-top: 0; }
|
||||
|
||||
a {
|
||||
-webkit-transition: color 200ms ease-out;
|
||||
}
|
||||
|
||||
/* layout */
|
||||
|
||||
body {
|
||||
overflow-x: hidden;
|
||||
background: #ece6e0 url(bg-page.png) 0 -200px repeat-x;
|
||||
}
|
||||
|
||||
div#page {
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
div#header {
|
||||
background-color: #ffffff;
|
||||
width: 100%;
|
||||
margin: 0 0 0 0;
|
||||
position: absolute;
|
||||
top: 0px;
|
||||
margin-left: -500px;
|
||||
z-index: 0;
|
||||
|
||||
}
|
||||
|
||||
div#top {
|
||||
background: url(header-agglo.jpg) 0% 0% no-repeat;
|
||||
height: 456px;
|
||||
width: 1500px;
|
||||
margin: 0 auto 0 auto;
|
||||
margin-left: 50%;
|
||||
}
|
||||
|
||||
div#top h1 {
|
||||
width: 10em;
|
||||
text-align: center;
|
||||
padding-top: 3em;
|
||||
padding-left: 2em;
|
||||
margin-left: 20px;
|
||||
font-size: 120%;
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
div#top h1 a {
|
||||
color: white;
|
||||
text-shadow: #6374AB 0px 0px 3px;
|
||||
}
|
||||
|
||||
div#top a img {
|
||||
border: 0;
|
||||
}
|
||||
|
||||
div#main-content-wrapper {
|
||||
position: relative;
|
||||
z-index: 100;
|
||||
width: 1000px;
|
||||
margin: 200px auto 0px auto;
|
||||
}
|
||||
|
||||
div#main-content {
|
||||
margin: 0;
|
||||
min-height: 300px;
|
||||
}
|
||||
|
||||
div#footer {
|
||||
clear: both;
|
||||
background: white url(background_footer.png) no-repeat top left;
|
||||
padding: 0px;
|
||||
width: 1000px;
|
||||
height: 160px;
|
||||
margin: 10px auto 0 auto;
|
||||
position: relative;
|
||||
}
|
||||
|
||||
p#legal {
|
||||
font-size: small;
|
||||
padding-top: 140px;
|
||||
color: white;
|
||||
margin: 0;
|
||||
padding-left: 15px;
|
||||
}
|
||||
|
||||
#content {
|
||||
position: relative;
|
||||
margin:0;
|
||||
color: rgb(58, 58, 58);
|
||||
}
|
||||
|
||||
div#content a {
|
||||
color: #f68423;
|
||||
}
|
||||
|
||||
div#content a:hover {
|
||||
text-decoration: underline;
|
||||
}
|
||||
|
||||
#menu {
|
||||
font-size: 130%;
|
||||
margin-top: -1px;
|
||||
}
|
||||
|
||||
#menu ul {
|
||||
list-style: none;
|
||||
margin: 0;
|
||||
padding: 10px 0 32px 0;
|
||||
-webkit-border-top-right-radius: 5px;
|
||||
-moz-border-radius-topright: 5px;
|
||||
border-top-right-radius: 5px;
|
||||
}
|
||||
|
||||
#menu li {
|
||||
display: inline;
|
||||
margin: 0px 10px 0 0;
|
||||
padding: 5px;
|
||||
background: #f68423;
|
||||
border: 5px solid transparent;
|
||||
border-width: 2px 5px;
|
||||
-webkit-transition: all .2s ease-in-out;
|
||||
-moz-transition: all .2s ease-in-out;
|
||||
}
|
||||
|
||||
#menu li a {
|
||||
color: white;
|
||||
text-transform: uppercase;
|
||||
white-space: pre;
|
||||
}
|
||||
|
||||
#menu li:hover {
|
||||
background-color: #f4bc03;
|
||||
border-color: #f4bc03;
|
||||
}
|
||||
|
||||
#menu li:hover a {
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
#menu li.selected, #menu li.ancestor {
|
||||
background: #515151;
|
||||
border-color: #515151;
|
||||
}
|
||||
|
||||
#menu li.selected a {
|
||||
color: white;
|
||||
}
|
||||
|
||||
#left {
|
||||
float: left;
|
||||
width: 49.5%;
|
||||
}
|
||||
|
||||
#right {
|
||||
float: right;
|
||||
width: 49.5%;
|
||||
}
|
||||
|
||||
br.clear {
|
||||
clear: both;
|
||||
}
|
||||
|
||||
#error-404, #error-500, #content .block, #password-changed {
|
||||
background: white;
|
||||
font-size: 110%;
|
||||
margin-bottom: 1em;
|
||||
}
|
||||
|
||||
#content .block h2 {
|
||||
background: #e87b1c url(Picto-EServices.png) 5px 50% no-repeat;
|
||||
font-weight: normal;
|
||||
color: white;
|
||||
text-transform: uppercase;
|
||||
padding: 6px 10px 6px 50px;
|
||||
font-size: 130%;
|
||||
cursor: default; /* someday, perhaps, cursor: move */
|
||||
}
|
||||
|
||||
#content .block h2.feeds {
|
||||
background-image: url(Picto-Bulle.png);
|
||||
}
|
||||
|
||||
#content .block h2.newsletters {
|
||||
background-image: url(Picto-coeur.png);
|
||||
}
|
||||
|
||||
#content .demarches ul,
|
||||
#content ul.mes-demarches {
|
||||
list-style: none;
|
||||
padding-left: 0px;
|
||||
margin: 0px;
|
||||
-webkit-column-count: 2;
|
||||
-moz-column-count: 2;
|
||||
column-count: 2;
|
||||
}
|
||||
|
||||
#content ul.mes-demarches a,
|
||||
#content .demarches ul a {
|
||||
color: inherit;
|
||||
font-weight: bold;
|
||||
background: transparent url(bullet_rouge.png) left center no-repeat;
|
||||
padding-left: 10px;
|
||||
}
|
||||
|
||||
#content ul.mes-demarches a:hover,
|
||||
#content .demarches ul a:hover {
|
||||
color: #f68423;
|
||||
}
|
||||
|
||||
#content ul.mes-demarches li,
|
||||
#content .demarches ul li {
|
||||
margin: 1ex 0 10px 1ex;
|
||||
padding-left: 10px;
|
||||
-webkit-column-break-inside: avoid;
|
||||
-moz-column-break-inside: avoid;
|
||||
column-break-inside: avoid;
|
||||
}
|
||||
|
||||
#content .demarches .toutes-les-demarches {
|
||||
padding: 10px 0 10px 0;
|
||||
margin-left: 20px;
|
||||
}
|
||||
|
||||
#content .toutes-les-demarches a {
|
||||
background: transparent url(button_orange_eye.png) no-repeat 0px center;
|
||||
color: #f68423;
|
||||
text-transform: uppercase;
|
||||
padding-left: 30px;
|
||||
font-size: 130%;
|
||||
}
|
||||
|
||||
#content .toutes-les-demarches a:hover {
|
||||
color: #f68423;
|
||||
}
|
||||
|
||||
#commune-selector {
|
||||
margin-left: 5px;
|
||||
margin-bottom: 10px;
|
||||
}
|
||||
|
||||
#content #futurs-demarches {
|
||||
overflow-y: hidden;
|
||||
margin: 5px;
|
||||
padding-bottom: 15px;
|
||||
}
|
||||
|
||||
#content #futurs-demarches.selected {
|
||||
display: block;
|
||||
}
|
||||
|
||||
div#single-title {
|
||||
font-size: 130%;
|
||||
padding: 5px;
|
||||
background: #f68423 url(Picto-EServices.png) 5px 50% no-repeat;
|
||||
border: 1px solid #f68423;
|
||||
color: white;
|
||||
text-transform: uppercase;
|
||||
padding-left: 50px;
|
||||
}
|
||||
|
||||
body.narrow-page #main-content {
|
||||
background: white;
|
||||
margin-top: 0;
|
||||
padding: 10px 10px 0 10px;
|
||||
}
|
||||
|
||||
body.narrow-page #main-content form div input {
|
||||
display: block;
|
||||
margin-left: 10px;
|
||||
margin-bottom: 2ex;
|
||||
}
|
||||
|
||||
div#welcome {
|
||||
text-align: justify;
|
||||
margin: 0 1em;
|
||||
}
|
||||
|
||||
div#welcome h2 {
|
||||
text-align: center;
|
||||
margin: 1ex 0;
|
||||
}
|
||||
|
||||
span.helptext {
|
||||
color: #666;
|
||||
}
|
||||
|
||||
body.narrow-page div.right {
|
||||
padding-top: 2em;
|
||||
width: 35em;
|
||||
margin: 1ex auto;
|
||||
}
|
||||
|
||||
body.narrow-page div.right form {
|
||||
border: 1px solid #f68423;
|
||||
padding: 1em;
|
||||
}
|
||||
|
||||
body.narrow-page div.right form div label {
|
||||
font-weight: bold;
|
||||
width: 14em;
|
||||
display: block;
|
||||
float: left;
|
||||
padding-top: 3px;
|
||||
}
|
||||
|
||||
body.narrow-page div.right form div input {
|
||||
width: 17em;
|
||||
}
|
||||
|
||||
body.narrow-page div.right form div.form-field-required label:after {
|
||||
content: "";
|
||||
}
|
||||
|
||||
body.narrow-page div.right form > input {
|
||||
display: block;
|
||||
margin: 1em auto 0 auto;
|
||||
background: #f68423;
|
||||
color: white;
|
||||
border: none;
|
||||
padding: 3px 1em;
|
||||
}
|
||||
|
||||
div.login-actions {
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
|
||||
.region-header {
|
||||
width: 1000px;
|
||||
position: absolute;
|
||||
top: 0px;
|
||||
}
|
||||
|
||||
#toplinks {
|
||||
background: #ffffff;
|
||||
position: relative;
|
||||
float: right;
|
||||
width: 250px;
|
||||
padding: 5px 5px 5px 5px;
|
||||
}
|
||||
|
||||
#toplinks span {
|
||||
width: 100%;
|
||||
display: block;
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
color: #888;
|
||||
background: url(button_connexion.gif) left center no-repeat;
|
||||
border: 1px solid #e9e9e9;
|
||||
line-height: 20px;
|
||||
height: 22px;
|
||||
}
|
||||
|
||||
#toplinks a {
|
||||
color: #888;
|
||||
border: 1px solid transparent;
|
||||
}
|
||||
|
||||
#toplinks a.logout {
|
||||
padding-left: 30px;
|
||||
}
|
||||
|
||||
#toplinks a:hover {
|
||||
text-decoration: none;
|
||||
color: #222;
|
||||
}
|
||||
|
||||
#toplinks a.restricted {
|
||||
color: white;
|
||||
float: right;
|
||||
padding: 0 1ex;
|
||||
border: 1px outset #888;
|
||||
background: #f68423;
|
||||
}
|
||||
|
||||
div#username {
|
||||
float: right;
|
||||
padding: 5px 5px 5px 5px;
|
||||
background: white;
|
||||
line-height: 20px;
|
||||
height: 22px;
|
||||
border: 1px solid white;
|
||||
}
|
||||
|
||||
ul.newsList {
|
||||
list-style: none;
|
||||
}
|
||||
|
||||
ul.newsList li.abonne {
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
.abonne {
|
||||
padding-left: 20px;
|
||||
background: transparent url(Validation.png) center left no-repeat;
|
||||
}
|
||||
|
||||
.nonAbonne {
|
||||
padding-left: 20px;
|
||||
background: transparent url(Annulation.png) center left no-repeat;
|
||||
}
|
||||
|
||||
/* page de profil */
|
||||
#my-informations {
|
||||
margin-bottom: 15px;
|
||||
padding: 0px;
|
||||
}
|
||||
|
||||
#my-informations p {
|
||||
padding: 0 5px;
|
||||
}
|
||||
|
||||
#my-informations select,
|
||||
#my-informations input {
|
||||
margin-left: 10px;
|
||||
display: block;
|
||||
}
|
||||
|
||||
/* forms error reporting */
|
||||
|
||||
.errorlist {
|
||||
list-style: none;
|
||||
padding-left: 0;
|
||||
margin-left: 0;
|
||||
}
|
||||
|
||||
ul.errorlist li {
|
||||
display: block;
|
||||
color: #f44;
|
||||
}
|
||||
|
||||
.form-field-required label:after {
|
||||
content: '*';
|
||||
color: #D90024;
|
||||
}
|
||||
|
||||
ul.errorlist + p {
|
||||
margin-top: 0px;
|
||||
}
|
||||
|
||||
|
||||
/* django-cms */
|
||||
#admin-links .cms_placeholder-bar {
|
||||
width: 50%;
|
||||
}
|
||||
|
||||
.passerelle-register-plugin input + label {
|
||||
background: transparent url(Annulation.png) center left no-repeat;
|
||||
}
|
||||
|
||||
.passerelle-register-plugin input:checked + label {
|
||||
background: transparent url(Validation.png) center left no-repeat;
|
||||
}
|
||||
|
||||
.passerelle-register-plugin td input {
|
||||
display: none
|
||||
}
|
||||
.passerelle-register-plugin td label {
|
||||
padding-left: 2em;
|
||||
}
|
||||
|
||||
div.block form {
|
||||
padding: 0 1ex;
|
||||
}
|
||||
|
||||
table.announces {
|
||||
width: 100%;
|
||||
margin-bottom: 1em;
|
||||
}
|
||||
|
||||
table.announces thead td {
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
table.announces thead th {
|
||||
width: 30%;
|
||||
}
|
||||
|
||||
table.announces tbody td {
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
table.announces tbody th {
|
||||
width: 35%;
|
||||
text-align: left;
|
||||
font-weight: normal;
|
||||
}
|
||||
|
||||
#agglolinks {
|
||||
position: absolute;
|
||||
right: 0;
|
||||
top: -140px;
|
||||
}
|
||||
|
||||
#agglolinks a {
|
||||
display: inline-block;
|
||||
margin-left: 10px;
|
||||
width: 130px;
|
||||
color: white;
|
||||
background: blue;
|
||||
text-transform: uppercase;
|
||||
text-align: center;
|
||||
padding: 5px 5px;
|
||||
font-size: 16px;
|
||||
}
|
||||
|
||||
#agglolinks a.agglo-mon-agglo, #agglolinks a.agglo-mes-e-services {
|
||||
background: #f68423;
|
||||
}
|
||||
|
||||
#agglolinks a.agglo-connaitre {
|
||||
background: #d90024;
|
||||
}
|
||||
|
||||
#agglolinks a.agglo-vivre {
|
||||
background: #1f4791;
|
||||
}
|
||||
|
||||
#agglolinks a.agglo-entreprendre {
|
||||
background: #a3d117;
|
||||
}
|
||||
|
||||
.chapeau {
|
||||
font-style: italic;
|
||||
font-size: 110%;
|
||||
}
|
||||
|
||||
/* mon compte */
|
||||
#my-informations-form {
|
||||
width: 90%;
|
||||
padding-bottom: 1em;
|
||||
}
|
||||
|
||||
#my-informations-form input[type~=text] {
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
#id_edit-profile-email_wrap, #id_edit-profile-address_wrap {
|
||||
clear: both;
|
||||
}
|
||||
|
||||
#id_edit-profile-first_name_wrap, #id_edit-profile-phone_wrap, #id_edit-profile-postal_code_wrap {
|
||||
width: 45%;
|
||||
float: left;
|
||||
}
|
||||
|
||||
#id_edit-profile-last_name_wrap, #id_edit-profile-mobile_wrap, #id_edit-profile-city_wrap {
|
||||
width: 45%;
|
||||
float: right;
|
||||
}
|
||||
|
||||
/* pied de page */
|
||||
#footer-menu {
|
||||
position: absolute;
|
||||
display: block;
|
||||
top: 20px;
|
||||
left: 20px;
|
||||
width: 435px;
|
||||
list-style: none;
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
text-align: left;
|
||||
}
|
||||
|
||||
.footer-menu-leaf {
|
||||
display: inline;
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
padding-right: 20px;
|
||||
padding-bottom: 20px;
|
||||
float: left;
|
||||
}
|
||||
|
||||
.footer-menu-leaf-link, .footer-menu-leaf-link:hover {
|
||||
display: block;
|
||||
width: 125px;
|
||||
height: 26px;
|
||||
line-height: 26px;
|
||||
background: #ffffff;
|
||||
text-align: center;
|
||||
text-transform: uppercase;
|
||||
color: #515151;
|
||||
text-decoration: none;
|
||||
font-size: 14px;
|
||||
}
|
||||
|
||||
/* pages d'aide */
|
||||
#help-content {
|
||||
background: white;
|
||||
position: relative;
|
||||
padding: 10px 20px;
|
||||
}
|
||||
#help-title {
|
||||
background: #e6e6d6 url(toptitle.png) no-repeat left top;
|
||||
font-weight: bold;
|
||||
color: #f68423;
|
||||
text-transform: uppercase;
|
||||
padding: 6px 10px 6px 50px;
|
||||
font-size: 200%;
|
||||
cursor: default; /* someday, perhaps, cursor: move */
|
||||
}
|
||||
#help-page-title {
|
||||
color: #f68423;
|
||||
padding-bottom: 20px;
|
||||
}
|
||||
#help-page-title.aide {
|
||||
display: none;
|
||||
}
|
||||
#help-text {
|
||||
width: 580px;
|
||||
margin-left: 380px;
|
||||
}
|
||||
.clear {
|
||||
clear: both;
|
||||
}
|
||||
#help-menu {
|
||||
width: 360px;
|
||||
float: left;
|
||||
}
|
||||
#help-summary-caption {
|
||||
background: #f68423;
|
||||
color: white;
|
||||
font-size: 150%;
|
||||
font-weith: bold;
|
||||
text-align: center;
|
||||
padding: 15px 0px;
|
||||
}
|
||||
#help-menu #help-summary-caption-link, #help-menu #help-summary-caption-link:hover {
|
||||
background: #f68423;
|
||||
color: white;
|
||||
text-decoration: none;
|
||||
}
|
||||
#help-menu-content {
|
||||
padding: 0;
|
||||
margin: 0;
|
||||
}
|
||||
#help-menu-content > li {
|
||||
background: #e6e6d6;
|
||||
margin-bottom: 5px;
|
||||
list-style: none;
|
||||
font-size: 150%;
|
||||
font-weight: bold;
|
||||
line-height: 1.5em;
|
||||
}
|
||||
#help-menu-content > li > ul {
|
||||
background: white;
|
||||
margin-bottom: 5px;
|
||||
list-style: none;
|
||||
font-size: 100%;
|
||||
font-weight: bold;
|
||||
line-height: 1.5em;
|
||||
padding: 10px 10px;
|
||||
}
|
||||
|
||||
#help-menu-content li.ancestor {
|
||||
background: rgb(58, 58, 58);
|
||||
}
|
||||
#help-menu-content li.ancestor > a, #help-menu-content li.ancestor > a.hover {
|
||||
color: white;
|
||||
}
|
||||
|
||||
#help-menu-content > li > ul > li {
|
||||
padding: 0px 10px;
|
||||
font-size: 80%;
|
||||
}
|
||||
#help-menu-content > li > ul > li.selected {
|
||||
border-left: solid 4px #f68423;
|
||||
}
|
||||
#help-menu-content li a, #help-menu-content li a:hover {
|
||||
color: rgb(58, 58, 58);
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
#my-password {
|
||||
padding-bottom: 1ex;
|
||||
}
|
||||
|
||||
#my-password p {
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
#my-password p a {
|
||||
color: inherit;
|
||||
padding: 1ex;
|
||||
}
|
Before Width: | Height: | Size: 1.1 KiB |
Before Width: | Height: | Size: 2.6 KiB |
|
@ -1,87 +0,0 @@
|
|||
{% load menu_tags cms_tags sekizai_tags i18n %}
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
|
||||
<meta http-equiv="content-language" content="fr" />
|
||||
<title>Compte Citoyen :: Montpellier Agglomération :: {% page_attribute "page_title" %}</title>
|
||||
<link rel="shortcut icon" href="/static/themes/django-montpellier/favicon.png">
|
||||
<link rel="stylesheet" type="text/css" href="/static/themes/django-montpellier/style.css">
|
||||
<link href='https://fonts.googleapis.com/css?family=Lato:400,700,700italic,400italic|Carme|Arvo' rel='stylesheet' type='text/css'>
|
||||
{% render_block "css" %}
|
||||
</head>
|
||||
<body {% block bodyargs %}{% endblock %}>
|
||||
{% cms_toolbar %}
|
||||
<div id="page">
|
||||
<div id="header">
|
||||
<div id="top">
|
||||
<a href="/" accesskey="1"><img src="/static/themes/django-montpellier/logo.png"
|
||||
title="Montpellier agglomération" /></a>
|
||||
<div class="region-header">
|
||||
{% if user.is_authenticated %}
|
||||
<div id="toplinks">
|
||||
<span><a class="logout" href="{% url 'auth_logout' %}">{% trans "Logout" %}</a>
|
||||
{% block admin-links %}{% endblock %}
|
||||
</span>
|
||||
</div>
|
||||
<div id="username">{{ user.first_name }} {{ user.last_name }}</div>
|
||||
{% endif %}
|
||||
</div>
|
||||
</div>
|
||||
{% block messages %}
|
||||
{% if messages %}
|
||||
<div id="messages">
|
||||
<ul class="messages">
|
||||
{% for message in messages %}
|
||||
<li{% if message.tags %} class="{{ message.tags }}"{% endif %}>{{ message }}</li>
|
||||
{% endfor %}
|
||||
</ul>
|
||||
</div>
|
||||
{% endif %}
|
||||
{% endblock %}
|
||||
</div> <!-- header -->
|
||||
<div id="main-content-wrapper">
|
||||
{% block title %}{% endblock %}
|
||||
{% block menu %}
|
||||
<div id="menu">
|
||||
<ul><li><a href="http://www-test.entrouvert.montpellier-agglo.com">Mon agglo</a></li
|
||||
>{% show_menu_below_id "top-page" 0 100 100 100 %}</ul>
|
||||
</div>
|
||||
{% endblock %}
|
||||
<div id="main-content">
|
||||
<div id="content">
|
||||
{% block content %}
|
||||
<div id="error-404">
|
||||
<h2>Page inexistante</h2>
|
||||
<p>La page <tt>{{ request_path}}</tt> n'existe pas. Souhaitez-vous revenir à <a href="/">l'accueil</a> ?</p>
|
||||
</div>
|
||||
{% endblock %}
|
||||
</div> <!-- #content -->
|
||||
</div> <!-- #main-content -->
|
||||
</div> <!-- #main-content-wrapper -->
|
||||
<div id="footer">
|
||||
<!-- p id="bottom-links">
|
||||
{% show_menu_below_id "menu-du-bas" %}
|
||||
{% if request.user.is_staff %}
|
||||
<a href="/admin">Administration</a>
|
||||
{% endif %}
|
||||
</p -->
|
||||
<p id="legal">Copyright © 2006-2013 Entr'ouvert</p>
|
||||
</div>
|
||||
</div>
|
||||
{% render_block "js" %}
|
||||
<script>
|
||||
function toTitleCase(str)
|
||||
{
|
||||
return str.replace(/\w\S*/g,
|
||||
function(txt){return txt.charAt(0).toUpperCase() + txt.substr(1).toLowerCase();});
|
||||
}
|
||||
$('#commune-selector').live('change',
|
||||
function () {
|
||||
var value = $(this).val();
|
||||
$('#futurs-demarches').toggleClass('selected', value != 'none');
|
||||
$('#futurs-demarches').text('Ici bientôt les e-services de la commune de ' + toTitleCase(value));
|
||||
});
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
|
@ -1,87 +0,0 @@
|
|||
{% load menu_tags cms_tags sekizai_tags i18n %}
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
|
||||
<meta http-equiv="content-language" content="fr" />
|
||||
<title>Compte Citoyen :: Montpellier Agglomération :: {% page_attribute "page_title" %}</title>
|
||||
<link rel="shortcut icon" href="/static/themes/django-montpellier/favicon.png">
|
||||
<link rel="stylesheet" type="text/css" href="/static/themes/django-montpellier/style.css">
|
||||
<link href='https://fonts.googleapis.com/css?family=Lato:400,700,700italic,400italic|Carme|Arvo' rel='stylesheet' type='text/css'>
|
||||
{% render_block "css" %}
|
||||
</head>
|
||||
<body {% block bodyargs %}{% endblock %}>
|
||||
{% cms_toolbar %}
|
||||
<div id="page">
|
||||
<div id="header">
|
||||
<div id="top">
|
||||
<a href="/" accesskey="1"><img src="/static/themes/django-montpellier/logo.png"
|
||||
title="Montpellier agglomération" /></a>
|
||||
<div class="region-header">
|
||||
{% if user.is_authenticated %}
|
||||
<div id="toplinks">
|
||||
<span><a class="logout" href="{% url 'auth_logout' %}">{% trans "Logout" %}</a>
|
||||
{% block admin-links %}{% endblock %}
|
||||
</span>
|
||||
</div>
|
||||
<div id="username">{{ user.first_name }} {{ user.last_name }}</div>
|
||||
{% endif %}
|
||||
</div>
|
||||
</div>
|
||||
{% block messages %}
|
||||
{% if messages %}
|
||||
<div id="messages">
|
||||
<ul class="messages">
|
||||
{% for message in messages %}
|
||||
<li{% if message.tags %} class="{{ message.tags }}"{% endif %}>{{ message }}</li>
|
||||
{% endfor %}
|
||||
</ul>
|
||||
</div>
|
||||
{% endif %}
|
||||
{% endblock %}
|
||||
</div> <!-- header -->
|
||||
<div id="main-content-wrapper">
|
||||
{% block title %}{% endblock %}
|
||||
{% block menu %}
|
||||
<div id="menu">
|
||||
<ul><li><a href="http://www-test.entrouvert.montpellier-agglo.com">Mon agglo</a></li
|
||||
>{% show_menu_below_id "top-page" 0 100 100 100 %}</ul>
|
||||
</div>
|
||||
{% endblock %}
|
||||
<div id="main-content">
|
||||
<div id="content">
|
||||
{% block content %}
|
||||
<div id="error-404">
|
||||
<h2>Erreur système</h2>
|
||||
<p>Une erreur système est survenue, les administrateurs du site en ont été prévenus. Souhaitez-vous revenir à <a href="/">l'accueil</a> ?</p>
|
||||
</div>
|
||||
{% endblock %}
|
||||
</div> <!-- #content -->
|
||||
</div> <!-- #main-content -->
|
||||
</div> <!-- #main-content-wrapper -->
|
||||
<div id="footer">
|
||||
<!-- p id="bottom-links">
|
||||
{% show_menu_below_id "menu-du-bas" %}
|
||||
{% if request.user.is_staff %}
|
||||
<a href="/admin">Administration</a>
|
||||
{% endif %}
|
||||
</p -->
|
||||
<p id="legal">Copyright © 2006-2013 Entr'ouvert</p>
|
||||
</div>
|
||||
</div>
|
||||
{% render_block "js" %}
|
||||
<script>
|
||||
function toTitleCase(str)
|
||||
{
|
||||
return str.replace(/\w\S*/g,
|
||||
function(txt){return txt.charAt(0).toUpperCase() + txt.substr(1).toLowerCase();});
|
||||
}
|
||||
$('#commune-selector').live('change',
|
||||
function () {
|
||||
var value = $(this).val();
|
||||
$('#futurs-demarches').toggleClass('selected', value != 'none');
|
||||
$('#futurs-demarches').text('Ici bientôt les e-services de la commune de ' + toTitleCase(value));
|
||||
});
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
|
@ -1,28 +0,0 @@
|
|||
{% load url from future %}
|
||||
{% load sekizai_tags %}
|
||||
{% load i18n %}
|
||||
{% if request.user.is_authenticated %}
|
||||
{% addtoblock "css" %}<link rel="stylesheet" type="text/css" href="{{ STATIC_URL }}a2_service_list_plugin/css/style.css"></link>{% endaddtoblock %}
|
||||
<div class="service-list">
|
||||
<h1>{% trans "My services" %}</h1>
|
||||
<ul>
|
||||
{% for service in services %}
|
||||
{% if service.actions %}
|
||||
<li>{% if service.url %}<a href="{{ service.url }}">{% endif %}{{ service.name }}{% if service.url %}</a>{% endif %}
|
||||
<span class="actions">
|
||||
{% for action in service.actions %}
|
||||
<form action="{{ action.2 }}" method="{{ action.1 }}">
|
||||
{% for key, value in action.3 %}
|
||||
<input type="hidden" name="{{ key }}" value="{{ value }}" />
|
||||
{% endfor %}
|
||||
<input type="hidden" name="next" value="/"/>
|
||||
<input type="submit" class="submit-link" value="{{ action.0 }}">
|
||||
</form>
|
||||
{% endfor %}
|
||||
</span>
|
||||
</li>
|
||||
{% endif %}
|
||||
{% endfor %}
|
||||
</ul>
|
||||
</div>
|
||||
{% endif %}
|
|
@ -1,75 +0,0 @@
|
|||
{% extends "base.html" %}
|
||||
{% load i18n %}
|
||||
|
||||
{% block bodyargs %}
|
||||
class="narrow-page"
|
||||
{% endblock %}
|
||||
|
||||
{% block title %}
|
||||
<div id="single-title">Compte citoyen</div>
|
||||
{% endblock %}
|
||||
|
||||
{% block menu %}
|
||||
{% endblock %}
|
||||
|
||||
{% block content %}
|
||||
|
||||
<div id="welcome">
|
||||
<h2>Bienvenue sur le portail Internet de Montpellier Agglomération</h2>
|
||||
|
||||
<h3>Un site Internet pour et par l’usager</h3>
|
||||
|
||||
<p>
|
||||
Innovante, Montpellier Agglomération lance un site inédit, personnalisable à
|
||||
volonté, pour que chaque internaute puisse créer sa propre version en fonction
|
||||
de ses centres d’intérêts et de ses envies !
|
||||
</p>
|
||||
|
||||
<p>
|
||||
E-services accessibles 24h/24 et 7jrs/7 en un clic, navigation qui s’adapte à
|
||||
l’internaute… avec la nouvelle version de son site lancée en septembre 2012,
|
||||
vous avez accès à un graphisme épuré pour plus de confort de lecture, des
|
||||
présentations ludiques et interactives, des photos, des vidéos… et une mine
|
||||
d’informations à découvrir au fil de votre parcours ou de vos recherches.
|
||||
<p>
|
||||
|
||||
<h3>Une offre de services performante</h3>
|
||||
|
||||
<p>
|
||||
Contacter une piscine ou le service des déchets ? Réaliser une modification de
|
||||
votre abonnement à la téléalarme ? Effectuer une demande de raccordement au
|
||||
réseau d'assainissement ? Répondre à une offre d'emploi ou déposer une
|
||||
candidature spontanée ?
|
||||
</p>
|
||||
|
||||
<p>
|
||||
La plate-forme de services dématérialisés évolue et vous permet d'accomplir la
|
||||
plupart de vos démarches en ligne, 24h/24 et 7j/7, de suivre le traitement de
|
||||
vos demandes de « e-services ».
|
||||
</p>
|
||||
|
||||
<p>
|
||||
Pour cela il vous suffit de vous connecter avec votre compte citoyen de
|
||||
Montpellier Agglo pour accéder au portail et à ses « e-services ».
|
||||
</p>
|
||||
|
||||
<p>
|
||||
Si vous ne disposez pas encore de compte citoyen de Montpellier Agglo ?
|
||||
N'hésitez plus et inscrivez-vous dès maintenant, votre compte vous donnera
|
||||
également accès à votre compte lecteur du réseau des Médiathèque, à votre
|
||||
compte famille à l'Ecolothèque ou le compte élève au Conservatoire, et enfin
|
||||
d'accéder directement à vos espaces personnalisés, sans avoir à re-saisir vos
|
||||
identifiants et mots de passe.
|
||||
</p>
|
||||
|
||||
</div>
|
||||
|
||||
<div class="right">
|
||||
{% for name, content in methods %}
|
||||
{{ content|safe }}
|
||||
{% endfor %}
|
||||
|
||||
</div>
|
||||
<br class="clear"/>
|
||||
|
||||
{% endblock %}
|
|
@ -1,16 +0,0 @@
|
|||
{% load i18n %}
|
||||
<div>
|
||||
<form method="post" action="">
|
||||
{% csrf_token %}
|
||||
{% include "form_fields.html" with form=form %}
|
||||
<input type="submit" name="{{ submit_name }}" value="{% trans "Log in" %}"/>
|
||||
{% if cancel %}
|
||||
<input type="submit" name="cancel" value="{% trans 'Cancel' %}"/>
|
||||
{% endif %}
|
||||
</form>
|
||||
</div>
|
||||
|
||||
<div class="login-actions">
|
||||
<p>→ {% trans "Forgot password?" %} <a href="{% url 'auth_password_reset' %}">{% trans "Reset it!" %}</a></p>
|
||||
<p>→ {% trans "Not a member?" %} <a href="{% url 'registration_register' %}">{% trans "Register!" %}</a></p>
|
||||
</div>
|
|
@ -1,91 +0,0 @@
|
|||
{% load menu_tags cms_tags sekizai_tags i18n %}
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
|
||||
<meta http-equiv="content-language" content="fr" />
|
||||
<title>Compte Citoyen :: Montpellier Agglomération :: {% page_attribute "page_title" %}</title>
|
||||
<link rel="shortcut icon" href="{{ STATIC_URL }}/themes/django-montpellier/favicon.png">
|
||||
<link rel="stylesheet" type="text/css" href="{{ STATIC_URL }}/themes/django-montpellier/style.css">
|
||||
<link href='https://fonts.googleapis.com/css?family=Lato:400,700,700italic,400italic|Carme|Arvo' rel='stylesheet' type='text/css'>
|
||||
{% render_block "css" %}
|
||||
</head>
|
||||
<body {% block bodyargs %}{% endblock %}>
|
||||
{% cms_toolbar %}
|
||||
<div id="page">
|
||||
<div id="header">
|
||||
<div id="top">
|
||||
<a href="/" accesskey="1"><img src="{{ STATIC_URL }}/themes/django-montpellier/logo.png"
|
||||
title="Montpellier agglomération" /></a>
|
||||
<div class="region-header">
|
||||
{% if user.is_authenticated %}
|
||||
<div id="toplinks">
|
||||
<span><a class="logout" href="{% url 'auth_logout' %}">{% trans "Logout" %}</a>
|
||||
{% block admin-links %}{% endblock %}
|
||||
</span>
|
||||
</div>
|
||||
<div id="username">{{ user.first_name }} {{ user.last_name }}</div>
|
||||
{% endif %}
|
||||
</div>
|
||||
</div>
|
||||
{% block messages %}
|
||||
{% if messages %}
|
||||
<div id="messages">
|
||||
<ul class="messages">
|
||||
{% for message in messages %}
|
||||
<li{% if message.tags %} class="{{ message.tags }}"{% endif %}>{{ message }}</li>
|
||||
{% endfor %}
|
||||
</ul>
|
||||
</div>
|
||||
{% endif %}
|
||||
{% endblock %}
|
||||
</div> <!-- header -->
|
||||
<div id="main-content-wrapper">
|
||||
|
||||
<div id="agglolinks">
|
||||
{% show_menu_below_id "agglo-links" 0 0 100 100 "compte-agglo-montpellier/agglo-links-menu.html" %}
|
||||
</div>
|
||||
<!--
|
||||
<a class="agglo-accueil" href="http://www.montpellier-agglo.com">Mon agglo</a>
|
||||
<a class="agglo-connaitre" href="http://www.montpellier-agglo.com/widgets/connaitre">Connaître</a>
|
||||
<a class="agglo-vivre" href="http://www.montpellier-agglo.com/widgets/vivre">Vivre</a>
|
||||
<a class="agglo-entreprendre" href="http://www.montpellier-agglo.com/widgets/entreprendre">Entreprendre</a>
|
||||
<a class="agglo-accueil" href="http://idp-test-entrouvert.montpellier-agglo.com">Mes e-services</a>
|
||||
-->
|
||||
|
||||
{% block title %}{% endblock %}
|
||||
{% block menu %}
|
||||
<div id="menu">
|
||||
<ul>{% show_menu_below_id "top-page" 0 0 100 100 %}</ul>
|
||||
</div>
|
||||
{% endblock %}
|
||||
<div id="main-content">
|
||||
<div id="content">
|
||||
{% block content %}
|
||||
{% endblock %}
|
||||
</div> <!-- #content -->
|
||||
</div> <!-- #main-content -->
|
||||
</div> <!-- #main-content-wrapper -->
|
||||
<div id="footer">
|
||||
<p id="legal">Copyright © 2006-2013 Entr'ouvert</p>
|
||||
<ul id="footer-menu">
|
||||
{% show_menu_below_id "footer-menu" 0 0 100 100 "compte-agglo-montpellier/footer-menu.html" %}
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
{% render_block "js" %}
|
||||
<script>
|
||||
function toTitleCase(str)
|
||||
{
|
||||
return str.replace(/\w\S*/g,
|
||||
function(txt){return txt.charAt(0).toUpperCase() + txt.substr(1).toLowerCase();});
|
||||
}
|
||||
$('#commune-selector').live('change',
|
||||
function () {
|
||||
var value = $(this).val();
|
||||
$('#futurs-demarches').toggleClass('selected', value != 'none');
|
||||
$('#futurs-demarches').text('Ici bientôt les e-services de la commune de ' + toTitleCase(value));
|
||||
});
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
|
@ -1,26 +0,0 @@
|
|||
{% extends "base.html" %}
|
||||
{% load cms_tags %}
|
||||
{% load menu_tags %}
|
||||
|
||||
{% block admin-links %}
|
||||
{% placeholder "admin-links" %}
|
||||
{% endblock %}
|
||||
|
||||
{% block content %}
|
||||
<div id="help-content">
|
||||
<h1 id="help-title">Utilisation du compte citoyen</h1>
|
||||
<div id="help-menu">
|
||||
<h2 id="help-summary-caption"><a id="help-summary-caption-link" href="/aide">Sommaire</a></h2>
|
||||
<ul id="help-menu-content">
|
||||
{% show_menu 2 3 0 1 %}
|
||||
</ul>
|
||||
</div>
|
||||
<div id="help-text">
|
||||
<h2 id="help-page-title" class="{% page_attribute "slug" %}">{% page_attribute "page_title" %}</h2>
|
||||
{% block center %}
|
||||
{% placeholder "center" %}
|
||||
{% endblock %}
|
||||
</div>
|
||||
<div class="clear"></div>
|
||||
</div>
|
||||
{% endblock %}
|
|
@ -1,14 +0,0 @@
|
|||
{% extends "base.html" %}
|
||||
{% load cms_tags %}
|
||||
|
||||
{% block admin-links %}
|
||||
{% placeholder "admin-links" %}
|
||||
{% endblock %}
|
||||
|
||||
{% block content %}
|
||||
<div id="center">
|
||||
{% block center %}
|
||||
{% placeholder "center" %}
|
||||
{% endblock %}
|
||||
</div>
|
||||
{% endblock %}
|
|
@ -1,20 +0,0 @@
|
|||
{% extends "base.html" %}
|
||||
{% load cms_tags %}
|
||||
|
||||
{% block admin-links %}
|
||||
{% placeholder "admin-links" %}
|
||||
{% endblock %}
|
||||
|
||||
{% block content %}
|
||||
<div id="left">
|
||||
{% block left %}
|
||||
{% placeholder "left" %}
|
||||
{% endblock %}
|
||||
</div>
|
||||
<div id="right">
|
||||
{% block right %}
|
||||
{% placeholder "right" %}
|
||||
{% endblock %}
|
||||
</div>
|
||||
<br style="clear"/>
|
||||
{% endblock %}
|
|
@ -1,3 +0,0 @@
|
|||
<div class="block">
|
||||
{{ body|safe }}
|
||||
</div>
|
|
@ -1,4 +0,0 @@
|
|||
{% load menu_tags %}
|
||||
{% for child in children %}
|
||||
<a class="agglo-{{ child.get_menu_title|slugify }}" href="{{ child.attr.redirect_url|default:child.get_absolute_url }}">{{ child.get_menu_title }}</a>
|
||||
{% endfor %}
|
|
@ -1,5 +0,0 @@
|
|||
{% for child in children %}
|
||||
<li class="footer-menu-leaf">
|
||||
<a class="footer-menu-leaf-link" href="{{ child.attr.redirect_url }}">{{ child.get_menu_title }}</a>
|
||||
</li>
|
||||
{% endfor %}
|
|
@ -1 +0,0 @@
|
|||
{% include "portail_citoyen/form.html" %}
|
|
@ -1 +0,0 @@
|
|||
{% include "portail_citoyen/form_fields.html" %}
|
|
@ -1,6 +0,0 @@
|
|||
{% load menu_tags %}{% for child in children %}<li
|
||||
class="{% if child.selected %}selected{% endif %}{% if child.ancestor %}ancestor{% endif %}{% if child.sibling %}sibling{% endif %}{% if child.descendant %}descendant{% endif %}"
|
||||
><a href="{{ child.attr.redirect_url|default:child.get_absolute_url }}">{{ child.get_menu_title }}</a
|
||||
>{% if child.children %} <ul>
|
||||
{% show_menu from_level to_level extra_inactive extra_active template "" "" child %}
|
||||
</ul>{% endif %}</li>{% endfor %}
|
|
@ -1,28 +0,0 @@
|
|||
{% load i18n %}
|
||||
|
||||
<div id="passerelle-register-plugin-{{ instance_id }}" class="passerelle-register-plugin">
|
||||
{{ form.non_field_errors }}
|
||||
{% for field in form %}
|
||||
{{ field.errors }}
|
||||
{% endfor %}
|
||||
|
||||
<form method="post">
|
||||
{% csrf_token %}
|
||||
<table id="passerelle-register-plugin-table-{{ instance_id }}">
|
||||
<tbody>
|
||||
{% for field in form %}
|
||||
<tr class="{% for checkbox in field %}{% if checkbox.is_checked %}passerelle-register-plugin-checked-{{ checkbox.choice_value|slugify }} {% endif %}{% endfor %}">
|
||||
{% for choice in form.all_choices %}
|
||||
{% for checkbox in field %}
|
||||
{% if checkbox.choice_value == choice %}
|
||||
<td>{{ checkbox.tag }}<label for="{{field.name}}_0">{{ field.label }}</label></td>
|
||||
{% endif %}
|
||||
{% endfor %}
|
||||
{% endfor %}
|
||||
</tr>
|
||||
{% endfor %}
|
||||
</tbody>
|
||||
</table>
|
||||
<input type="submit" name="{{ submit }}" value="{% trans "Modify" %}"/>
|
||||
</form>
|
||||
</div>
|
|
@ -1,28 +0,0 @@
|
|||
{% extends "base.html" %}
|
||||
{% load i18n %}
|
||||
|
||||
{% block content %}
|
||||
<div id="left">
|
||||
<div class="block" id="my-informations">
|
||||
<h2>Mes informations</h2>
|
||||
<form method="post" id="my-informations-form">
|
||||
{% csrf_token %}
|
||||
{% include "form_fields.html" with form=form %}
|
||||
{% if form.instance and form.instance.id %}
|
||||
<input type="submit" value="{% trans "Modify" %}"/>
|
||||
{% else %}
|
||||
<input type="submit" value="{% trans "Create" %}"/>
|
||||
{% endif %}
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="right">
|
||||
<div class="block" id="my-password">
|
||||
<h2>{% trans "My account" %}</h2>
|
||||
<p><a href="{% url 'auth_password_change' %}">{% trans "Change password" %}</a></p>
|
||||
<p><a href="{% url 'delete_account' %}">{% trans "Delete account" %}</a></p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
{% endblock %}
|
|
@ -1,19 +0,0 @@
|
|||
{% extends "base.html" %}
|
||||
{% load i18n %}
|
||||
|
||||
{% block bodyargs %}
|
||||
class="narrow-page"
|
||||
{% endblock %}
|
||||
|
||||
{% block title %}
|
||||
<div id="single-title">Compte citoyen</div>
|
||||
{% endblock %}
|
||||
|
||||
{% block menu %}
|
||||
{% endblock %}
|
||||
|
||||
{% block content %}
|
||||
<h2>{% trans "Your account is now activated" %}</h2>
|
||||
|
||||
<p><button type="button" onclick="location.href = '/'">{% trans "Back" %}</button></p>
|
||||
{% endblock %}
|
|
@ -1,34 +0,0 @@
|
|||
Bonjour,
|
||||
|
||||
Vous avez demandé à ouvrir un compte citoyen sur le portail de Montpellier
|
||||
Agglo et nous vous en remercions.
|
||||
|
||||
Votre identifiant d’accès est : {{ user.username }}
|
||||
|
||||
Pour confirmer la création et activer votre compte, cliquez sur le lien suivant :
|
||||
|
||||
http://{{ site.domain }}{% url 'registration_activate' activation_key %}
|
||||
|
||||
Ce lien est valable pendant {{ expiration_days }} jours.
|
||||
|
||||
Ce compte personnalisé et sécurisé est le vôtre! Il vous permet de :
|
||||
|
||||
- Accomplir vos démarches en ligne 24h/24 auprès de Montpellier Agglo dans un
|
||||
premier temps puis à terme auprès de la médiathèque, de l’écolothèque, du
|
||||
conservatoire et de votre commune.
|
||||
- Suivre l’état de vos démarches en ligne
|
||||
- Gérer vos inscriptions à nos newsletters et à nos flux d’infos
|
||||
- Modifier vos informations personnelles
|
||||
- Modifier votre mot de passe
|
||||
|
||||
N’hésitez pas à compléter toutes vos coordonnées. Ainsi, vous n’aurez plus
|
||||
besoin de les réécrire dans les formulaires, ces informations seront
|
||||
directement préremplies. Pour y accéder, rendez-vous sur le portail, rubrique
|
||||
Mon compte.
|
||||
|
||||
Nous vous remercions d’utiliser notre portail de e-services.
|
||||
|
||||
Les équipes de Montpellier Agglo.
|
||||
|
||||
--------------------------------------------------
|
||||
Important : Cet email est généré par un automate, merci de ne pas y répondre.
|
|
@ -1 +0,0 @@
|
|||
Activation de votre compte citoyen
|
|
@ -1,36 +0,0 @@
|
|||
{% extends "base.html" %}
|
||||
{% load i18n %}
|
||||
|
||||
{% block bodyargs %}
|
||||
class="narrow-page"
|
||||
{% endblock %}
|
||||
|
||||
{% block title %}
|
||||
<div id="single-title">Compte citoyen</div>
|
||||
{% endblock %}
|
||||
|
||||
{% block menu %}
|
||||
{% endblock %}
|
||||
|
||||
{% block content %}
|
||||
<div id="welcome">
|
||||
<h2>Supprimer mon compte</h2>
|
||||
<p>
|
||||
Si vous cliquez sur le bouton "confirmer" toutes vos données concernant les
|
||||
eservices seront effacées et vous ne pourrez plus les récupérer.
|
||||
</p>
|
||||
<form method="post" action=".">
|
||||
{% csrf_token %}
|
||||
|
||||
<input type="submit" name="submit" value="{% trans 'Confirm' %}" />
|
||||
<button type="button" onclick="location.href = '/'">{% trans "Back" %}</button>
|
||||
</form>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="right">
|
||||
</div>
|
||||
|
||||
<br class="clear"/>
|
||||
|
||||
{% endblock %}
|
|
@ -1,18 +0,0 @@
|
|||
{% extends "base.html" %}
|
||||
{% load i18n %}
|
||||
|
||||
{% block bodyargs %}
|
||||
class="narrow-page"
|
||||
{% endblock %}
|
||||
|
||||
{% block title %}
|
||||
<div id="single-title">{% trans "Logging out" %}</div>
|
||||
{% endblock %}
|
||||
|
||||
{% block menu %}
|
||||
{% endblock %}
|
||||
|
||||
{% block content %}
|
||||
<p>{% trans "Logged out" %}</p>
|
||||
<p><button type="button" onclick="location.href = '/'">{% trans "Back" %}</button></p>
|
||||
{% endblock %}
|
|
@ -1,40 +0,0 @@
|
|||
{% extends "base.html" %}
|
||||
{% load i18n %}
|
||||
|
||||
{% block bodyargs %}
|
||||
class="narrow-page"
|
||||
{% endblock %}
|
||||
|
||||
{% block title %}
|
||||
<div id="single-title">Compte citoyen</div>
|
||||
{% endblock %}
|
||||
|
||||
{% block menu %}
|
||||
{% endblock %}
|
||||
|
||||
{% block content %}
|
||||
|
||||
<div id="welcome">
|
||||
<h2>{% trans "Change password" %}</h2>
|
||||
<p>
|
||||
Pour modifier votre mot de passe vous devez saisir votre mot de passe actuel
|
||||
puis votre nouveau mot de passe à deux reprises. Attention de saisir votre
|
||||
nouveau mot de passe à l'identique dans les deux zones texte prévues à cet
|
||||
effet.
|
||||
</p>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="right">
|
||||
<form method="post" action=".">
|
||||
{% csrf_token %}
|
||||
{% include "form_fields.html" with form=form %}
|
||||
|
||||
<input type="submit" value="{% trans 'Submit' %}" />
|
||||
<button type="button" onclick="location.href = '/'">{% trans "Back" %}</button>
|
||||
</form>
|
||||
</div>
|
||||
|
||||
<br class="clear"/>
|
||||
|
||||
{% endblock %}
|
|
@ -1,30 +0,0 @@
|
|||
{% extends "base.html" %}
|
||||
{% load i18n %}
|
||||
|
||||
{% block bodyargs %}
|
||||
class="narrow-page"
|
||||
{% endblock %}
|
||||
|
||||
{% block title %}
|
||||
<div id="single-title">Compte citoyen</div>
|
||||
{% endblock %}
|
||||
|
||||
{% block menu %}
|
||||
{% endblock %}
|
||||
|
||||
{% block content %}
|
||||
|
||||
<h2>{% trans "Password reset successfully" %}</h2>
|
||||
|
||||
<p>
|
||||
Votre mot de passe a été modifié avec succès. Vous pouvez à présent utiliser
|
||||
votre nouveau mot de passe pour vous connecter.
|
||||
</p>
|
||||
|
||||
<p><a href="{% url 'auth_login' %}">{% trans "Log in" %}</a></p>
|
||||
|
||||
</div>
|
||||
|
||||
<br class="clear"/>
|
||||
|
||||
{% endblock %}
|
|
@ -1,50 +0,0 @@
|
|||
{% extends "base.html" %}
|
||||
{% load i18n %}
|
||||
|
||||
{% block bodyargs %}
|
||||
class="narrow-page"
|
||||
{% endblock %}
|
||||
|
||||
{% block title %}
|
||||
<div id="single-title">Compte citoyen</div>
|
||||
{% endblock %}
|
||||
|
||||
{% block menu %}
|
||||
{% endblock %}
|
||||
|
||||
{% block content %}
|
||||
|
||||
{% if validlink %}
|
||||
|
||||
<div id="welcome">
|
||||
<h2>{% trans "Resetting password" %}</h2>
|
||||
<p>
|
||||
Pour modifier votre mot de passe vous devez saisir votre mot de passe actuel
|
||||
puis votre nouveau mot de passe à deux reprises. Attention de saisir votre
|
||||
nouveau mot de passe à l'identique dans les deux zones texte prévues à cet
|
||||
effet.
|
||||
</p>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="right">
|
||||
|
||||
<form method="post" action=".">
|
||||
{% csrf_token %}
|
||||
{{ form.as_p }}
|
||||
|
||||
<input type="submit" value="{% trans 'Submit' %}" />
|
||||
<button type="button" onclick="location.href = '/'">{% trans "Back" %}</button>
|
||||
</form>
|
||||
|
||||
</div>
|
||||
|
||||
<br class="clear"/>
|
||||
|
||||
{% else %}
|
||||
|
||||
<p>{% trans "Password reset failed" %}</p>
|
||||
|
||||
{% endif %}
|
||||
|
||||
{% endblock %}
|
|
@ -1,24 +0,0 @@
|
|||
{% extends "base.html" %}
|
||||
{% load i18n %}
|
||||
|
||||
{% block bodyargs %}
|
||||
class="narrow-page"
|
||||
{% endblock %}
|
||||
|
||||
{% block title %}
|
||||
<div id="single-title">Compte citoyen</div>
|
||||
{% endblock %}
|
||||
|
||||
{% block menu %}
|
||||
{% endblock %}
|
||||
|
||||
{% block content %}
|
||||
|
||||
<div>
|
||||
<h2>{% trans "Resetting password" %}</h2>
|
||||
|
||||
<p>{% trans "Email with password reset instructions has been sent." %}</p>
|
||||
<p><button type="button" onclick="location.href = '/'">{% trans "Back" %}</button></p>
|
||||
</div>
|
||||
|
||||
{% endblock %}
|
|
@ -1,16 +0,0 @@
|
|||
Bonjour,
|
||||
|
||||
Vous avez demandé à réinitialiser votre mot de passe du compte citoyen de Montpellier Agglo.
|
||||
|
||||
Voici pour rappel votre identifiant : {{ user.username }}
|
||||
|
||||
Pour réinitialiser votre mot de passe, cliquez sur le lien suivant :
|
||||
|
||||
{{ protocol }}://{{ domain }}{% url 'auth_password_reset_confirm' uidb36=uid token=token %}
|
||||
|
||||
Nous vous remercions d’utiliser notre portail de e-services.
|
||||
|
||||
Les équipes de Montpellier Agglo.
|
||||
|
||||
--------------------------------------------------
|
||||
Important : Cet email est généré par un automate, merci de ne pas y répondre.
|
|
@ -1,40 +0,0 @@
|
|||
{% extends "base.html" %}
|
||||
{% load i18n %}
|
||||
|
||||
{% block bodyargs %}
|
||||
class="narrow-page"
|
||||
{% endblock %}
|
||||
|
||||
{% block title %}
|
||||
<div id="single-title">Compte citoyen</div>
|
||||
{% endblock %}
|
||||
|
||||
{% block menu %}
|
||||
{% endblock %}
|
||||
|
||||
{% block content %}
|
||||
|
||||
<div id="welcome">
|
||||
<h2>{% trans "Resetting password" %}</h2>
|
||||
<p>
|
||||
Si vous avez égaré votre mot de passe et que vous souhaitez pouvoir vous
|
||||
connecter à nouveau indiquez votre adresse électronique. Vous recevrez un
|
||||
courriel vous permettant de définir un nouveau mot de passe.
|
||||
</p>
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
<div class="right">
|
||||
<form method="post" action=".">
|
||||
{% csrf_token %}
|
||||
{% include "form_fields.html" with form=form %}
|
||||
|
||||
<input type="submit" value="{% trans 'Submit' %}" />
|
||||
<button type="button" onclick="location.href = '/'">{% trans "Back" %}</button>
|
||||
</form>
|
||||
</div>
|
||||
|
||||
<br class="clear"/>
|
||||
|
||||
{% endblock %}
|
|
@ -1 +0,0 @@
|
|||
Réinitialisation du mot de passe de votre compte citoyen
|