| @@ -34,11 +34,11 @@ class Api::V1::Issues::CreateService < ApplicationService | |||
| @pm_issue_type = params[:pm_issue_type] | |||
| @root_id = params[:root_id] | |||
| @time_scale = params[:time_scale] | |||
| @belink_able_id = params[:link_able_id] | |||
| @linkable_id = params[:link_able_id] | |||
| end | |||
| def call | |||
| raise Error, errors.full_messages.join(", ") unless valid? | |||
| raise Error, errors.full_messages.join(', ') unless valid? | |||
| ActiveRecord::Base.transaction do | |||
| check_issue_status(status_id) | |||
| check_issue_priority(priority_id) | |||
| @@ -67,18 +67,17 @@ class Api::V1::Issues::CreateService < ApplicationService | |||
| @created_issue.pm_issue_type = @pm_issue_type | |||
| @created_issue.root_id = @root_id | |||
| @created_issue.time_scale = @time_scale | |||
| @created_issue.issue_tags_value = @issue_tags.order("id asc").pluck(:id).join(",") unless issue_tag_ids.blank? | |||
| @created_issue.issue_tags_value = @issue_tags.order('id asc').pluck(:id).join(',') unless issue_tag_ids.blank? | |||
| @created_issue.changer_id = @current_user.id | |||
| @created_issue.save! | |||
| @created_issue.pm_links.find_or_create_by(be_linkable_type: 'Issue', be_linkable_id: @belink_able_id) if @belink_able_id.present? | |||
| PmLink.create(be_linkable_type: 'Issue', be_linkable_id: @created_issue.id, linkable_type: 'Issue', linkable_id: @linkable_id) if @linkable_id.present? | |||
| if Site.has_blockchain? && @project.use_blockchain | |||
| if @created_issue.blockchain_token_num.present? && @created_issue.blockchain_token_num > 0 | |||
| Blockchain::CreateIssue.call({user_id: current_user.id, project_id: @created_issue.project_id, token_num: @created_issue.blockchain_token_num}) | |||
| end | |||
| push_activity_2_blockchain("issue_create", @created_issue) | |||
| push_activity_2_blockchain('issue_create', @created_issue) | |||
| end | |||
| project.del_project_issue_cache_delete_count # 把缓存里存储项目删除issue的个数清除掉 | |||
| @@ -117,8 +116,8 @@ class Api::V1::Issues::CreateService < ApplicationService | |||
| status_id: status_id, | |||
| priority_id: priority_id, | |||
| project_issues_index: (project.get_last_project_issues_index + 1), | |||
| issue_type: "1", | |||
| issue_classify: "issue" | |||
| issue_type: '1', | |||
| issue_classify: 'issue' | |||
| } | |||
| issue_attributes.merge!({description: description}) if description.present? | |||
| @@ -132,29 +131,29 @@ class Api::V1::Issues::CreateService < ApplicationService | |||
| end | |||
| def build_author_participants | |||
| @created_issue.issue_participants.new({participant_type: "authored", participant_id: current_user.id}) | |||
| @created_issue.issue_participants.new({participant_type: 'authored', participant_id: current_user.id}) | |||
| end | |||
| def build_assigner_participants | |||
| assigner_ids.each do |aid| | |||
| @created_issue.issue_participants.new({participant_type: "assigned", participant_id: aid}) | |||
| @created_issue.issue_participants.new({participant_type: 'assigned', participant_id: aid}) | |||
| end | |||
| end | |||
| def build_atme_participants | |||
| @atme_receivers.each do |receiver| | |||
| @created_issue.issue_participants.new({participant_type: "atme", participant_id: receiver.id}) | |||
| @created_issue.issue_participants.new({participant_type: 'atme', participant_id: receiver.id}) | |||
| end | |||
| end | |||
| def build_issue_project_trends | |||
| return if @project.id == 0 | |||
| @created_issue.project_trends.new({user_id: current_user.id, project_id: @project.id, action_type: "create"}) | |||
| @created_issue.project_trends.new({user_id: current_user.id, project_id: @project.id, action_type: 'create'}) | |||
| @created_issue.project_trends.new({user_id: current_user.id, project_id: @project.id, action_type: ProjectTrend::CLOSE}) if status_id.to_i == 5 | |||
| end | |||
| def build_issue_journal_details | |||
| journal = @created_issue.journals.new({user_id: current_user.id}) | |||
| journal.journal_details.new({property: "issue", prop_key: 1, old_value: '', value: ''}) | |||
| journal.journal_details.new({property: 'issue', prop_key: 1, old_value: '', value: ''}) | |||
| end | |||
| end | |||