mirror of
https://github.com/codeninjasllc/codecombat.git
synced 2025-02-17 00:40:56 -05:00
Added case and demo for user not found. Should be made prettier as soon as users can be queried by name
This commit is contained in:
parent
b065a524c1
commit
5dc54c784d
7 changed files with 47 additions and 21 deletions
|
@ -18,6 +18,9 @@ module.exports = class User extends CocoModel
|
|||
permissions = @attributes['permissions'] or []
|
||||
return 'admin' in permissions
|
||||
|
||||
isAnonymous: ->
|
||||
@get 'anonymous'
|
||||
|
||||
displayName: ->
|
||||
@get('name') or 'Anoner'
|
||||
|
||||
|
|
|
@ -3,10 +3,14 @@ extends /templates/base
|
|||
// User pages might have some user page specific header, if not remove this
|
||||
block content
|
||||
div
|
||||
ol.breadcrumb
|
||||
li
|
||||
- var userName = user.get('name');
|
||||
a(href="/user/#{user.id}") #{userName}
|
||||
li.active
|
||||
| #{currentUserView}
|
||||
if user
|
||||
ol.breadcrumb
|
||||
li
|
||||
- var userName = user.get('name');
|
||||
a(href="/user/#{user.id}") #{userName}
|
||||
li.active
|
||||
| #{currentUserView}
|
||||
else
|
||||
// TODO Ruben make this all fancy as soon as we can query users by name
|
||||
| User not found.
|
||||
|
||||
|
|
|
@ -1,11 +1,12 @@
|
|||
extends /templates/kinds/user
|
||||
|
||||
block append content
|
||||
.row
|
||||
each achievement, index in achievements
|
||||
- var title = achievement.get('name');
|
||||
- var description = achievement.get('description');
|
||||
- var imgURL = achievement.get('icon');
|
||||
- var locked = ! achievement.get('unlocked');
|
||||
.col-lg-4.col-xs-12
|
||||
include ../achievement_notify
|
||||
if achievements
|
||||
.row
|
||||
each achievement, index in achievements
|
||||
- var title = achievement.get('name');
|
||||
- var description = achievement.get('description');
|
||||
- var imgURL = achievement.get('icon');
|
||||
- var locked = ! achievement.get('unlocked');
|
||||
.col-lg-4.col-xs-12
|
||||
include ../achievement_notify
|
||||
|
|
|
@ -10,22 +10,30 @@ module.exports = class UserView extends RootView
|
|||
super options
|
||||
|
||||
@listenTo @, 'userLoaded', @onUserLoaded
|
||||
@listenTo @, 'userNotFound', @ifUserNotFound
|
||||
|
||||
# TODO Ruben Assume ID for now
|
||||
@user = User.getByID @nameOrID, {}, true,
|
||||
success: =>
|
||||
@trigger 'userLoaded', @user
|
||||
success: (user) =>
|
||||
@trigger 'userNotFound' unless user
|
||||
@trigger 'userLoaded', user
|
||||
error: =>
|
||||
console.debug 'Error while fetching user'
|
||||
@trigger 'userNotFound'
|
||||
|
||||
getRenderData: ->
|
||||
context = super()
|
||||
context.currentUserView = 'Achievements'
|
||||
context.user = @user
|
||||
context.user = @user unless @user?.isAnonymous()
|
||||
context
|
||||
|
||||
isMe: -> @nameOrID is me.id
|
||||
|
||||
onUserLoaded: ->
|
||||
console.log 'onUserLoaded'
|
||||
onUserLoaded: (user) ->
|
||||
console.log 'onUserLoaded', user
|
||||
|
||||
ifUserNotFound: ->
|
||||
console.warn 'user not found'
|
||||
|
||||
onLoaded: ->
|
||||
super()
|
||||
|
|
|
@ -34,6 +34,7 @@ module.exports = class UserAchievementsView extends UserView
|
|||
|
||||
getRenderData: ->
|
||||
context = super()
|
||||
context.achievements = @achievements.models
|
||||
context.earnedAchievements = @earnedAchievements.models
|
||||
if @user and not @user.isAnonymous()
|
||||
context.achievements = @achievements.models
|
||||
context.earnedAchievements = @earnedAchievements.models
|
||||
context
|
||||
|
|
BIN
public/images/achievements/cup-02.png
Normal file
BIN
public/images/achievements/cup-02.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 8.3 KiB |
9
test/demo/views/user/UserNotFound.demo.coffee
Normal file
9
test/demo/views/user/UserNotFound.demo.coffee
Normal file
|
@ -0,0 +1,9 @@
|
|||
UserAchievementsView = require 'views/user/achievements'
|
||||
|
||||
module.exports = ->
|
||||
view = new UserAchievementsView {}, 'thisiddoesntexist'
|
||||
|
||||
userRequest = jasmine.Ajax.requests.mostRecent()
|
||||
userRequest.response status: 404
|
||||
|
||||
view.render()
|
Loading…
Reference in a new issue