Bug #8545
Erreur lors de l'accès à l'interface de gestion des permissions
Statut:
Fermé
Priorité:
Normal
Assigné à:
-
Catégorie:
-
Version cible:
-
Début:
07 octobre 2015
Echéance:
% réalisé:
0%
Temps estimé:
Patch proposed:
Oui
Planning:
Description
constaté sur meaux.test et fontenay.test
https://demarches-fsb.test.au-quotidien.com/backoffice/settings/aq/permissions
Exception: type = '<type 'exceptions.ValueError'>', value = 'too many values to unpack' Stack trace (most recent call first): File "/usr/lib/pymodules/python2.7/quixote/form/widget.py", line 375, in set_options 373 if isinstance(first, tuple): 374 if len(first) == 2: > 375 for value, description in options: 376 values.append(value) 377 descriptions.append(description) locals: sort = False description = 'Personne' keys = [] self = <SingleSelectWidget at 44de290: forms> value = None values = [None] descriptions = ['Personne'] options = [(None, 'Personne'), ('30', 'contact fibre', '30'), ('32', 'contact orange', '32'), ('33', 'Coordinateur DSI', '33'), ('29', 'direction DAG', '29'), ('35', 'Gestionnaire Cabinet', '35'), ('2', 'Gestionnaire dev \xc3\xa9conomique', '2'), ('25', 'Gestionnaire \xc3\x89tat-civil', '25'), ('3', 'Gestionnaire Police Municipale', '3'), ('1', 'Gestionnaire proximit\xc3\xa9', '1'), ('31', 'Gestionnaires DP3E', '31'), ('28', 'Ressources humaines / recrutement', '28'), ('26', 'Service com', '26'), ('9', 'Signalements - aire de jeux', '9'), ('34', 'Signalements - DEA', '34'), ('13', 'Signalements - d\xc3\xa9capage sols', '13'), ('8', 'Signalements - divers', '8'), ('6', 'Signalements - \xc3\xa9clairage public', '6'), ('17', 'Signalements - \xc3\xa9lagage', '17'), ('11', 'Signalements - entreprises', '11'), ('18', 'Signalements - entretiens', '18'), ('14', 'Signalements - espace public', '14'), ('24', 'Signalements - hygi\xc3\xa8ne et s\xc3\xa9curit\xc3\xa9', '24'), ('23', 'Signalements - ma\xc3\xa7ons', '23'), ('20', 'Signalements - menuisiers', '20'), ('5', 'Signalements - mobilier urbain', '5'), ('15', 'Signalements - ordures m\xc3\xa9nag\xc3\xa8res', '15'), ('21', 'Signalements - plombiers', '21'), ('4', 'Signalements - responsable', '4'), ('22', 'Signalements - serruriers', '22'), ('7', 'Signalements - signalisation', '7'), ('19', 'Signalements - sous traitance', '19'), ('16', 'Signalements - tonte', '16'), ('12', 'Signalements - traitement tags', '12'), ('10', 'Signalements - transport', '10'), ('27', 'testeur', '27')] first = (None, 'Personne') File "/usr/lib/pymodules/python2.7/quixote/form/widget.py", line 306, in __init__ 304 raise ValueError, "a non-empty list of 'options' is required" 305 else: > 306 self.set_options(options, sort) 307 self.verify_selection = verify_selection 308 locals: sort = False name = 'forms' self = <SingleSelectWidget at 44de290: forms> value = None verify_selection = True kwargs = {'render_br': False, 'title': "R\xc3\xb4le d'administration des formulaires"} options = [(None, 'Personne'), ('30', 'contact fibre', '30'), ('32', 'contact orange', '32'), ('33', 'Coordinateur DSI', '33'), ('29', 'direction DAG', '29'), ('35', 'Gestionnaire Cabinet', '35'), ('2', 'Gestionnaire dev \xc3\xa9conomique', '2'), ('25', 'Gestionnaire \xc3\x89tat-civil', '25'), ('3', 'Gestionnaire Police Municipale', '3'), ('1', 'Gestionnaire proximit\xc3\xa9', '1'), ('31', 'Gestionnaires DP3E', '31'), ('28', 'Ressources humaines / recrutement', '28'), ('26', 'Service com', '26'), ('9', 'Signalements - aire de jeux', '9'), ('34', 'Signalements - DEA', '34'), ('13', 'Signalements - d\xc3\xa9capage sols', '13'), ('8', 'Signalements - divers', '8'), ('6', 'Signalements - \xc3\xa9clairage public', '6'), ('17', 'Signalements - \xc3\xa9lagage', '17'), ('11', 'Signalements - entreprises', '11'), ('18', 'Signalements - entretiens', '18'), ('14', 'Signalements - espace public', '14'), ('24', 'Signalements - hygi\xc3\xa8ne et s\xc3\xa9curit\xc3\xa9', '24'), ('23', 'Signalements - ma\xc3\xa7ons', '23'), ('20', 'Signalements - menuisiers', '20'), ('5', 'Signalements - mobilier urbain', '5'), ('15', 'Signalements - ordures m\xc3\xa9nag\xc3\xa8res', '15'), ('21', 'Signalements - plombiers', '21'), ('4', 'Signalements - responsable', '4'), ('22', 'Signalements - serruriers', '22'), ('7', 'Signalements - signalisation', '7'), ('19', 'Signalements - sous traitance', '19'), ('16', 'Signalements - tonte', '16'), ('12', 'Signalements - traitement tags', '12'), ('10', 'Signalements - transport', '10'), ('27', 'testeur', '27')] File "/usr/lib/pymodules/python2.7/quixote/form/form.py", line 234, in add 232 if name in self._names: 233 raise ValueError, "form already has '%s' widget" % name > 234 widget = widget_class(name, *args, **kwargs) 235 self._names[name] = widget 236 if isinstance(widget, SubmitWidget): locals: widget_class = <class 'quixote.form.widget.SingleSelectWidget'> self = <qommon.form.Form object at 0x44debd0> args = () name = 'forms' kwargs = {'value': None, 'options': [(None, 'Personne'), ('30', 'contact fibre', '30'), ('32', 'contact orange', '32'), ('33', 'Coordinateur DSI', '33'), ('29', 'direction DAG', '29'), ('35', 'Gestionnaire Cabinet', '35'), ('2', 'Gestionnaire dev \xc3\xa9conomique', '2'), ('25', 'Gestionnaire \xc3\x89tat-civil', '25'), ('3', 'Gestionnaire Police Municipale', '3'), ('1', 'Gestionnaire proximit\xc3\xa9', '1'), ('31', 'Gestionnaires DP3E', '31'), ('28', 'Ressources humaines / recrutement', '28'), ('26', 'Service com', '26'), ('9', 'Signalements - aire de jeux', '9'), ('34', 'Signalements - DEA', '34'), ('13', 'Signalements - d\xc3\xa9capage sols', '13'), ('8', 'Signalements - divers', '8'), ('6', 'Signalements - \xc3\xa9clairage public', '6'), ('17', 'Signalements - \xc3\xa9lagage', '17'), ('11', 'Signalements - entreprises', '11'), ('18', 'Signalements - entretiens', '18'), ('14', 'Signalements - espace public', '14'), ('24', 'Signalements - hygi\xc3\xa8ne et s\xc3\xa9curit\xc3\xa9', '24'), ('23', 'Signalements - ma\xc3\xa7ons', '23'), ('20', 'Signalements - menuisiers', '20'), ('5', 'Signalements - mobilier urbain', '5'), ('15', 'Signalements - ordures m\xc3\xa9nag\xc3\xa8res', '15'), ('21', 'Signalements - plombiers', '21'), ('4', 'Signalements - responsable', '4'), ('22', 'Signalements - serruriers', '22'), ('7', 'Signalements - signalisation', '7'), ('19', 'Signalements - sous traitance', '19'), ('16', 'Signalements - tonte', '16'), ('12', 'Signalements - traitement tags', '12'), ('10', 'Signalements - transport', '10'), ('27', 'testeur', '27')], 'render_br': False, 'title': "R\xc3\xb4le d'administration des formulaires"} File "/usr/lib/python2.7/dist-packages/wcs/qommon/form.py", line 264, in add 262 advanced = True 263 del kwargs['advanced'] > 264 QuixoteForm.add(self, widget_class, name, *args, **kwargs) 265 widget = self._names[name] 266 widget.advanced = advanced locals: name = 'forms' self = <qommon.form.Form object at 0x44debd0> args = () widget_class = <class 'quixote.form.widget.SingleSelectWidget'> kwargs = {'render_br': False, 'options': [(None, 'Personne'), ('30', 'contact fibre', '30'), ('32', 'contact orange', '32'), ('33', 'Coordinateur DSI', '33'), ('29', 'direction DAG', '29'), ('35', 'Gestionnaire Cabinet', '35'), ('2', 'Gestionnaire dev \xc3\xa9conomique', '2'), ('25', 'Gestionnaire \xc3\x89tat-civil', '25'), ('3', 'Gestionnaire Police Municipale', '3'), ('1', 'Gestionnaire proximit\xc3\xa9', '1'), ('31', 'Gestionnaires DP3E', '31'), ('28', 'Ressources humaines / recrutement', '28'), ('26', 'Service com', '26'), ('9', 'Signalements - aire de jeux', '9'), ('34', 'Signalements - DEA', '34'), ('13', 'Signalements - d\xc3\xa9capage sols', '13'), ('8', 'Signalements - divers', '8'), ('6', 'Signalements - \xc3\xa9clairage public', '6'), ('17', 'Signalements - \xc3\xa9lagage', '17'), ('11', 'Signalements - entreprises', '11'), ('18', 'Signalements - entretiens', '18'), ('14', 'Signalements - espace public', '14'), ('24', 'Signalements - hygi\xc3\xa8ne et s\xc3\xa9curit\xc3\xa9', '24'), ('23', 'Signalements - ma\xc3\xa7ons', '23'), ('20', 'Signalements - menuisiers', '20'), ('5', 'Signalements - mobilier urbain', '5'), ('15', 'Signalements - ordures m\xc3\xa9nag\xc3\xa8res', '15'), ('21', 'Signalements - plombiers', '21'), ('4', 'Signalements - responsable', '4'), ('22', 'Signalements - serruriers', '22'), ('7', 'Signalements - signalisation', '7'), ('19', 'Signalements - sous traitance', '19'), ('16', 'Signalements - tonte', '16'), ('12', 'Signalements - traitement tags', '12'), ('10', 'Signalements - transport', '10'), ('27', 'testeur', '27')], 'value': None, 'title': "R\xc3\xb4le d'administration des formulaires"} advanced = False File "/usr/lib/pymodules/python2.7/extra-wcs-au-quotidien/modules/admin.py", line 86, in permissions 84 form.add(SingleSelectWidget, 'forms', title = _('Admin role for forms'), 85 value = permissions_cfg.get('forms', None), > 86 options = [(None, _('Nobody'))] + get_user_roles()) 87 form.add(SingleSelectWidget, 'events', title = _('Admin role for events'), 88 value = permissions_cfg.get('events', None), locals: permissions_cfg = {} self = <modules.admin.PanelDirectory object at 0x810f050> form = <qommon.form.Form object at 0x44debd0> File "/usr/lib/pymodules/python2.7/quixote/directory.py", line 67, in _q_traverse 65 raise TraversalError 66 elif hasattr(obj, '__call__'): > 67 return obj() 68 else: 69 return obj locals: component = 'permissions' self = <modules.admin.PanelDirectory object at 0x810f050> obj = <bound method PanelDirectory.permissions of <modules.admin.PanelDirectory object at 0x810f050>> name = 'permissions' path = [] File "/usr/lib/pymodules/python2.7/quixote/directory.py", line 63, in _q_traverse 61 if path: 62 if hasattr(obj, '_q_traverse'): > 63 return obj._q_traverse(path) 64 else: 65 raise TraversalError locals: component = 'aq' self = <modules.admin.SettingsDirectory object at 0x44b9710> obj = <modules.admin.PanelDirectory object at 0x810f050> name = None path = ['permissions'] File "/usr/lib/pymodules/python2.7/quixote/directory.py", line 91, in _q_traverse 89 def _q_traverse(self, path): 90 self._q_access() > 91 return super(AccessControlled, self)._q_traverse(path) 92 93 locals: path = ['aq', 'permissions'] self = <modules.admin.SettingsDirectory object at 0x44b9710> File "/usr/lib/pymodules/python2.7/quixote/directory.py", line 63, in _q_traverse 61 if path: 62 if hasattr(obj, '_q_traverse'): > 63 return obj._q_traverse(path) 64 else: 65 raise TraversalError locals: component = 'settings' self = <modules.backoffice.BackofficeRootDirectory object at 0x44b9090> obj = <modules.admin.SettingsDirectory object at 0x44b9710> name = 'settings' path = ['aq', 'permissions'] File "/usr/lib/pymodules/python2.7/quixote/directory.py", line 91, in _q_traverse 89 def _q_traverse(self, path): 90 self._q_access() > 91 return super(AccessControlled, self)._q_traverse(path) 92 93 locals: path = ['settings', 'aq', 'permissions'] self = <modules.backoffice.BackofficeRootDirectory object at 0x44b9090> File "/usr/lib/python2.7/dist-packages/wcs/backoffice/root.py", line 85, in _q_traverse 83 pass 84 get_response().add_javascript(['jquery.js', 'gadjo.sidepage.js']) > 85 return super(RootDirectory, self)._q_traverse(path) 86 87 @classmethod locals: path = ['settings', 'aq', 'permissions'] self = <modules.backoffice.BackofficeRootDirectory object at 0x44b9090> File "/usr/lib/pymodules/python2.7/quixote/directory.py", line 63, in _q_traverse 61 if path: 62 if hasattr(obj, '_q_traverse'): > 63 return obj._q_traverse(path) 64 else: 65 raise TraversalError locals: component = 'backoffice' self = <modules.root.AlternateRootDirectory object at 0x44b9690> obj = <modules.backoffice.BackofficeRootDirectory object at 0x44b9090> name = 'backoffice' path = ['settings', 'aq', 'permissions'] File "/usr/lib/pymodules/python2.7/extra-wcs-au-quotidien/modules/root.py", line 845, in _q_traverse 843 return redirect('%s%s/%s' % (base_url, f.category.url_name, uri_rest)) 844 > 845 raise e 846 847 locals: path = ['backoffice', 'settings', 'aq', 'permissions'] self = <modules.root.AlternateRootDirectory object at 0x44b9690> response = <qommon.http_response.HTTPResponse instance at 0x7e33368> File "/usr/lib/pymodules/python2.7/quixote/publish.py", line 253, in try_publish 251 permanent=True) 252 components = path[1:].split('/') > 253 output = self.root_directory._q_traverse(components) 254 # The callable ran OK, commit any changes to the session 255 self.finish_successful_request() locals: path = '/backoffice/settings/aq/permissions' self = <publisher.WcsPublisher instance at 0x43cb5f0> request = <qommon.http_request.HTTPRequest instance at 0x80f7638> components = ['backoffice', 'settings', 'aq', 'permissions'] File "/usr/lib/python2.7/dist-packages/wcs/qommon/publisher.py", line 616, in try_publish 614 for extra_source in self.extra_sources: 615 self.substitutions.feed(extra_source(self, request)) > 616 return Publisher.try_publish(self, request) 617 618 def get_site_language(self): locals: extra_source = <class 'modules.abelium_domino_vars.DominoVariables'> pystatsd = <module 'qommon.vendor.pystatsd' from '/usr/lib/python2.7/dist-packages/wcs/qommon/vendor/pystatsd.pyc'> request = <qommon.http_request.HTTPRequest instance at 0x80f7638> script_name = '' prefix = 'm' override_template_keys = {'m': 'mobile'} canonical_hostname = 'meaux.test.au-quotidien.com' self = <publisher.WcsPublisher instance at 0x43cb5f0> File "/usr/lib/python2.7/dist-packages/wcs/publisher.py", line 215, in try_publish 213 if request.get_header('X_WCS_IFRAME_MODE', '') in ('true', 'yes'): 214 request.response.iframe_mode = True > 215 return QommonPublisher.try_publish(self, request) 216 217 def initialize_sql(self): locals: self = <publisher.WcsPublisher instance at 0x43cb5f0> request = <qommon.http_request.HTTPRequest instance at 0x80f7638> File "/usr/lib/pymodules/python2.7/quixote/publish.py", line 281, in process_request 279 except: 280 # Some other exception, generate error messages to the logs, etc. > 281 output = self.finish_failed_request() 282 output = self.filter_output(request, output) 283 self.logger.log_request(request, start_time) locals: start_time = 1444231341.834367 request = <qommon.http_request.HTTPRequest instance at 0x80f7638> self = <publisher.WcsPublisher instance at 0x43cb5f0> File "/usr/lib/python2.7/dist-packages/wcs/qommon/publisher.py", line 920, in process 918 def process(self, stdin, env): 919 request = HTTPRequest(stdin, env) > 920 self.response = self.process_request(request) 921 return self.response 922 locals: self = <publisher.WcsPublisher instance at 0x43cb5f0> stdin = <open file '<socket>', mode 'r' at 0x44c4c90> request = <qommon.http_request.HTTPRequest instance at 0x80f7638> env = {'HTTP_X_AU_QUOTIDIEN_LOCKED': 'False', 'HTTP_REFERER': 'https://meaux.test.au-quotidien.com/backoffice/settings/', 'SERVER_SOFTWARE': 'Apache/2.2.22 (Debian)', 'SCRIPT_NAME': '', 'REQUEST_METHOD': 'GET', 'PATH_INFO': '/backoffice/settings/aq/permissions', 'SERVER_PROTOCOL': 'HTTP/1.1', 'QUERY_STRING': '', 'SSL_TLS_SNI': 'meaux.test.au-quotidien.com', 'CONTENT_LENGTH': '0', 'HTTP_USER_AGENT': 'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/40.0.2214.111 Safari/537.36', 'HTTP_CONNECTION': 'keep-alive', 'HTTP_COOKIE': 'wcs-74174c="bbfba3494636f41f"; wcs-04c243="7043fe18d9e90004"; wcs-efaac7="c3fe524907d6888a"; wcs-8fc710="f35fd1a484def27b"; wcs-0b61bc="e25b83a0b32a01aa"; wcs-cb2590="b1d902fbf01eab09"', 'SERVER_NAME': 'meaux.test.au-quotidien.com', 'REMOTE_ADDR': '109.190.108.22', 'SERVER_PORT': '443', 'SERVER_ADDR': '94.23.114.98', 'DOCUMENT_ROOT': '/usr/share/wcs/web/', 'SERVER_ADMIN': 'webmaster@au-quotidien.com', 'SCRIPT_URI': 'https://meaux.test.au-quotidien.com/backoffice/settings/aq/permissions', 'REMOTE_USER': '8', 'HTTP_HOST': 'meaux.test.au-quotidien.com', 'SCRIPT_URL': '/backoffice/settings/aq/permissions', 'HTTPS': 'on', 'REQUEST_URI': '/backoffice/settings/aq/permissions', 'HTTP_ACCEPT': 'text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8', 'REMOTE_PORT': '55064', 'HTTP_ACCEPT_LANGUAGE': 'fr-FR,fr;q=0.8,en-US;q=0.6,en;q=0.4,zh-CN;q=0.2,zh;q=0.2,ru;q=0.2,ar;q=0.2,zh-TW;q=0.2,ko;q=0.2', 'SCGI': '1', 'HTTP_ACCEPT_ENCODING': 'gzip, deflate, sdch'} File "/usr/lib/pymodules/python2.7/quixote/server/scgi_server.py", line 27, in handle_connection 25 env['PATH_INFO'] = path[len(prefix):] + env.get('PATH_INFO', '') 26 > 27 response = self.publisher.process(input, env) 28 try: 29 response.write(output) locals: output = <open file '<socket>', mode 'w' at 0x44c4f60> self = <qommon.scgi_server.QommonHandler instance at 0x43cb2d8> conn = <socket object, fd=19, family=2, type=1, protocol=0> env = {'HTTP_X_AU_QUOTIDIEN_LOCKED': 'False', 'HTTP_REFERER': 'https://meaux.test.au-quotidien.com/backoffice/settings/', 'SERVER_SOFTWARE': 'Apache/2.2.22 (Debian)', 'SCRIPT_NAME': '', 'REQUEST_METHOD': 'GET', 'PATH_INFO': '/backoffice/settings/aq/permissions', 'SERVER_PROTOCOL': 'HTTP/1.1', 'QUERY_STRING': '', 'SSL_TLS_SNI': 'meaux.test.au-quotidien.com', 'CONTENT_LENGTH': '0', 'HTTP_USER_AGENT': 'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/40.0.2214.111 Safari/537.36', 'HTTP_CONNECTION': 'keep-alive', 'HTTP_COOKIE': 'wcs-74174c="bbfba3494636f41f"; wcs-04c243="7043fe18d9e90004"; wcs-efaac7="c3fe524907d6888a"; wcs-8fc710="f35fd1a484def27b"; wcs-0b61bc="e25b83a0b32a01aa"; wcs-cb2590="b1d902fbf01eab09"', 'SERVER_NAME': 'meaux.test.au-quotidien.com', 'REMOTE_ADDR': '109.190.108.22', 'SERVER_PORT': '443', 'SERVER_ADDR': '94.23.114.98', 'DOCUMENT_ROOT': '/usr/share/wcs/web/', 'SERVER_ADMIN': 'webmaster@au-quotidien.com', 'SCRIPT_URI': 'https://meaux.test.au-quotidien.com/backoffice/settings/aq/permissions', 'REMOTE_USER': '8', 'HTTP_HOST': 'meaux.test.au-quotidien.com', 'SCRIPT_URL': '/backoffice/settings/aq/permissions', 'HTTPS': 'on', 'REQUEST_URI': '/backoffice/settings/aq/permissions', 'HTTP_ACCEPT': 'text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8', 'REMOTE_PORT': '55064', 'HTTP_ACCEPT_LANGUAGE': 'fr-FR,fr;q=0.8,en-US;q=0.6,en;q=0.4,zh-CN;q=0.2,zh;q=0.2,ru;q=0.2,ar;q=0.2,zh-TW;q=0.2,ko;q=0.2', 'SCGI': '1', 'HTTP_ACCEPT_ENCODING': 'gzip, deflate, sdch'} input = <open file '<socket>', mode 'r' at 0x44c4c90> File "/usr/lib/python2.7/dist-packages/wcs/qommon/scgi_server.py", line 35, in handle_connection 33 def handle_connection(self, conn): 34 self.number_of_connection_handled = self.number_of_connection_handled + 1 > 35 quixote.server.scgi_server.QuixoteHandler.handle_connection(self, conn) 36 # input, output and conn are closed, long running jobs could be done 37 # here. locals: self = <qommon.scgi_server.QommonHandler instance at 0x43cb2d8> conn = <socket object, fd=19, family=2, type=1, protocol=0> File "/usr/lib/pymodules/python2.7/scgi/scgi_server.py", line 71, in serve 69 conn.setblocking(1) 70 os.close(fd) > 71 self.handle_connection(conn) 72 73 locals: self = <qommon.scgi_server.QommonHandler instance at 0x43cb2d8> fd = 18 conn = <socket object, fd=19, family=2, type=1, protocol=0> File "/usr/lib/pymodules/python2.7/scgi/scgi_server.py", line 194, in spawn_child 192 # the connection in the child 193 os.close(child_fd) > 194 self.handler_class(parent_fd).serve() 195 sys.exit(0) 196 else: locals: self = <qommon.scgi_server.SCGIServer instance at 0x43cb0e0> pid = 0 flags = 2 child_fd = 18 parent_fd = 17 conn = None File "/usr/lib/pymodules/python2.7/scgi/scgi_server.py", line 172, in __init__ 170 self.max_children = max_children 171 self.children = {} # { pid : fd } > 172 self.spawn_child() 173 self.restart = 0 174 locals: max_children = 5 host = 'localhost' handler_class = <function create_handler at 0x44b72a8> port = 3001 self = <qommon.scgi_server.SCGIServer instance at 0x43cb0e0> File "/usr/lib/python2.7/dist-packages/wcs/qommon/scgi_server.py", line 73, in run 71 72 s = SCGIServer(create_handler, host=host, port=port, > 73 max_children=max_children) 74 s.serve() 75 locals: create_handler = <function create_handler at 0x44b72a8> handler_connection_limit = -1 max_children = 5 create_publisher = <bound method classobj.create_publisher of <class publisher.WcsPublisher at 0x3a64870>> script_name = None host = 'localhost' spawn_cron = True port = 3001 File "/usr/lib/python2.7/dist-packages/wcs/ctl/start.py", line 138, in execute 136 137 try: > 138 run_function(publisher.WcsPublisher.create_publisher, **run_kwargs) 139 except socket.error, e: 140 self.del_pid() locals: publisher = <module 'publisher' from '/usr/lib/python2.7/dist-packages/wcs/publisher.pyc'> base_app_dir = '/var/lib/wcs-au-quotidien' args = [] tenant_path = '/var/lib/wcs-au-quotidien/jerome.au-quotidien.com' self = <wcs.ctl.start.CmdStart object at 0x33c0250> hostname = 'jerome.au-quotidien.com' pub = <publisher.WcsPublisher instance at 0x44c36c8> sub_options = <Values at 0x33de758: {'http': False, 'silent': False, 'app_dir': None, 'extra': ['/usr/lib/pymodules/python2.7/extra-wcs-au-quotidien/'], 'max_children': None, 'handler_connection_limit': None, 'script_name': None, 'daemonize': False, 'data_dir': None, 'port': 3001, 'pidfile': None}> run_function = <function run at 0x33dfd70> base_options = <Values at 0x33acc68: {'configfile': '/etc/wcs/wcs-au-quotidien.cfg'}> run_kwargs = {'port': 3001, 'spawn_cron': True} File "/usr/lib/python2.7/dist-packages/wcs/qommon/ctl.py", line 69, in run 67 for i, extra in enumerate(sub_options.extra): 68 self.config.set("extra", "cmd_line_extra_%d" % i, extra) > 69 return self.execute(base_options, sub_options, args) 70 71 def parse_args(self, args): locals: extra = '/usr/lib/pymodules/python2.7/extra-wcs-au-quotidien/' i = 0 self = <wcs.ctl.start.CmdStart object at 0x33c0250> args = [] sub_options = <Values at 0x33de758: {'http': False, 'silent': False, 'app_dir': None, 'extra': ['/usr/lib/pymodules/python2.7/extra-wcs-au-quotidien/'], 'max_children': None, 'handler_connection_limit': None, 'script_name': None, 'daemonize': False, 'data_dir': None, 'port': 3001, 'pidfile': None}> base_options = <Values at 0x33acc68: {'configfile': '/etc/wcs/wcs-au-quotidien.cfg'}> File "/usr/lib/python2.7/dist-packages/wcs/qommon/ctl.py", line 159, in run 157 command_class = self.get_commands()[command] 158 cmd = command_class() > 159 return cmd.run(args, options) 160 locals: cmd = <wcs.ctl.start.CmdStart object at 0x33c0250> args = ['--extra', '/usr/lib/pymodules/python2.7/extra-wcs-au-quotidien/'] self = <wcs.qommon.ctl.Ctl object at 0x3344e10> command_class = <class 'wcs.ctl.start.CmdStart'> command = 'start' cmd_prefix = 'wcs.ctl' options = <Values at 0x33acc68: {'configfile': '/etc/wcs/wcs-au-quotidien.cfg'}> File "/usr/sbin/wcsctl", line 8, in <module> 6 7 ctl = wcs.qommon.ctl.Ctl(cmd_prefixes=['wcs.ctl']) > 8 ctl.run(sys.argv[1:]) 9 locals: wcs = <module 'wcs' from '/usr/lib/python2.7/dist-packages/wcs/__init__.pyc'> __builtins__ = <module '__builtin__' (built-in)> __file__ = '/usr/sbin/wcsctl' __package__ = None sys = <module 'sys' (built-in)> ctl = <wcs.qommon.ctl.Ctl object at 0x3344e10> __name__ = '__main__' __doc__ = None Form: Cookies: wcs-04c243 '7043fe18d9e90004' wcs-0b61bc 'e25b83a0b32a01aa' wcs-74174c 'bbfba3494636f41f' wcs-8fc710 'f35fd1a484def27b' wcs-cb2590 'b1d902fbf01eab09' wcs-efaac7 'c3fe524907d6888a' Environment: CONTENT_LENGTH '0' DOCUMENT_ROOT '/usr/share/wcs/web/' HTTPS 'on' HTTP_ACCEPT 'text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8' HTTP_ACCEPT_ENCODING 'gzip, deflate, sdch' HTTP_ACCEPT_LANGUAGE 'fr-FR,fr;q=0.8,en-US;q=0.6,en;q=0.4,zh-CN;q=0.2,zh;q=0.2,ru;q=0.2,ar;q=0.2,zh-TW;q=0.2,ko;q=0.2' HTTP_CONNECTION 'keep-alive' HTTP_COOKIE 'wcs-74174c="bbfba3494636f41f"; wcs-04c243="7043fe18d9e90004"; wcs-efaac7="c3fe524907d6888a"; wcs-8fc710="f35fd1a484def27b"; wcs-0b61bc="e25b83a0b32a01aa"; wcs-cb2590="b1d902fbf01eab09"' HTTP_HOST 'meaux.test.au-quotidien.com' HTTP_REFERER 'https://meaux.test.au-quotidien.com/backoffice/settings/' HTTP_USER_AGENT 'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/40.0.2214.111 Safari/537.36' HTTP_X_AU_QUOTIDIEN_LOCKED 'False' PATH_INFO '/backoffice/settings/aq/permissions' QUERY_STRING '' REMOTE_ADDR '109.190.108.22' REMOTE_PORT '55064' REMOTE_USER '8' REQUEST_METHOD 'GET' REQUEST_URI '/backoffice/settings/aq/permissions' SCGI '1' SCRIPT_NAME '' SCRIPT_URI 'https://meaux.test.au-quotidien.com/backoffice/settings/aq/permissions' SCRIPT_URL '/backoffice/settings/aq/permissions' SERVER_ADDR '94.23.114.98' SERVER_ADMIN 'webmaster@au-quotidien.com' SERVER_NAME 'meaux.test.au-quotidien.com' SERVER_PORT '443' SERVER_PROTOCOL 'HTTP/1.1' SERVER_SOFTWARE 'Apache/2.2.22 (Debian)' SSL_TLS_SNI 'meaux.test.au-quotidien.com'
Fichiers
Révisions associées
Historique
Mis à jour par Victor Claudet il y a plus de 8 ans
- Lié à Bug #8324: Supprimer l'accès à la gestion des utilisateurs wcs ajouté
Mis à jour par Frédéric Péters il y a plus de 8 ans
- Projet changé de w.c.s. à Au quotidien
(les perms d'auquo, pas les vraies perms)
Mis à jour par Frédéric Péters il y a plus de 8 ans
- Lié à Bug #8324: Supprimer l'accès à la gestion des utilisateurs wcs supprimé
Mis à jour par Frédéric Péters il y a plus de 8 ans
Ce que je dis là, c'est que pour "cacher" utilisateurs/rôles, ce n'est pas à cette page, qui concerne les trucs auquotidien (événements, actus, etc.). Ce que tu cherches c'est "Permissions d'administration" dans le pavé "Sécurité".
Mis à jour par Frédéric Péters il y a plus de 8 ans
- Fichier 0001-admin-adapt-custom-permission-panel-to-get_user_role.patch 0001-admin-adapt-custom-permission-panel-to-get_user_role.patch ajouté
- Statut changé de Nouveau à En cours
- Patch proposed changé de Non à Oui
J'avais ce patch dans mon arbre local mais même pas commité. :/
Mis à jour par Frédéric Péters il y a plus de 8 ans
- Statut changé de En cours à Résolu (à déployer)
commit a52481cc3aac1a9f9d341961cc892eb7e1d93921 Author: Frédéric Péters <fpeters@entrouvert.com> Date: Wed Oct 7 18:23:30 2015 +0200 admin: adapt custom permission panel to get_user_roles() change (#8545)
admin: adapt custom permission panel to get_user_roles() change (#8545)