On Nov 10, 2011, at 11:41 AM, Oren Livne wrote:
Dear Nate,
Thanks for your answer.
1. I could not find it in the admin panel in the UI. When I click on "Manage users", I get the user list and can select users, but there is no "Delete User" button.
Hi Oren, Hrm, it looks like the option to delete users was removed from the interface since it couldn't be made conditional on a configuration setting (due to a limitation in Galaxy's "Grids" feature, which is used to display the table of users in the UI). They can be added by uncommented lines 98-100 in lib/galaxy/web/controllers/admin.py: #operations.append( grids.GridOperation( "Delete", condition=( lambda item: not item.deleted ), allow_multiple=True ) ) #operations.append( grids.GridOperation( "Undelete", condition=( lambda item: item.deleted and not item.purged ), allow_multiple=True ) ) #operations.append( grids.GridOperation( "Purge", condition=( lambda item: item.deleted and not item.purged ), allow_multiple=True ) )
2. Which call in the code deletes a user? I can then write my own API method.
mark_user_deleted() in lib/galaxy/web/base/controller.py. The preferred method for implementing API methods is by moving the code in the web UI controller which performs the actual action to lib/galaxy/actions/ and then changing the API and UI methods to call that method. See the implementation of the Quota API for a reference.
3. If I try to reset passwords for more than one user at a time, I get the error trackback:
TypeError: Odd-length string URL: http://128.135.107.157:8080/admin/reset_user_password Module weberror.evalexception.middleware:364 in respond <plus.jpg> view
app_iter = self.application(environ, detect_start_response) Module paste.debug.prints:98 in __call__ <plus.jpg> view environ, self.app) Module paste.wsgilib:539 in intercept_output <plus.jpg> view app_iter = application(environ, replacement_start_response) Module paste.recursive:80 in __call__ <plus.jpg> view return self.application(environ, start_response) Module paste.httpexceptions:632 in __call__ <plus.jpg> view return self.application(environ, start_response) Module galaxy.web.framework.base:160 in __call__ <plus.jpg> view body = method( trans, **kwargs ) Module galaxy.web.framework:173 in decorator <plus.jpg> view return func( self, trans, *args, **kwargs ) Module galaxy.web.base.controller:2025 in reset_user_password <plus.jpg> view user = get_user( trans, user_id ) Module galaxy.web.base.controller:2413 in get_user <plus.jpg> view id = trans.security.decode_id( id ) Module galaxy.web.security:45 in decode_id <plus.jpg> view return int( self.id_cipher.decrypt( obj_id.decode( 'hex' ) ).lstrip( "!" ) ) Module encodings.hex_codec:42 in hex_decode <plus.jpg> view output = binascii.a2b_hex(input) TypeError: Odd-length string
4. A similar problem occurs when I try to delete multiple data libraries under "Manage data libraries". One library deletion works, but multiple yields an error message:
Invalid Library id ( df7a1f0c02a5b08e,0a248a1f62a0cc04,03501d7626bd192f,3f5830403180d620,2a56795cad3c7db3,417e33144b294c21,5a1cff6882ddb5b2,2d9035b3fc152403,4b187121143038ff,c9468fdb6dc5c5f1,1e8ab44153008be8,e85a3be143d5905b ) specifield.
Thanks for reporting these, we'll fix them as soon as possible. I've created a bitbucket here to track them: https://bitbucket.org/galaxy/galaxy-central/issue/678/some-user-and-library-... --nate
Thanks so much in advance, Oren
On 11/10/2011 10:36 AM, Nate Coraor wrote:
On Nov 9, 2011, at 6:14 PM, Oren Livne wrote:
Dear All, Is it possible to delete a galaxy user or multiple users with a UI call or an API call?
Hi Oren,
Deleting users via the API is not currently implemented, but it can be done under the admin panel in the UI. Adding it to the API would likely be fairly trivial.
--nate
Thanks, Oren ___________________________________________________________ Please keep all replies on the list by using "reply all" in your mail client. To manage your subscriptions to this and other Galaxy lists, please use the interface at: