- ##
- # list edits (open changesets) in reverse chronological order
- def list_rss
- conditions = conditions_nonempty
-
- @edits = Changeset.find(:all,
- :order => "changesets.created_at DESC",
- :conditions => conditions,
- :limit => 20)
-
- end
-
- ##
- # list edits (changesets) belonging to a user
- def list_user
- user = User.find_by_display_name(params[:display_name], :conditions => {:visible => true})
-
- if user
- @display_name = user.display_name
- if not user.data_public? and @user != user
- @edits = nil
- render
- else
- conditions = cond_merge conditions, ['user_id = ?', user.id]
- conditions = cond_merge conditions, conditions_nonempty
- @edit_pages, @edits = paginate(:changesets,
- :include => [:user, :changeset_tags],
- :conditions => conditions,
- :order => "changesets.created_at DESC",
- :per_page => 20)
+ if params[:display_name]
+ user = User.find_by_display_name(params[:display_name])
+
+ if user and user.active?
+ if user.data_public? or user == @user
+ changesets = changesets.where(:user_id => user.id)
+ else
+ changesets = changesets.where("false")
+ end
+ else
+ render_unknown_user params[:display_name]
+ return
+ end