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-libra...
--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:
>>
>>
>>
http://lists.bx.psu.edu/