mirror of
https://github.com/reddit-archive/reddit.git
synced 2026-01-26 15:28:37 -05:00
Give names to the various adddeveloper errors.
This commit is contained in:
@@ -2885,22 +2885,22 @@ class ApiController(RedditController, OAuth2ResourceController):
|
||||
@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'))
|
||||
|
||||
@@ -101,6 +101,8 @@ error_list = dict((
|
||||
('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()])
|
||||
|
||||
|
||||
@@ -1097,20 +1097,14 @@ class VExistingUname(VRequired):
|
||||
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:
|
||||
|
||||
@@ -139,6 +139,11 @@
|
||||
<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>
|
||||
|
||||
Reference in New Issue
Block a user