Esempio n. 1
0
class UserField(wtforms.Field):
    """
    A field that alls WTForms to produce a field that can be used
    to edit a db.UserProperty or ndb.UserProperty. Displays as a text field with an
    Email.
    """
    widget = wtforms.widgets.TextInput()
    __temporary_data = None

    def _value(self):
        if self.data:
            return self.data.email()
        else:
            return u''

    def process_formdata(self, valuelist):
        if valuelist and valuelist[0]:
            self.data = User(valuelist[0])
        else:
            self.data = None

    def pre_validate(self, form):
        if self.data:
            self.__temporary_data = self.data
            self.data = self.data.email()

    def post_validate(self, form, validation_stopped):
        if self.__temporary_data:
            self.data = self.__temporary_data
Esempio n. 2
0
  def post(self):
    from google.appengine.api.users import User
  
    error = None
    success = None
    dnzo_user = None
    dnzo_user_already = None
    google_user_to = None
  
    try:
      from_email = self.request.get('user_from', None)
      dnzo_user = get_dnzo_user_by_email(from_email)
  
      google_user_to = User(self.request.get('user_to', None))
      dnzo_user_already = get_dnzo_user(invalidate_cache=True, google_user=google_user_to)
    
    except:
      pass
  
    if dnzo_user is None:
      error = "Could not find existing DNZO user. Whoops!"
    elif dnzo_user_already is not None:
      error = "User exists already with that e-mail address! Delete him first."
    elif google_user_to is None:
      error = "Couldn't find the new Google user. Whoops!"
    else:
      clear_user_memcache(dnzo_user)
      dnzo_user.user = google_user_to
      save_user(dnzo_user)
      success = "Success! %s is now %s." % (from_email, google_user_to.email())

    self.render("admin/modify_user.html", error=error, success=success)
Esempio n. 3
0
class UserField(wtforms.Field):
    """
    A field that alls WTForms to produce a field that can be used
    to edit a db.UserProperty or ndb.UserProperty. Displays as a text field with an
    Email.
    """
    widget = wtforms.widgets.TextInput()
    __temporary_data = None

    def _value(self):
        if self.data:
            return self.data.email()
        else:
            return u''

    def process_formdata(self, valuelist):
        if valuelist and valuelist[0]:
            self.data = User(valuelist[0])
        else:
            self.data = None

    def pre_validate(self, form):
        if self.data:
            self.__temporary_data = self.data
            self.data = self.data.email()

    def post_validate(self, form, validation_stopped):
        if self.__temporary_data:
            self.data = self.__temporary_data
Esempio n. 4
0
    def post(self):
        from google.appengine.api.users import User

        error = None
        success = None
        dnzo_user = None
        dnzo_user_already = None
        google_user_to = None

        try:
            from_email = self.request.get('user_from', None)
            dnzo_user = get_dnzo_user_by_email(from_email)

            google_user_to = User(self.request.get('user_to', None))
            dnzo_user_already = get_dnzo_user(invalidate_cache=True,
                                              google_user=google_user_to)

        except:
            pass

        if dnzo_user is None:
            error = "Could not find existing DNZO user. Whoops!"
        elif dnzo_user_already is not None:
            error = "User exists already with that e-mail address! Delete him first."
        elif google_user_to is None:
            error = "Couldn't find the new Google user. Whoops!"
        else:
            clear_user_memcache(dnzo_user)
            dnzo_user.user = google_user_to
            save_user(dnzo_user)
            success = "Success! %s is now %s." % (from_email,
                                                  google_user_to.email())

        self.render("admin/modify_user.html", error=error, success=success)