Revision 163711af
Added by Ohad Levy about 14 years ago
- ID 163711af617081b6a785c1daf9e703f23fa9aed6
fixes #200
- added better module detection to properly show the module list
- Add sorting to module class lists
- Add description to each link
app/models/puppetclass.rb | ||
---|---|---|
end
|
||
|
||
# returns module name (excluding of the class name)
|
||
# if class seperator does not exists (the "::" chars), then returns the whole class name
|
||
def module_name
|
||
if i = name.index("::")
|
||
return name[0..i-1] if i = name.index("::")
|
||
end
|
||
return (i = name.index("::")) ? name[0..i-1] : name
|
||
end
|
||
|
||
# returns class name (excluding of the module name)
|
||
def klass
|
||
mod = module_name
|
||
return name.gsub(mod+"::","") if mod
|
||
return name.gsub(module_name+"::","")
|
||
end
|
||
|
||
# add sort by class name
|
||
def <=>(other)
|
||
klass <=> other.klass
|
||
end
|
||
|
||
end
|
app/views/puppetclasses/_class_selection.html.erb | ||
---|---|---|
:locals => { :type => obj.class.to_s.downcase } %>
|
||
</div>
|
||
<% if (klasses = obj.hostgroup.try(:puppetclasses)).is_a?(Array) and obj.is_a?(Host) -%>
|
||
<% for klass in klasses -%>
|
||
<li><%= h klass.name %></li>
|
||
<% for klass in klasses.sort -%>
|
||
<li title="included already from host group"><%= h klass.name %></li>
|
||
<% end -%>
|
||
<% end -%>
|
||
</td>
|
app/views/puppetclasses/_classes.html.erb | ||
---|---|---|
<td id="classes">
|
||
<% group.each do |list| -%>
|
||
<% next if list.nil? %>
|
||
<li><%= link_to_function list.first, toggle_div(list.first) %></li>
|
||
<li title="Click to expand module class list"><%= link_to_function list.first, toggle_div(list.first) %></li>
|
||
<div id=<%= list.first %> style="display: none;">
|
||
<% for klass in list.last -%>
|
||
<% content_tag_for :div, klass do %>
|
||
<% for klass in list.last.sort -%>
|
||
<% content_tag_for :div, klass, :title => "Click to add this class" do %>
|
||
<%= link_to_add_puppetclass(klass, type) %>
|
||
<% end -%>
|
||
<% end -%>
|
app/views/puppetclasses/_selectedClasses.html.erb | ||
---|---|---|
<% content_tag_for :div, klass, :selected do %>
|
||
<li><%= link_to_remove_puppetclass klass %></li>
|
||
<li title="Click to remove this class"><%= link_to_remove_puppetclass klass %></li>
|
||
<%= hidden_field_tag "#{type}[puppetclass_ids][]", klass.id %>
|
||
<% end -%>
|
Also available in: Unified diff