saberma/19wu — pull request #443 by saberma (2013-07-21 02:48:49+00:00)
Title: 活动页面已签到按钮不能点击 #402

#402 反映的问题重现步骤如下：

1. 用户报名后当天进行输入统一签到码签到
1. 刷新页面后原来的「已报名」按钮显示为「已签到」
1. 但是「已签到」按钮是可以点击的（ **问题所在** ），无意中点击到的话，就会取消报名
1. 取消报名后，由于活动已经开始，所以报名按钮显示为「已结束」，导致用户即使在活动现场也无法再重新报名，更无法签到了

针对这个问题，进行以下更正：

1. 将「签到」与「报名」分离，报名按钮不再显示「已签到」状态，用户签到后会单独显示「您已经成功签到！」的提示；
1. 将「签到表单」只在活动当天显示的条件限制取消，「报名」后立即在上方显示「签到表单」，提示到达现场后输入签到码，先让用户知道有这回事。否则到了现场也不知道要打开活动页面，进行签到；
1. 用户报名后如果再次点击「已报名」按钮，可以取消报名，但会有一个提示操作，避免无意中点击到。

另外，为了方便初始化 AngularJS 中变量的状态，为 Ruby 的 Hash 类增加了 `to_ng_init` 方法。

```ruby
{'user.id' => 1, :checked_in => true}.to_ng_init
=> "user.id=1;checked_in=true"
```