Skip to content
This repository has been archived by the owner on Nov 9, 2017. It is now read-only.

Commit

Permalink
Browse files Browse the repository at this point in the history
Give names to the various adddeveloper errors.
  • Loading branch information
Logan Hanks committed Aug 22, 2012
1 parent f87053e commit 3a800ea
Show file tree
Hide file tree
Showing 4 changed files with 14 additions and 13 deletions.
10 changes: 5 additions & 5 deletions r2/r2/controllers/api.py
Expand Up @@ -2885,22 +2885,22 @@ def POST_updateapp(self, form, jquery, name, about_url, icon_url, redirect_uri):
@validatedForm(VUser(),
VModhash(),
client=VOAuth2ClientDeveloper(),
account=VExistingUnameNotSelf('name'))
account=VExistingUname('name'))
@api_doc(api_section.apps)
def POST_adddeveloper(self, form, jquery, client, account):
if not client:
form.set_html('.status', _('error'))
return
if form.has_errors('name', errors.USER_DOESNT_EXIST, errors.NO_USER):
form.set_html('.status', _('invalid user'))
return
if client.has_developer(account):
form.set_html('.status', _('already added'))
c.errors.add(errors.DEVELOPER_ALREADY_ADDED, field='name')
form.set_error(errors.DEVELOPER_ALREADY_ADDED, 'name')
return
try:
client.add_developer(account)
except OverflowError:
form.set_html('.status', _('too many developers'))
c.errors.add(errors.TOO_MANY_DEVELOPERS, field='')
form.set_error(errors.TOO_MANY_DEVELOPERS, '')
return

form.set_html('.status', _('developer added'))
Expand Down
2 changes: 2 additions & 0 deletions r2/r2/controllers/errors.py
Expand Up @@ -101,6 +101,8 @@
('NO_OTP_SECRET', _('you must enable two-factor authentication')),
('NOT_SUPPORTED', _('this feature is not supported')),
('BAD_IMAGE', _('image problem')),
('DEVELOPER_ALREADY_ADDED', _('already added')),
('TOO_MANY_DEVELOPERS', _('too many developers')),
))
errors = Storage([(e, e) for e in error_list.keys()])

Expand Down
10 changes: 2 additions & 8 deletions r2/r2/controllers/validator/validator.py
Expand Up @@ -1097,20 +1097,14 @@ def run(self, name):
return Account._by_name(name)
except NotFound:
self.error(errors.USER_DOESNT_EXIST)
self.error()
else:
self.error()

def param_docs(self):
return {
self.param: _('the name of an existing user')
}

class VExistingUnameNotSelf(VExistingUname):
def run(self, name):
user = super(VExistingUnameNotSelf, self).run(name)
if not user or user == c.user:
self.error()
return user

class VMessageRecipient(VExistingUname):
def run(self, name):
if not name:
Expand Down
5 changes: 5 additions & 0 deletions r2/r2/templates/prefapps.html
Expand Up @@ -139,6 +139,11 @@ <h3>${app._id}</h3>
<input type="hidden" name="client_id" value="${app._id}" />
${_('add developer')}: <input name="name">
<br>
${error_field('TOO_MANY_DEVELOPERS', '')}
${error_field('OAUTH2_INVALID_CLIENT', 'client_id')}
${error_field('DEVELOPER_ALREADY_ADDED', 'name')}
${error_field('USER_DOESNT_EXIST', 'name')}
${error_field('NO_USER', 'name')}
<span class="status"></span>
</form>
</td>
Expand Down

0 comments on commit 3a800ea

Please sign in to comment.