def __call__(self):

        res = AdminView.__call__(self)

        if self.request.params.get("submit", None) == "save":

            _sharing = {}

            for user_id in self.list_user_ids():

                for group_id in self.list_group_ids():

                    if self.request.params.get("map--%s--%s" % (group_id, user_id), None):
                        if not group_id in _sharing:
                            _sharing[group_id] = []

                        _sharing[group_id].append(user_id)

            setattr(self.context, SHARING_ATTR, _sharing)

        elif self.request.params.get("submit", None) == "cancel":

            return HTTPFound(location=self.url)

        return res
    def __init__(self, context, request):

        AdminView.__init__(self, context, request)