issie_permissions.diff

Alexander Kriventsov, 2013-03-21 14:50

Download (846 Bytes)

View differences:

app/models/issue.rb 2013-03-21 13:46:55.000000000 +0000
509 509

  
510 510
    result = {}
511 511
    workflow_permissions = WorkflowPermission.where(:tracker_id => tracker_id, :old_status_id => status_id, :role_id => roles.map(&:id)).all
512 512
    if workflow_permissions.any?
513 513
      workflow_rules = workflow_permissions.inject({}) do |h, wp|
514 514
        h[wp.field_name] ||= []
515 515
        h[wp.field_name] << wp.rule
516 516
        h
517 517
      end
518 518
      workflow_rules.each do |attr, rules|
519
        next if rules.size < roles.size
520 519
        uniq_rules = rules.uniq
521 520
        if uniq_rules.size == 1
522 521
          result[attr] = uniq_rules.first
523 522
        else
524 523
          result[attr] = 'required'
525 524
        end
526 525
      end
527 526
    end
528 527
    @workflow_rule_by_attribute = result if user.nil?
529 528
    result