diff options
author | Dmitriy Zaporozhets <dzaporozhets@sphereconsultinginc.com> | 2011-10-09 00:36:38 +0300 |
---|---|---|
committer | Dmitriy Zaporozhets <dzaporozhets@sphereconsultinginc.com> | 2011-10-09 00:36:38 +0300 |
commit | e98c77857f9f765d1854b92c2dc33049504a596d (patch) | |
tree | 52fbfc1cdb55df21843965479c97be0c91121a9a /app/controllers/admin | |
parent | 0f43e98ef8c2da8908b1107f75b67cda2572c2c4 (diff) | |
download | gitlab-ce-0.9.4.tar.gz |
init commitv0.9.4
Diffstat (limited to 'app/controllers/admin')
-rw-r--r-- | app/controllers/admin/mailer_controller.rb | 44 | ||||
-rw-r--r-- | app/controllers/admin/projects_controller.rb | 73 | ||||
-rw-r--r-- | app/controllers/admin/team_members_controller.rb | 75 | ||||
-rw-r--r-- | app/controllers/admin/users_controller.rb | 84 |
4 files changed, 276 insertions, 0 deletions
diff --git a/app/controllers/admin/mailer_controller.rb b/app/controllers/admin/mailer_controller.rb new file mode 100644 index 00000000000..05ad267fad5 --- /dev/null +++ b/app/controllers/admin/mailer_controller.rb @@ -0,0 +1,44 @@ +class Admin::MailerController < ApplicationController + before_filter :authenticate_user! + before_filter :authenticate_admin! + + def preview + + end + + def preview_note + @note = Note.first + @user = @note.author + @project = @note.project + case params[:type] + when "Commit" then + @commit = @project.commit + render :file => 'notify/note_commit_email.html.haml', :layout => 'notify' + when "Issue" then + @issue = Issue.first + render :file => 'notify/note_issue_email.html.haml', :layout => 'notify' + else + render :file => 'notify/note_wall_email.html.haml', :layout => 'notify' + end + rescue + render :text => "Preview not avaialble" + end + + def preview_user_new + @user = User.first + @password = "DHasJKDHAS!" + + render :file => 'notify/new_user_email.html.haml', :layout => 'notify' + rescue + render :text => "Preview not avaialble" + end + + def preview_issue_new + @issue = Issue.first + @user = @issue.assignee + @project = @issue.project + render :file => 'notify/new_issue_email.html.haml', :layout => 'notify' + rescue + render :text => "Preview not avaialble" + end +end diff --git a/app/controllers/admin/projects_controller.rb b/app/controllers/admin/projects_controller.rb new file mode 100644 index 00000000000..fe5ada8f1cb --- /dev/null +++ b/app/controllers/admin/projects_controller.rb @@ -0,0 +1,73 @@ +class Admin::ProjectsController < ApplicationController + before_filter :authenticate_user! + before_filter :authenticate_admin! + + def index + @admin_projects = Project.page(params[:page]) + + respond_to do |format| + format.html # index.html.erb + format.json { render json: @admin_projects } + end + end + + def show + @admin_project = Project.find_by_code(params[:id]) + + respond_to do |format| + format.html # show.html.erb + format.json { render json: @admin_project } + end + end + + def new + @admin_project = Project.new + + respond_to do |format| + format.html # new.html.erb + format.json { render json: @admin_project } + end + end + + def edit + @admin_project = Project.find_by_code(params[:id]) + end + + def create + @admin_project = Project.new(params[:project]) + + respond_to do |format| + if @admin_project.save + format.html { redirect_to [:admin, @admin_project], notice: 'Project was successfully created.' } + format.json { render json: @admin_project, status: :created, location: @admin_project } + else + format.html { render action: "new" } + format.json { render json: @admin_project.errors, status: :unprocessable_entity } + end + end + end + + def update + @admin_project = Project.find_by_code(params[:id]) + + respond_to do |format| + if @admin_project.update_attributes(params[:project]) + format.html { redirect_to [:admin, @admin_project], notice: 'Project was successfully updated.' } + format.json { head :ok } + else + format.html { render action: "edit" } + format.json { render json: @admin_project.errors, status: :unprocessable_entity } + end + end + end + + def destroy + @admin_project = Project.find_by_code(params[:id]) + @admin_project.destroy + + respond_to do |format| + format.html { redirect_to admin_projects_url } + format.json { head :ok } + end + end +end diff --git a/app/controllers/admin/team_members_controller.rb b/app/controllers/admin/team_members_controller.rb new file mode 100644 index 00000000000..bca9bfebbfd --- /dev/null +++ b/app/controllers/admin/team_members_controller.rb @@ -0,0 +1,75 @@ +class Admin::TeamMembersController < ApplicationController + before_filter :authenticate_user! + before_filter :authenticate_admin! + + def index + @admin_team_members = UsersProject.page(params[:page]).per(100).order("project_id DESC") + + respond_to do |format| + format.html # index.html.erb + format.json { render json: @admin_team_members } + end + end + + def show + @admin_team_member = UsersProject.find(params[:id]) + + respond_to do |format| + format.html # show.html.erb + format.json { render json: @admin_team_member } + end + end + + def new + @admin_team_member = UsersProject.new(params[:team_member]) + + respond_to do |format| + format.html # new.html.erb + format.json { render json: @admin_team_member } + end + end + + def edit + @admin_team_member = UsersProject.find(params[:id]) + end + + def create + @admin_team_member = UsersProject.new(params[:team_member]) + @admin_team_member.project_id = params[:team_member][:project_id] + + respond_to do |format| + if @admin_team_member.save + format.html { redirect_to admin_team_member_path(@admin_team_member), notice: 'UsersProject was successfully created.' } + format.json { render json: @admin_team_member, status: :created, location: @team_member } + else + format.html { render action: "new" } + format.json { render json: @admin_team_member.errors, status: :unprocessable_entity } + end + end + end + + def update + @admin_team_member = UsersProject.find(params[:id]) + @admin_team_member.project_id = params[:team_member][:project_id] + + respond_to do |format| + if @admin_team_member.update_attributes(params[:team_member]) + format.html { redirect_to admin_team_member_path(@admin_team_member), notice: 'UsersProject was successfully updated.' } + format.json { head :ok } + else + format.html { render action: "edit" } + format.json { render json: @admin_team_member.errors, status: :unprocessable_entity } + end + end + end + + def destroy + @admin_team_member = UsersProject.find(params[:id]) + @admin_team_member.destroy + + respond_to do |format| + format.html { redirect_to admin_team_members_url } + format.json { head :ok } + end + end +end diff --git a/app/controllers/admin/users_controller.rb b/app/controllers/admin/users_controller.rb new file mode 100644 index 00000000000..5190dd06a8d --- /dev/null +++ b/app/controllers/admin/users_controller.rb @@ -0,0 +1,84 @@ +class Admin::UsersController < ApplicationController + before_filter :authenticate_user! + before_filter :authenticate_admin! + + def index + @admin_users = User.page(params[:page]) + + respond_to do |format| + format.html # index.html.erb + format.json { render json: @admin_users } + end + end + + def show + @admin_user = User.find(params[:id]) + + respond_to do |format| + format.html # show.html.erb + format.json { render json: @admin_user } + end + end + + def new + @admin_user = User.new + + respond_to do |format| + format.html # new.html.erb + format.json { render json: @admin_user } + end + end + + def edit + @admin_user = User.find(params[:id]) + end + + def create + admin = params[:user].delete("admin") + + @admin_user = User.new(params[:user]) + @admin_user.admin = (admin && admin.to_i > 0) + + respond_to do |format| + if @admin_user.save + Notify.new_user_email(@admin_user, params[:user][:password]).deliver + format.html { redirect_to [:admin, @admin_user], notice: 'User was successfully created.' } + format.json { render json: @admin_user, status: :created, location: @admin_user } + else + format.html { render action: "new" } + format.json { render json: @admin_user.errors, status: :unprocessable_entity } + end + end + end + + def update + admin = params[:user].delete("admin") + if params[:user][:password].empty? + params[:user].delete(:password) + params[:user].delete(:password_confirmation) + end + + @admin_user = User.find(params[:id]) + @admin_user.admin = (admin && admin.to_i > 0) + + respond_to do |format| + if @admin_user.update_attributes(params[:user]) + format.html { redirect_to [:admin, @admin_user], notice: 'User was successfully updated.' } + format.json { head :ok } + else + format.html { render action: "edit" } + format.json { render json: @admin_user.errors, status: :unprocessable_entity } + end + end + end + + def destroy + @admin_user = User.find(params[:id]) + @admin_user.destroy + + respond_to do |format| + format.html { redirect_to admin_users_url } + format.json { head :ok } + end + end +end |