diff --git a/app/controllers/poll_answer_controller.rb b/app/controllers/poll_answer_controller.rb new file mode 100644 index 000000000..521f7ed3f --- /dev/null +++ b/app/controllers/poll_answer_controller.rb @@ -0,0 +1,2 @@ +class PollAnswerController < ApplicationController +end \ No newline at end of file diff --git a/app/controllers/poll_controller.rb b/app/controllers/poll_controller.rb new file mode 100644 index 000000000..a21fdb549 --- /dev/null +++ b/app/controllers/poll_controller.rb @@ -0,0 +1,2 @@ +class PollController < ApplicationController +end \ No newline at end of file diff --git a/app/controllers/poll_question_controller.rb b/app/controllers/poll_question_controller.rb new file mode 100644 index 000000000..46a75c0ab --- /dev/null +++ b/app/controllers/poll_question_controller.rb @@ -0,0 +1,2 @@ +class PollQuestionController < ApplicationController +end \ No newline at end of file diff --git a/app/controllers/poll_user_controller.rb b/app/controllers/poll_user_controller.rb new file mode 100644 index 000000000..0373fe085 --- /dev/null +++ b/app/controllers/poll_user_controller.rb @@ -0,0 +1,2 @@ +class PollUserController < ApplicationController +end \ No newline at end of file diff --git a/app/controllers/poll_vote_controller.rb b/app/controllers/poll_vote_controller.rb new file mode 100644 index 000000000..e77bdc622 --- /dev/null +++ b/app/controllers/poll_vote_controller.rb @@ -0,0 +1,2 @@ +class PollVoteController < ApplicationController +end \ No newline at end of file diff --git a/app/models/poll.rb b/app/models/poll.rb new file mode 100644 index 000000000..803ee6ac6 --- /dev/null +++ b/app/models/poll.rb @@ -0,0 +1,9 @@ +class Poll < ActiveRecord::Base + #attr_accessible :closed_at, :polls_group_id, :polls_name, :polls_status, :polls_type, :published_at, :user_id + include Redmine::SafeAttributes + + belongs_to :user + has_many :poll_questions, :dependent => :destroy + has_many :poll_users, :dependent => :destroy + has_many :users, :through => :poll_users #该文件被哪些用户提交答案过 +end diff --git a/app/models/poll_answer.rb b/app/models/poll_answer.rb new file mode 100644 index 000000000..93c75da97 --- /dev/null +++ b/app/models/poll_answer.rb @@ -0,0 +1,7 @@ +class PollAnswer < ActiveRecord::Base + # attr_accessible :answer_position, :answer_text, :poll_questions_id + include Redmine::SafeAttributes + + belongs_to :poll_question + has_many :poll_votes, :dependent => :destroy +end diff --git a/app/models/poll_question.rb b/app/models/poll_question.rb new file mode 100644 index 000000000..66dcea67e --- /dev/null +++ b/app/models/poll_question.rb @@ -0,0 +1,8 @@ +class PollQuestion < ActiveRecord::Base + # attr_accessible :is_necessary, :polls_id, :question_title, :question_type + include Redmine::SafeAttributes + + belongs_to :poll + has_many :poll_answers, :dependent => :destroy + has_many :poll_votes, :dependent => :destroy +end diff --git a/app/models/poll_user.rb b/app/models/poll_user.rb new file mode 100644 index 000000000..e7a122da9 --- /dev/null +++ b/app/models/poll_user.rb @@ -0,0 +1,7 @@ +class PollUser < ActiveRecord::Base + # attr_accessible :poll_id, :user_id + include Redmine::SafeAttributes + + belongs_to :poll + belongs_to :user +end diff --git a/app/models/poll_vote.rb b/app/models/poll_vote.rb new file mode 100644 index 000000000..550563e38 --- /dev/null +++ b/app/models/poll_vote.rb @@ -0,0 +1,8 @@ +class PollVote < ActiveRecord::Base + # attr_accessible :poll_answers_id, :poll_questions_id, :user_id, :vote_text + include Redmine::SafeAttributes + + belongs_to :poll_answer + belongs_to :poll_question + belongs_to :user +end diff --git a/app/models/user.rb b/app/models/user.rb index e966742f1..735b80762 100644 --- a/app/models/user.rb +++ b/app/models/user.rb @@ -77,6 +77,13 @@ class User < Principal has_many :homework_attaches, :through => :homework_users has_many :homework_evaluations + #问卷相关关关系 + has_many :poll_users, :dependent => :destroy + has_many :poll_votes, :dependent => :destroy + has_many :poll, :dependent => :destroy #用户创建的问卷 + has_many :answers, :source => :poll, :through => :poll_users, :dependent => :destroy #用户已经完成问答的问卷 + # end + has_and_belongs_to_many :groups, :after_add => Proc.new {|user, group| group.user_added(user)}, :after_remove => Proc.new {|user, group| group.user_removed(user)} has_many :changesets, :dependent => :nullify diff --git a/app/views/tags/_tag.html.erb b/app/views/tags/_tag.html.erb index c08a3b553..21aefa511 100644 --- a/app/views/tags/_tag.html.erb +++ b/app/views/tags/_tag.html.erb @@ -77,10 +77,10 @@ <%= f.text_field :object_id,:value=> obj.id,:style=>"display:none"%> <%= f.text_field :object_flag,:value=> object_flag,:style=>"display:none"%> - + <%= l(:button_project_tags_add)%> - <%= link_to_function l(:button_cancel), '$("#put-tag-form").slideUp();',:class=>'ButtonColor m3p10'%> + <%= link_to_function l(:button_cancel), '$("#put-tag-form").slideUp();',:class=>'ButtonColor m3p10' ,:style=>"padding:3px 6px"%> <% end %> <% end %> diff --git a/db/migrate/20150108034148_create_polls.rb b/db/migrate/20150108034148_create_polls.rb new file mode 100644 index 000000000..454f73b21 --- /dev/null +++ b/db/migrate/20150108034148_create_polls.rb @@ -0,0 +1,19 @@ +class CreatePolls < ActiveRecord::Migration + def up + create_table :polls do |t| + t.string :polls_name + t.string :polls_type + t.integer :polls_group_id + t.integer :polls_status + t.integer :user_id + t.datetime :published_at + t.datetime :closed_at + + t.timestamps + end + end + + def down + drop_table :polls + end +end diff --git a/db/migrate/20150108034253_create_poll_questions.rb b/db/migrate/20150108034253_create_poll_questions.rb new file mode 100644 index 000000000..2fa586dd5 --- /dev/null +++ b/db/migrate/20150108034253_create_poll_questions.rb @@ -0,0 +1,16 @@ +class CreatePollQuestions < ActiveRecord::Migration + def up + create_table :poll_questions do |t| + t.string :question_title + t.integer :question_type + t.integer :is_necessary + t.integer :poll_id + + t.timestamps + end + end + + def down + drop_table :poll_questions + end +end diff --git a/db/migrate/20150108034414_create_poll_answers.rb b/db/migrate/20150108034414_create_poll_answers.rb new file mode 100644 index 000000000..b6276fad0 --- /dev/null +++ b/db/migrate/20150108034414_create_poll_answers.rb @@ -0,0 +1,15 @@ +class CreatePollAnswers < ActiveRecord::Migration + def up + create_table :poll_answers do |t| + t.integer :poll_question_id + t.text :answer_text + t.integer :answer_position + + t.timestamps + end + end + + def down + drop_table :poll_answers + end +end diff --git a/db/migrate/20150108035301_create_poll_votes.rb b/db/migrate/20150108035301_create_poll_votes.rb new file mode 100644 index 000000000..0b7192ab8 --- /dev/null +++ b/db/migrate/20150108035301_create_poll_votes.rb @@ -0,0 +1,16 @@ +class CreatePollVotes < ActiveRecord::Migration + def up + create_table :poll_votes do |t| + t.integer :user_id + t.integer :poll_question_id + t.integer :poll_answer_id + t.text :vote_text + + t.timestamps + end + end + + def down + drop_table :poll_votes + end +end diff --git a/db/migrate/20150108035338_create_poll_users.rb b/db/migrate/20150108035338_create_poll_users.rb new file mode 100644 index 000000000..73d155890 --- /dev/null +++ b/db/migrate/20150108035338_create_poll_users.rb @@ -0,0 +1,14 @@ +class CreatePollUsers < ActiveRecord::Migration + def up + create_table :poll_users do |t| + t.integer :user_id + t.integer :poll_id + + t.timestamps + end + end + + def down + drop_table :poll_users + end +end diff --git a/db/schema.rb b/db/schema.rb index 04a2e54c8..00d308293 100644 --- a/db/schema.rb +++ b/db/schema.rb @@ -11,7 +11,7 @@ # # It's strongly recommended to check this file into your version control system. -ActiveRecord::Schema.define(:version => 20141231085350) do +ActiveRecord::Schema.define(:version => 20150108035338) do create_table "activities", :force => true do |t| t.integer "act_id", :null => false @@ -790,6 +790,51 @@ ActiveRecord::Schema.define(:version => 20141231085350) do t.integer "project_id" end + create_table "poll_answers", :force => true do |t| + t.integer "poll_question_id" + t.text "answer_text" + t.integer "answer_position" + t.datetime "created_at", :null => false + t.datetime "updated_at", :null => false + end + + create_table "poll_questions", :force => true do |t| + t.string "question_title" + t.integer "question_type" + t.integer "is_necessary" + t.integer "poll_id" + t.datetime "created_at", :null => false + t.datetime "updated_at", :null => false + end + + create_table "poll_users", :force => true do |t| + t.integer "user_id" + t.integer "poll_id" + t.datetime "created_at", :null => false + t.datetime "updated_at", :null => false + end + + create_table "poll_votes", :force => true do |t| + t.integer "user_id" + t.integer "poll_question_id" + t.integer "poll_answer_id" + t.text "vote_text" + t.datetime "created_at", :null => false + t.datetime "updated_at", :null => false + end + + create_table "polls", :force => true do |t| + t.string "polls_name" + t.string "polls_type" + t.integer "polls_group_id" + t.integer "polls_status" + t.integer "user_id" + t.datetime "published_at" + t.datetime "closed_at" + t.datetime "created_at", :null => false + t.datetime "updated_at", :null => false + end + create_table "praise_tread_caches", :force => true do |t| t.integer "object_id", :null => false t.string "object_type" diff --git a/test/unit/poll_answers_test.rb b/test/unit/poll_answers_test.rb new file mode 100644 index 000000000..ce8f558f4 --- /dev/null +++ b/test/unit/poll_answers_test.rb @@ -0,0 +1,7 @@ +require 'test_helper' + +class PollAnswersTest < ActiveSupport::TestCase + # test "the truth" do + # assert true + # end +end diff --git a/test/unit/poll_questions_test.rb b/test/unit/poll_questions_test.rb new file mode 100644 index 000000000..bbe79ea40 --- /dev/null +++ b/test/unit/poll_questions_test.rb @@ -0,0 +1,7 @@ +require 'test_helper' + +class PollQuestionsTest < ActiveSupport::TestCase + # test "the truth" do + # assert true + # end +end diff --git a/test/unit/poll_user_test.rb b/test/unit/poll_user_test.rb new file mode 100644 index 000000000..7dab4b63f --- /dev/null +++ b/test/unit/poll_user_test.rb @@ -0,0 +1,7 @@ +require 'test_helper' + +class PollUserTest < ActiveSupport::TestCase + # test "the truth" do + # assert true + # end +end diff --git a/test/unit/poll_votes_test.rb b/test/unit/poll_votes_test.rb new file mode 100644 index 000000000..77ab9121e --- /dev/null +++ b/test/unit/poll_votes_test.rb @@ -0,0 +1,7 @@ +require 'test_helper' + +class PollVotesTest < ActiveSupport::TestCase + # test "the truth" do + # assert true + # end +end diff --git a/test/unit/polls_test.rb b/test/unit/polls_test.rb new file mode 100644 index 000000000..5217817bb --- /dev/null +++ b/test/unit/polls_test.rb @@ -0,0 +1,7 @@ +require 'test_helper' + +class PollsTest < ActiveSupport::TestCase + # test "the truth" do + # assert true + # end +end