Ajout du bouton pour supprimer des machines
This commit is contained in:
parent
6053da5101
commit
fb6ea3fe27
@ -147,7 +147,7 @@ class MachineDeleteController(AuthenticatedRestController):
|
|||||||
member = Member.get_by_uid(self.user, residence_dn, member_uid)
|
member = Member.get_by_uid(self.user, residence_dn, member_uid)
|
||||||
machine = Machine.get_machine_by_id(self.user, member.dn, machine_id)
|
machine = Machine.get_machine_by_id(self.user, member.dn, machine_id)
|
||||||
dns = Machine.get_dns_by_id(self.user, machine.dn, machine_id)
|
dns = Machine.get_dns_by_id(self.user, machine.dn, machine_id)
|
||||||
ip = IpReservation.get_ip(residence_dn, dns.dlzData.first())
|
ip = IpReservation.get_ip(self.user, residence_dn, dns.dlzData.first())
|
||||||
|
|
||||||
# Si la machine existe effectivement, on la supprime
|
# Si la machine existe effectivement, on la supprime
|
||||||
if machine is not None:
|
if machine is not None:
|
||||||
@ -155,11 +155,11 @@ class MachineDeleteController(AuthenticatedRestController):
|
|||||||
self.user.ldap_bind.delete_entry_subtree(machine.dn)
|
self.user.ldap_bind.delete_entry_subtree(machine.dn)
|
||||||
|
|
||||||
taken_attribute = IpReservation.taken_attr(ip.get("x-taken").first())
|
taken_attribute = IpReservation.taken_attr(ip.get("x-taken").first())
|
||||||
self.user.ldap_bind.delete_attr(taken_attribute)
|
self.user.ldap_bind.delete_attr(ip.dn, taken_attribute)
|
||||||
#end if
|
#end if
|
||||||
|
|
||||||
# On redirige sur la page d'édition du membre
|
# On redirige sur la page d'édition du membre
|
||||||
redirect("/edit/room/" + residence + "/" + member_uid)
|
redirect("/edit/member/" + residence + "/" + member_uid)
|
||||||
#end def
|
#end def
|
||||||
#end def
|
#end def
|
||||||
|
|
||||||
|
@ -233,7 +233,7 @@ class IpReservation:
|
|||||||
@staticmethod
|
@staticmethod
|
||||||
def taken_attr(description):
|
def taken_attr(description):
|
||||||
return {
|
return {
|
||||||
"x-taken" : description
|
"x-taken" : str(description)
|
||||||
}
|
}
|
||||||
#end def
|
#end def
|
||||||
|
|
||||||
|
@ -54,9 +54,15 @@
|
|||||||
</div>
|
</div>
|
||||||
<div class="section">
|
<div class="section">
|
||||||
<span class="section_name show_section_name">MACHINES</span>
|
<span class="section_name show_section_name">MACHINES</span>
|
||||||
<div py:for="name, mac, ip in machines">
|
<div py:for="name, mac, ip, id in machines">
|
||||||
<span class="item_name">${name}</span>
|
<span class="item_name">${name}</span>
|
||||||
<span>${mac} : ${ip}</span>
|
<span>${mac} : ${ip}</span>
|
||||||
|
<form action="/edit/machine/delete/" method="post" class="inline_block">
|
||||||
|
<input type="hidden" name="residence" value="${residence}"/>
|
||||||
|
<input type="hidden" name="member_uid" value="${member_ldap.uid.first()}"/>
|
||||||
|
<input type="hidden" name="machine_id" value="${id}"/>
|
||||||
|
<input type="submit" value="X" class="button"/>
|
||||||
|
</form>
|
||||||
</div>
|
</div>
|
||||||
<div>
|
<div>
|
||||||
<form action="/edit/machine/add/" method="post">
|
<form action="/edit/machine/add/" method="post">
|
||||||
|
130
Brie/development.ini
Normal file
130
Brie/development.ini
Normal file
@ -0,0 +1,130 @@
|
|||||||
|
#
|
||||||
|
# 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 = 9004
|
||||||
|
|
||||||
|
[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