Skip to content

Commit

Permalink
[#1454] make ie7 fallback to normal dropdown, add logic functions, ma…
Browse files Browse the repository at this point in the history
…ke sure editor is in member dropdown
  • Loading branch information
kindly committed Jan 27, 2014
1 parent 4fa7b5c commit f9f39eb
Show file tree
Hide file tree
Showing 4 changed files with 21 additions and 15 deletions.
5 changes: 4 additions & 1 deletion ckan/controllers/group.py
Expand Up @@ -654,7 +654,10 @@ def member_new(self, id):
else:
c.user_role = 'member'
c.group_dict = self._action('group_show')(context, {'id': id})
c.roles = self._action('member_roles_list')(context, {'group_type': 'group'})
group_type = 'organization' if c.group_dict['is_organization'] else 'group'
c.roles = self._action('member_roles_list')(
context, {'group_type': group_type}
)
except NotAuthorized:
abort(401, _('Unauthorized to add member to group %s') % '')
except NotFound:
Expand Down
4 changes: 3 additions & 1 deletion ckan/logic/action/delete.py
Expand Up @@ -228,7 +228,7 @@ def member_delete(context, data_dict=None):
if not obj:
raise NotFound('%s was not found.' % obj_type.title())

_check_access('member_create', context, data_dict)
_check_access('member_delete', context, data_dict)

member = model.Session.query(model.Member).\
filter(model.Member.table_name == obj_type).\
Expand Down Expand Up @@ -572,6 +572,7 @@ def group_member_delete(context, data_dict=None):
:type username: string
'''
_check_access('group_member_delete',context, data_dict)
return _group_or_org_member_delete(context, data_dict)

def organization_member_delete(context, data_dict=None):
Expand All @@ -585,6 +586,7 @@ def organization_member_delete(context, data_dict=None):
:type username: string
'''
_check_access('organization_member_delete',context, data_dict)
return _group_or_org_member_delete(context, data_dict)


Expand Down
21 changes: 8 additions & 13 deletions ckan/logic/auth/delete.py
Expand Up @@ -2,6 +2,7 @@
import ckan.new_authz as new_authz
from ckan.logic.auth import get_package_object, get_group_object, get_related_object
from ckan.logic.auth import get_resource_object
import ckan.logic.auth.create as auth_create
from ckan.lib.base import _


Expand Down Expand Up @@ -130,19 +131,13 @@ def tag_delete(context, data_dict):
# sysadmins only
return {'success': False}

def _group_or_org_member_delete(context, data_dict):
group = get_group_object(context, data_dict)
user = context['user']
authorized = new_authz.has_user_permission_for_group_or_org(
group.id, user, 'delete_member')
if not authorized:
return {'success': False, 'msg': _('User %s not authorized to delete organization %s members') % (user, group.id)}
else:
return {'success': True}
return {'success': True}

def group_member_delete(context, data_dict):
return _group_or_org_member_delete(context, data_dict)
## just return true as logic runs through member_delete
return {'success': True}

def organization_member_delete(context, data_dict):
return _group_or_org_member_delete(context, data_dict)
## just return true as logic runs through member_delete
return {'success': True}

def member_delete(context, data_dict):
return auth_create.member_create(context, data_dict)
6 changes: 6 additions & 0 deletions ckan/public/base/javascript/modules/autocomplete.js
Expand Up @@ -72,6 +72,12 @@ this.ckan.module('autocomplete', function (jQuery, _) {
}
settings.initSelection = this.formatInitialValue;
}
else {
if (/MSIE (\d+\.\d+);/.test(navigator.userAgent)) {
var ieversion=new Number(RegExp.$1);
if (ieversion<=7) {return}
}
}

var select2 = this.el.select2(settings).data('select2');

Expand Down

0 comments on commit f9f39eb

Please sign in to comment.