merged
This commit is contained in:
commit
52074c0002
@ -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,
|
||||
|
@ -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 {
|
||||
|
@ -49,7 +49,7 @@
|
||||
<span class="section_name">${("Aile " + area.cn.first()).upper()}</span>
|
||||
<div py:for="floor, rooms in reverse_sorted_name(floors.iteritems())" class="floor">
|
||||
<span class="floor_name">étage ${floor.cn.first()}</span>
|
||||
<div py:for="room in rooms" class="room_number">
|
||||
<div py:for="room in sorted(rooms, key=lambda t:t.cn.first())" class="room_number">
|
||||
<a href="/rooms/preview/${residence}/${room.uid.first()}"><span>${room.cn.first()}</span></a>
|
||||
</div>
|
||||
</div>
|
||||
|
@ -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
|
Loading…
Reference in New Issue
Block a user