diff --git a/Brie/brie/controllers/auth.py b/Brie/brie/controllers/auth.py
index 51e141f..3d81dd9 100644
--- a/Brie/brie/controllers/auth.py
+++ b/Brie/brie/controllers/auth.py
@@ -174,10 +174,14 @@ class LoginRestController(RestController):
residence_dn = Residences.get_dn_by_name(anon_user, residence)
+ residences = Residences.get_residences(anon_user)
+
if residence_dn is None:
return dict(
+ residences = residences,
login = username,
- error = "erreur de résidence"
+ residence = residence,
+ error = u"erreur de résidence"
)
#end if
@@ -187,8 +191,6 @@ class LoginRestController(RestController):
redirect("/")
#end if
- residences = Residences.get_residences(anon_user)
-
return dict(
residences = residences,
login = username,
diff --git a/Brie/brie/controllers/rooms.py b/Brie/brie/controllers/rooms.py
index 19519fa..f647379 100644
--- a/Brie/brie/controllers/rooms.py
+++ b/Brie/brie/controllers/rooms.py
@@ -12,9 +12,6 @@ from brie.model.ldap import *
from brie.controllers import auth
from brie.controllers.auth import AuthenticatedBaseController, AuthenticatedRestController
-from operator import itemgetter
-
-
class RoomsController(AuthenticatedBaseController):
require_group = groups_enum.admin
@@ -38,10 +35,10 @@ class RoomsController(AuthenticatedBaseController):
#end def
def reverse_sort_name(self, name_items):
- return sorted(name_items, key=itemgetter(0), reverse=True)
+ return sorted(name_items, key=lambda t:t[0].cn.first(), reverse=True)
def sort_name(self, name_items):
- return sorted(name_items, key=itemgetter(0))
+ return sorted(name_items, key=lambda t:t[0].cn.first())
@expose("brie.templates.rooms.index")
def index(self, residence_name):
@@ -54,7 +51,7 @@ class RoomsController(AuthenticatedBaseController):
#end if
for area in Room.get_areas(self.user, residence_dn):
- areas[area] = list()
+ areas[area] = dict()
for floor in Room.get_floors(self.user, area.dn):
areas[area][floor] = list()
@@ -71,9 +68,7 @@ class RoomsController(AuthenticatedBaseController):
#end if
#end for room
- areas[area][floor] = sorted(areas[area][floor], key=lambda r:r.cn.first())
#end for floor
- areas[area] = sorted(areas[area].items(), key=lambda t:t[0])
#end for area
return {
diff --git a/Brie/brie/templates/rooms/index.html b/Brie/brie/templates/rooms/index.html
index 9fcdb0d..c9948e0 100644
--- a/Brie/brie/templates/rooms/index.html
+++ b/Brie/brie/templates/rooms/index.html
@@ -49,7 +49,7 @@
${("Aile " + area.cn.first()).upper()}
étage ${floor.cn.first()}
-
diff --git a/Brie/development.ini b/Brie/development.ini
deleted file mode 100644
index cfe875b..0000000
--- a/Brie/development.ini
+++ /dev/null
@@ -1,130 +0,0 @@
-#
-# Brie - Pylons development environment configuration
-#
-# The %(here)s variable will be replaced with the parent directory of this file
-#
-# This file is for deployment specific config options -- other configuration
-# that is always required for the app is done in the config directory,
-# and generally should not be modified by end users.
-
-[DEFAULT]
-debug = true
-# Uncomment and replace with the address which should receive any error reports
-#email_to = you@yourdomain.com
-smtp_server = localhost
-error_email_from = paste@localhost
-
-[server:main]
-use = egg:Paste#http
-host = 0.0.0.0
-port = 9002
-
-[app:main]
-use = egg:Brie
-full_stack = true
-#lang = ru
-cache_dir = %(here)s/data
-beaker.session.key = brie
-beaker.session.secret = somesecret
-
-# If you'd like to fine-tune the individual locations of the cache data dirs
-# for the Cache data, or the Session saves, un-comment the desired settings
-# here:
-#beaker.cache.data_dir = %(here)s/data/cache
-#beaker.session.data_dir = %(here)s/data/sessions
-
-# pick the form for your database
-# %(here) may include a ':' character on Windows environments; this can
-# invalidate the URI when specifying a SQLite db via path name
-#sqlalchemy.url=postgresql://camembert:CamembertDB%40Pacat@172.17.22.7:5432/camembert
-sqlalchemy.url=postgresql://brie:brie@localhost/brie
-# sqlalchemy.url=mysql://username:password@hostname:port/databasename
-
-
-# If you have sqlite, here's a simple default to get you started
-# in development
-
-#sqlalchemy.url = sqlite:///%(here)s/devdata.db
-#echo shouldn't be used together with the logging module.
-#sqlalchemy.echo = false
-#sqlalchemy.echo_pool = false
-#sqlalchemy.pool_recycle = 3600
-
-# if you are using Mako and want to be able to reload
-# the mako template from disk during the development phase
-# you should say 'true' here
-# This option is only used for mako templating engine
-# WARNING: if you want to deploy your application using a zipped egg
-# (ie: if your application's setup.py defines zip-safe=True, then you
-# MUST put "false" for the production environment because there will
-# be no disk and real files to compare time with.
-# On the contrary if your application defines zip-safe=False and is
-# deployed in an unzipped manner, then you can leave this option to true
-templating.mako.reloadfromdisk = true
-
-# the compiled template dir is a directory that must be readable by your
-# webserver. It will be used to store the resulting templates once compiled
-# by the TemplateLookup system.
-# During development you generally don't need this option since paste's HTTP
-# server will have access to you development directories, but in production
-# you'll most certainly want to have apache or nginx to write in a directory
-# that does not contain any source code in any form for obvious security reasons.
-#
-#templating.mako.compiled_templates_dir = /some/dir/where/webserver/has/access
-
-# WARNING: *THE LINE BELOW MUST BE UNCOMMENTED ON A PRODUCTION ENVIRONMENT*
-# Debug mode will enable the interactive debugging tool, allowing ANYONE to
-# execute malicious code after an exception is raised.
-#set debug = false
-
-# Logging configuration
-# Add additional loggers, handlers, formatters here
-# Uses python's logging config file format
-# http://docs.python.org/lib/logging-config-fileformat.html
-
-[loggers]
-keys = root, brie, sqlalchemy, auth
-
-[handlers]
-keys = console
-
-[formatters]
-keys = generic
-
-# If you create additional loggers, add them as a key to [loggers]
-[logger_root]
-level = INFO
-handlers = console
-
-[logger_brie]
-level = DEBUG
-handlers =
-qualname = brie
-
-[logger_sqlalchemy]
-level = INFO
-handlers =
-qualname = sqlalchemy.engine
-# "level = INFO" logs SQL queries.
-# "level = DEBUG" logs SQL queries and results.
-# "level = WARN" logs neither. (Recommended for production systems.)
-
-
-# A logger for authentication, identification and authorization -- this is
-# repoze.who and repoze.what:
-[logger_auth]
-level = WARN
-handlers =
-qualname = auth
-
-# If you create additional handlers, add them as a key to [handlers]
-[handler_console]
-class = StreamHandler
-args = (sys.stderr,)
-level = NOTSET
-formatter = generic
-
-# If you create additional formatters, add them as a key to [formatters]
-[formatter_generic]
-format = %(asctime)s,%(msecs)03d %(levelname)-5.5s [%(name)s] %(message)s
-datefmt = %H:%M:%S