diff --git a/app/controllers/role_controller.rb b/app/controllers/role_controller.rb
index a50b423..7063e8f 100644
--- a/app/controllers/role_controller.rb
+++ b/app/controllers/role_controller.rb
@@ -8,7 +8,7 @@ class RoleController < ApplicationController
end
def new
- @role = Role.new(:name => 'bla', :permissions => [])
+ @role = Role.new(:name => '', :permissions => [])
end
def create
diff --git a/app/models/role.rb b/app/models/role.rb
index 84d2fb3..370e4b5 100644
--- a/app/models/role.rb
+++ b/app/models/role.rb
@@ -11,9 +11,8 @@ class Role < ActiveRecord::Base
}
def self.permission_name(p)
-# msgid = ...
-# gettext(msgid)
- raise "Moises need to write me"
+ msgid = PERMISSIONS.values.inject({}){|s,v| s.merge(v)}[p]
+ gettext(msgid)
end
has_many :role_assignments
diff --git a/app/views/role/_form.rhtml b/app/views/role/_form.rhtml
index 1ed5c67..b801cfd 100644
--- a/app/views/role/_form.rhtml
+++ b/app/views/role/_form.rhtml
@@ -1,11 +1,13 @@
<%= error_messages_for :role %>
-<% labelled_form_for :role, @role do |f| %>
+<% labelled_form_for :role, @role, :url => (mode == :edit) ? {:action => 'update', :id => role} : {:action => 'create'} do |f| %>
<%= f.text_field :name %>
<%= _('Permissions: ') %>
<% Role::PERMISSIONS[:profile].keys.each do |p| %>
- <%= labelled_form_field("bla", (check_box_tag "role[permissions][#{p}]", @role.has_permission?(p))) %>
+ <%= labelled_form_field(Role.permission_name(p), (check_box_tag "role[permissions][]", p, @role.has_permission?(p))) %>
<% end %>
+
+ <%= submit_tag (mode == :edit) ? _('Save changes') : _('Create role')%>
<% end %>
diff --git a/app/views/role/edit.rhtml b/app/views/role/edit.rhtml
new file mode 100644
index 0000000..3714a42
--- /dev/null
+++ b/app/views/role/edit.rhtml
@@ -0,0 +1,3 @@
+