+ if Settings.status != "database_offline"
+ can [:index, :new, :create, :show, :edit, :update, :destroy], ClientApplication
+ can [:create, :edit, :comment, :subscribe, :unsubscribe], DiaryEntry
+ can [:new, :create, :reply, :show, :inbox, :outbox, :mark, :destroy], Message
+ can [:close, :reopen], Note
+ can [:new, :create], Report
+ can [:mine, :new, :create, :edit, :update, :delete, :api_create, :api_read, :api_update, :api_delete, :api_data], Trace
+ can [:account, :go_public, :make_friend, :remove_friend, :api_details, :api_gpx_files], User
+ can [:read, :read_one, :update, :update_one, :delete_one], UserPreference
+
+ if user.terms_agreed?
+ can [:create, :update, :upload, :close, :subscribe, :unsubscribe, :expand_bbox], Changeset
+ can :create, ChangesetComment
+ can [:create, :update, :delete], Node
+ can [:create, :update, :delete], Way
+ can [:create, :update, :delete], Relation
+ end
+
+ if user.moderator?
+ can [:destroy, :restore], ChangesetComment
+ can [:index, :show, :resolve, :ignore, :reopen], Issue
+ can :create, IssueComment
+ can :destroy, Note
+ can [:new, :create, :edit, :update, :destroy], Redaction
+ can [:new, :edit, :create, :update, :revoke], UserBlock
+
+ if user.terms_agreed?
+ can :redact, OldNode
+ can :redact, OldWay
+ can :redact, OldRelation
+ end
+ end