Blob Blame Raw


import exception
from action.action import Action
from action.user import UserBase


class SslcertCreate(UserBase):
  def process(self, request):
    user_id = self.parse_user_id(request)
    data = request.model.sslcerts.extract_data( str(request.postvars.get('data', '')) )

    user = request.model.users.get_by_id(user_id)
    if not user:
      raise exception.ActionError( request.t('User not found') )

    sslcert = None
    try:
      sslcert = request.model.sslcerts.create(user, data)
    except Exception as e:
      self.propagate_exception(e)

    request.connection.commit()
    return self.redirect_to_user(request, user, ['edit'])


class SslcertDelete(UserBase):
  def process(self, request):
    sslcert_id = 0
    try:
      sslcert_id = int(request.postvars.get('sslcert_id', 0))
    except Exception:
      raise exception.ActionError( request.t('SSL Certificate Id incorrect') )
    if not sslcert_id:
      raise exception.ActionError( request.t('SSL Certificate Id incorrect') )

    sslcert = request.model.sslcerts.get_by_id(sslcert_id)
    if not sslcert:
      raise exception.ActionError( request.t('SSL Certificate not found') )
    user = sslcert.get_user()

    try:
      sslcert.delete()
    except Exception as e:
      self.propagate_exception(e)

    request.connection.commit()
    return self.redirect_to_user(request, user, ['edit'])


actions = {
  'create' : SslcertCreate(),
  'delete' : SslcertDelete(),
}