Beispiel #1
0
def edit_permission(request, app=None, priv=None):
  """
  edit_permission(request, app = None, priv = None) -> reply

  @type request:        HttpRequest
  @param request:       The request object
  @type app:       string
  @param app:      Default to None, specifies the app of the privilege
  @type priv:      string
  @param priv      Default to None, the action of the privilege

  Only superusers may modify permissions
  """
  if not request.user.is_superuser:
    raise PopupException(_("You must be a superuser to change permissions."), error_code=401)

  instance = HuePermission.objects.get(app=app, action=priv)

  if request.method == 'POST':
    form = PermissionsEditForm(request.POST, instance=instance)
    if form.is_valid():
      form.save()
      request.info(_('Permission information updated'))
      return render("list_permissions.mako", request, dict(permissions=HuePermission.objects.all()))

  else:
    form = PermissionsEditForm(instance=instance)

  return render('edit_permissions.mako', request, dict(form=form, action=request.path, app=app, priv=priv))
Beispiel #2
0
def edit_permission(request, app=None, priv=None):
    """
  edit_permission(request, app = None, priv = None) -> reply

  @type request:        HttpRequest
  @param request:       The request object
  @type app:       string
  @param app:      Default to None, specifies the app of the privilege
  @type priv:      string
  @param priv      Default to None, the action of the privilege

  Only superusers may modify permissions
  """
    if not request.user.is_superuser:
        raise PopupException(
            _("You must be a superuser to change permissions."),
            error_code=401)

    instance = HuePermission.objects.get(app=app, action=priv)

    if request.method == 'POST':
        form = PermissionsEditForm(request.POST, instance=instance)
        if form.is_valid():
            form.save()
            request.info(_('Permission information updated'))
            return render("list_permissions.mako", request,
                          dict(permissions=HuePermission.objects.all()))

    else:
        form = PermissionsEditForm(instance=instance)

    return render('edit_permissions.mako', request,
                  dict(form=form, action=request.path, app=app, priv=priv))
Beispiel #3
0
Datei: views.py Projekt: 10sr/hue
def edit_permission(request, app=None, priv=None):
  """
  edit_permission(request, app = None, priv = None) -> reply

  @type request:        HttpRequest
  @param request:       The request object
  @type app:       string
  @param app:      Default to None, specifies the app of the privilege
  @type priv:      string
  @param priv      Default to None, the action of the privilege

  Only superusers may modify permissions
  """
  if not request.user.is_superuser:
    request.audit = {
      'operation': 'EDIT_PERMISSION',
      'operationText': _get_failed_operation_text(request.user.username, 'EDIT_PERMISSION'),
      'allowed': False
    }
    raise PopupException(_("You must be a superuser to change permissions."), error_code=401)

  instance = HuePermission.objects.get(app=app, action=priv)

  if request.method == 'POST':
    form = PermissionsEditForm(request.POST, instance=instance)
    if form.is_valid():
      form.save()
      request.info(_('Permission information updated'))
      request.audit = {
        'operation': 'EDIT_PERMISSION',
        'operationText': 'Successfully edited permissions: %(app)s/%(priv)s' % {'app': app, 'priv': priv}
      }

      return redirect(reverse(list_permissions))
  else:
    form = PermissionsEditForm(instance=instance)

  return render('edit_permissions.mako', request, {
    'form': form,
    'action': request.path,
    'app': app,
    'priv': priv,
    'is_embeddable': request.GET.get('is_embeddable', False),
  })
Beispiel #4
0
def edit_permission(request, app=None, priv=None):
  """
  edit_permission(request, app = None, priv = None) -> reply

  @type request:        HttpRequest
  @param request:       The request object
  @type app:       string
  @param app:      Default to None, specifies the app of the privilege
  @type priv:      string
  @param priv      Default to None, the action of the privilege

  Only superusers may modify permissions
  """
  if not request.user.is_superuser:
    request.audit = {
      'operation': 'EDIT_PERMISSION',
      'operationText': _get_failed_operation_text(request.user.username, 'EDIT_PERMISSION'),
      'allowed': False
    }
    raise PopupException(_("You must be a superuser to change permissions."), error_code=401)

  instance = HuePermission.objects.get(app=app, action=priv)
  is_embeddable = request.GET.get('is_embeddable', request.POST.get('is_embeddable', False))

  if request.method == 'POST':
    form = PermissionsEditForm(request.POST, instance=instance)
    if form.is_valid():
      form.save()
      request.audit = {
        'operation': 'EDIT_PERMISSION',
        'operationText': 'Successfully edited permissions: %(app)s/%(priv)s' % {'app': app, 'priv': priv}
      }

      if is_embeddable:
        return JsonResponse({'url': '/hue' + reverse(list_permissions)})
      else:
        request.info(_('Permission information updated'))
        return redirect(reverse(list_permissions))
  else:
    form = PermissionsEditForm(instance=instance)
  if request.method == 'POST' and is_embeddable:
    return JsonResponse(
      {'status': -1, 'errors': [{'id': f.id_for_label, 'message': f.errors} for f in form if f.errors]})
  else:
    return render('edit_permissions.mako', request, {
      'form': form,
      'action': request.path,
      'app': app,
      'priv': priv,
      'is_embeddable': is_embeddable,
    })
Beispiel #5
0
def edit_permission(request, app=None, priv=None):
  """
  edit_permission(request, app = None, priv = None) -> reply

  @type request:        HttpRequest
  @param request:       The request object
  @type app:       string
  @param app:      Default to None, specifies the app of the privilege
  @type priv:      string
  @param priv      Default to None, the action of the privilege

  Only superusers may modify permissions
  """
  if not request.user.is_superuser:
    request.audit = {
      'operation': 'EDIT_PERMISSION',
      'operationText': _get_failed_operation_text(request.user.username, 'EDIT_PERMISSION'),
      'allowed': False
    }
    raise PopupException(_("You must be a superuser to change permissions."), error_code=401)

  instance = HuePermission.objects.get(app=app, action=priv)

  if request.method == 'POST':
    form = PermissionsEditForm(request.POST, instance=instance)
    if form.is_valid():
      form.save()
      request.info(_('Permission information updated'))
      request.audit = {
        'operation': 'EDIT_PERMISSION',
        'operationText': 'Successfully edited permissions: %(app)s/%(priv)s' % {'app': app, 'priv': priv}
      }

      return redirect(reverse(list_permissions))
  else:
    form = PermissionsEditForm(instance=instance)

  return render('edit_permissions.mako', request, dict(form=form, action=request.path, app=app, priv=priv))