2011-10-18 19:31:59 +01:00
|
|
|
.group
|
|
|
|
= f.label :name, t("activerecord.attributes.role.name"), :class => :label
|
|
|
|
= f.text_field :name, :class => 'text_field'
|
2011-10-23 22:39:44 +01:00
|
|
|
- acters = [['All', '']].concat Role.relation_acters.map{|a| [a.name, a.name]}
|
|
|
|
- targets = [['System', '']].concat Role.relation_targets.map{|t| [t.name, t.name]}
|
2011-10-27 19:09:22 +01:00
|
|
|
= f.label :to, t("activerecord.attributes.role.to"), :class => :label
|
2011-10-23 22:39:44 +01:00
|
|
|
= f.select :to, options_for_select(acters, @role.to)
|
2011-10-27 19:09:22 +01:00
|
|
|
= f.label :on, t("activerecord.attributes.role.on"), :class => :label
|
2011-10-23 22:39:44 +01:00
|
|
|
= f.select :on, options_for_select(targets, @role.on)
|
|
|
|
|
2011-10-27 19:09:22 +01:00
|
|
|
= f.label :use_default, t("activerecord.attributes.role.use_default"), :class => :label
|
|
|
|
= f.check_box :use_default
|
|
|
|
= f.label :use_default_for_owner, t("activerecord.attributes.role.use_default_for_owner"), :class => :label
|
|
|
|
= f.check_box :use_default_for_owner
|
2011-10-23 22:39:44 +01:00
|
|
|
- unless @visibilities.empty?
|
|
|
|
.group
|
|
|
|
%fieldset
|
|
|
|
%legend= t("activerecord.attributes.role.can_see")
|
|
|
|
- @visibilities.each_pair do |model, vis_group|
|
|
|
|
%div{:style => 'float: left; width: 200px; margin-left: 10px; margin-top: 10px'}
|
|
|
|
= label_tag "can_see_#{model}", model, :class => :label
|
|
|
|
= select_tag "role[can_see][#{model}][]",
|
|
|
|
options_for_select(vis_group, (@role.can_see and @role.can_see[model]) ? @role.can_see[model] : []),
|
|
|
|
{:multiple => true, :size =>5, :id => "can_see_#{model}", :style => 'width:95%' }
|
2011-10-18 19:31:59 +01:00
|
|
|
.group
|
2011-10-23 22:39:44 +01:00
|
|
|
%fieldset
|
|
|
|
%legend= t("layout.menu.permissions")
|
|
|
|
- rights = Right.by_controller
|
|
|
|
- added_rights = @role.rights.map(&:id)
|
|
|
|
- rights.each do |key, value|
|
|
|
|
%div{:style => 'float: left; width: 385px; margin-left: 10px; margin-top: 10px'}
|
|
|
|
%fieldset{:style => 'width: 95%; height: 100%; padding: 10px;'}
|
|
|
|
%legend= t("layout.menu.#{key}")
|
|
|
|
:javascript
|
|
|
|
function select_#{key}() {
|
|
|
|
check_by_ids(#{'[\'' + value.map{|r| 'right_' + r.id.to_s}.join('\',\'') + '\']'});
|
|
|
|
}
|
|
|
|
function deselect_#{key}() {
|
|
|
|
uncheck_by_ids(#{'[\'' + value.map{|r| 'right_' + r.id.to_s}.join('\',\'') + '\']'});
|
|
|
|
}
|
|
|
|
= link_to_function 'Select All', "select_#{key}()"
|
|
|
|
= link_to_function 'Deselect All', "deselect_#{key}()"
|
|
|
|
%br
|
|
|
|
%br
|
|
|
|
- value.each do |right|
|
|
|
|
- id = 'right_' + right.id.to_s
|
|
|
|
= check_box_tag 'rights[id][]', right.id, added_rights.include?(right.id), :id => id
|
|
|
|
= label_tag id, right.name
|
|
|
|
%br
|
2011-10-18 19:31:59 +01:00
|
|
|
|
|
|
|
.group.navform.wat-cf
|
|
|
|
%button.button{:type => "submit"}
|
|
|
|
= image_tag("web-app-theme/icons/tick.png", :alt => t("layout.save"))
|
|
|
|
= t("layout.save")
|
|
|
|
%span.text_button_padding= t("layout.or")
|
2011-10-23 22:39:44 +01:00
|
|
|
= link_to t("layout.cancel"), roles_path, :class => "text_button_padding link_button"
|