From d0df0872635d199097c400d65e9ae180922cd203 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ot=C3=A1vio=20de=20Freitas=20e=20Castro=20Sampaio?= Date: Mon, 14 Feb 2011 19:06:34 -0200 Subject: [PATCH 01/14] new translations. Including pt-BR --- config/locales/en.yml | 1 + config/locales/pt-BR.yml | 8 ++++++++ config/locales/ru.yml | 1 + 3 files changed, 10 insertions(+) create mode 100644 config/locales/pt-BR.yml diff --git a/config/locales/en.yml b/config/locales/en.yml index 9709cb4..20f1124 100644 --- a/config/locales/en.yml +++ b/config/locales/en.yml @@ -4,4 +4,5 @@ en: label_issue_template_new: New issue template label_issue_template_edit: Edit issue template label_issue_template_insert: Insert template + label_issue_template_insert_button: Insert diff --git a/config/locales/pt-BR.yml b/config/locales/pt-BR.yml new file mode 100644 index 0000000..47feca3 --- /dev/null +++ b/config/locales/pt-BR.yml @@ -0,0 +1,8 @@ +pt-BR: + label_issue_template: Modelo de Tarefa + label_issue_template_plural: Modelo de Tarefas + label_issue_template_new: Novo Modelo de Tarefa + label_issue_template_edit: Edição de Modelo de Tarefa + label_issue_template_insert: Inserir Modelo + label_issue_template_insert_button: Inserir + diff --git a/config/locales/ru.yml b/config/locales/ru.yml index 2ce0ac2..eb8f269 100644 --- a/config/locales/ru.yml +++ b/config/locales/ru.yml @@ -4,4 +4,5 @@ ru: label_issue_template_new: Новый шаблон задачи label_issue_template_edit: Редактирование шаблона задачи label_issue_template_insert: Вставить шаблон + label_issue_template_insert_button: Вставить From e140a16b371be8d5fff9a634c03dab5dd2a61453 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ot=C3=A1vio=20de=20Freitas=20e=20Castro=20Sampaio?= Date: Mon, 14 Feb 2011 19:08:29 -0200 Subject: [PATCH 02/14] adding unloadable to controller --- app/controllers/issue_templates_controller.rb | 1 + 1 file changed, 1 insertion(+) diff --git a/app/controllers/issue_templates_controller.rb b/app/controllers/issue_templates_controller.rb index 365cf2f..ccf3034 100644 --- a/app/controllers/issue_templates_controller.rb +++ b/app/controllers/issue_templates_controller.rb @@ -1,4 +1,5 @@ class IssueTemplatesController < ApplicationController + unloadable before_filter :find_issue_template, :except => [:index, :new, :create] before_filter :require_admin From 87b7be2c2b790237559f87810074aabdfb8f934e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ot=C3=A1vio=20de=20Freitas=20e=20Castro=20Sampaio?= Date: Mon, 14 Feb 2011 19:08:47 -0200 Subject: [PATCH 03/14] location to fixed text --- app/views/issue_templates/_issue_template_control.html.erb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/views/issue_templates/_issue_template_control.html.erb b/app/views/issue_templates/_issue_template_control.html.erb index 754f761..cd5d7c2 100644 --- a/app/views/issue_templates/_issue_template_control.html.erb +++ b/app/views/issue_templates/_issue_template_control.html.erb @@ -4,7 +4,7 @@ - + <% end %> From 7d6383b7881af71d0113fa72bbc4d673ff7cbc20 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ot=C3=A1vio=20de=20Freitas=20e=20Castro=20Sampaio?= Date: Mon, 14 Feb 2011 19:43:06 -0200 Subject: [PATCH 04/14] adding templates just to new issues --- app/views/issue_templates/_issue_template_control.html.erb | 2 ++ 1 file changed, 2 insertions(+) diff --git a/app/views/issue_templates/_issue_template_control.html.erb b/app/views/issue_templates/_issue_template_control.html.erb index cd5d7c2..4d6141d 100644 --- a/app/views/issue_templates/_issue_template_control.html.erb +++ b/app/views/issue_templates/_issue_template_control.html.erb @@ -1,4 +1,5 @@ <% html = capture do %> +<% if @issue.new_record? %>
<% end %> +<% end %> <% javascript_tag do %> $('issue_description').insert({after: '<%= escape_javascript(html) %>'}); From 71379274fa10898d02fa43a7e13856eb3d27dd10 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ot=C3=A1vio=20de=20Freitas=20e=20Castro=20Sampaio?= Date: Tue, 15 Feb 2011 00:05:33 -0200 Subject: [PATCH 05/14] new template for render issues templates using rjs --- app/controllers/issue_templates_controller.rb | 8 +++++++- app/helpers/issue_templates_helper.rb | 2 +- .../issue_templates/_issue_template_control.html.erb | 11 ++++------- app/views/issue_templates/show.js.rjs | 1 + 4 files changed, 13 insertions(+), 9 deletions(-) create mode 100644 app/views/issue_templates/show.js.rjs diff --git a/app/controllers/issue_templates_controller.rb b/app/controllers/issue_templates_controller.rb index ccf3034..7969a6a 100644 --- a/app/controllers/issue_templates_controller.rb +++ b/app/controllers/issue_templates_controller.rb @@ -1,6 +1,6 @@ class IssueTemplatesController < ApplicationController unloadable - before_filter :find_issue_template, :except => [:index, :new, :create] + before_filter :find_issue_template, :except => [:index, :new, :create, :show] before_filter :require_admin def index @@ -35,6 +35,12 @@ def destroy redirect_to issue_templates_url end + def show + respond_to do |type| + type.js { render } + end + end + private def find_issue_template diff --git a/app/helpers/issue_templates_helper.rb b/app/helpers/issue_templates_helper.rb index 36cc164..9c71548 100644 --- a/app/helpers/issue_templates_helper.rb +++ b/app/helpers/issue_templates_helper.rb @@ -1,6 +1,6 @@ module IssueTemplatesHelper def issue_templates_options - options_from_collection_for_select(IssueTemplate.all, 'content', 'title') + options_from_collection_for_select(IssueTemplate.all, 'id', 'title') end end diff --git a/app/views/issue_templates/_issue_template_control.html.erb b/app/views/issue_templates/_issue_template_control.html.erb index 4d6141d..1e143a3 100644 --- a/app/views/issue_templates/_issue_template_control.html.erb +++ b/app/views/issue_templates/_issue_template_control.html.erb @@ -1,20 +1,17 @@ <% html = capture do %> <% if @issue.new_record? %>
+<% form_remote_tag :html => {:method => :get}, :url => { :controller => 'issue_templates', :action => 'show'} do %> - <%= issue_templates_options %> - + <%= submit_tag l(:label_issue_template_insert_button) %> +<% end %>
<% end %> <% end %> <% javascript_tag do %> $('issue_description').insert({after: '<%= escape_javascript(html) %>'}); - var head = $$('head')[0]; - if (head) { - script = new Element('script', { type: 'text/javascript', src: '/plugin_assets/redmine_issue_template/javascripts/issue_templates.js'}); - head.appendChild(script); - } <% end %> diff --git a/app/views/issue_templates/show.js.rjs b/app/views/issue_templates/show.js.rjs new file mode 100644 index 0000000..a391aac --- /dev/null +++ b/app/views/issue_templates/show.js.rjs @@ -0,0 +1 @@ +page.alert 'teste' From e9d7f5dd676942df442e10f7d775ca6962a4622d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ot=C3=A1vio=20de=20Freitas=20e=20Castro=20Sampaio?= Date: Tue, 15 Feb 2011 00:16:54 -0200 Subject: [PATCH 06/14] using an rjs to update issue_description with issue_template content --- app/controllers/issue_templates_controller.rb | 3 ++- app/views/issue_templates/show.js.rjs | 2 +- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/app/controllers/issue_templates_controller.rb b/app/controllers/issue_templates_controller.rb index 7969a6a..b1006f9 100644 --- a/app/controllers/issue_templates_controller.rb +++ b/app/controllers/issue_templates_controller.rb @@ -1,6 +1,6 @@ class IssueTemplatesController < ApplicationController unloadable - before_filter :find_issue_template, :except => [:index, :new, :create, :show] + before_filter :find_issue_template, :except => [:index, :new, :create] before_filter :require_admin def index @@ -36,6 +36,7 @@ def destroy end def show + @issue_template = IssueTemplate.find(params[:id]) respond_to do |type| type.js { render } end diff --git a/app/views/issue_templates/show.js.rjs b/app/views/issue_templates/show.js.rjs index a391aac..3d7e83d 100644 --- a/app/views/issue_templates/show.js.rjs +++ b/app/views/issue_templates/show.js.rjs @@ -1 +1 @@ -page.alert 'teste' +page.replace_html :issue_description, :text => @issue_template.content From dc7dff6de65110ab883843d626685f99178b1d40 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ot=C3=A1vio=20de=20Freitas=20e=20Castro=20Sampaio?= Date: Tue, 15 Feb 2011 00:20:51 -0200 Subject: [PATCH 07/14] removing unused js --- assets/javascripts/issue_templates.js | 25 ------------------------- 1 file changed, 25 deletions(-) delete mode 100644 assets/javascripts/issue_templates.js diff --git a/assets/javascripts/issue_templates.js b/assets/javascripts/issue_templates.js deleted file mode 100644 index 03f231c..0000000 --- a/assets/javascripts/issue_templates.js +++ /dev/null @@ -1,25 +0,0 @@ - -function insertTemplate(selectId, textareaId) { - var value = $(selectId).value; - var textarea = $(textareaId); - insertAtCursor(textarea, value); -} - -function insertAtCursor(myField, myValue) { - //IE support - if (document.selection) { - myField.focus(); - sel = document.selection.createRange(); - sel.text = myValue; - } - //MOZILLA/NETSCAPE support - else if (myField.selectionStart || myField.selectionStart == '0') { - var startPos = myField.selectionStart; - var endPos = myField.selectionEnd; - myField.value = myField.value.substring(0, startPos) + myValue + myField.value.substring(endPos, myField.value.length); - } else { - myField.value += myValue; - } -} - - From 8125ad16457032110ef96e54df1a7e512adb9707 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ot=C3=A1vio=20de=20Freitas=20e=20Castro=20Sampaio?= Date: Tue, 15 Feb 2011 00:28:11 -0200 Subject: [PATCH 08/14] add a form only if there is, at least, one issue template --- app/views/issue_templates/_issue_template_control.html.erb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/views/issue_templates/_issue_template_control.html.erb b/app/views/issue_templates/_issue_template_control.html.erb index 1e143a3..fe3ba8b 100644 --- a/app/views/issue_templates/_issue_template_control.html.erb +++ b/app/views/issue_templates/_issue_template_control.html.erb @@ -1,5 +1,5 @@ <% html = capture do %> -<% if @issue.new_record? %> +<% if @issue.new_record? && IssueTemplate.count > 0 %>
<% form_remote_tag :html => {:method => :get}, :url => { :controller => 'issue_templates', :action => 'show'} do %> From 6cd2be12d014c847bdf8817526b5f50287a438db Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ot=C3=A1vio=20de=20Freitas=20e=20Castro=20Sampaio?= Date: Tue, 15 Feb 2011 00:33:40 -0200 Subject: [PATCH 09/14] adding a README file describing the plugin --- README.rdoc | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) create mode 100644 README.rdoc diff --git a/README.rdoc b/README.rdoc new file mode 100644 index 0000000..488cc07 --- /dev/null +++ b/README.rdoc @@ -0,0 +1,21 @@ +=Redmine Issue Template Plugin + +==About + +Allows to manage templates of issues, and adding them to a new issue body. + +==Install + +# Follow the Redmine plugin installation steps at: www.redmine.org/wiki/redmine/Plugins +# Make sure the plugin is installed to +vendor/plugins/redmine-issues-template+ +# Setup the database using the migrations. +rake db:migrate_plugins RAILS_ENV=production+ +# Add a new *issue template* by clicking at *issue templates* menu under Administration Area + +==Authors + +* 'undev.ru' http://undev.ru' +* Otávio Sampaio, otaviofcs@gmail.com + + + + From f91752112c2a1ab1e3cf77ea3ba2c09f7205a54b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ot=C3=A1vio=20de=20Freitas=20e=20Castro=20Sampaio?= Date: Tue, 15 Feb 2011 00:34:37 -0200 Subject: [PATCH 10/14] adding a roadmap --- README.rdoc | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/README.rdoc b/README.rdoc index 488cc07..41fe96a 100644 --- a/README.rdoc +++ b/README.rdoc @@ -11,6 +11,10 @@ Allows to manage templates of issues, and adding them to a new issue body. # Setup the database using the migrations. +rake db:migrate_plugins RAILS_ENV=production+ # Add a new *issue template* by clicking at *issue templates* menu under Administration Area +==Roadmap + +* Each issue template need to be scoped by project + ==Authors * 'undev.ru' http://undev.ru' From d926051110c81c5c9f12b0f97e084b38db623c76 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ot=C3=A1vio=20de=20Freitas=20e=20Castro=20Sampaio?= Date: Tue, 15 Feb 2011 10:26:20 -0200 Subject: [PATCH 11/14] placing template field before issue description. --- app/views/issue_templates/_issue_template_control.html.erb | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/app/views/issue_templates/_issue_template_control.html.erb b/app/views/issue_templates/_issue_template_control.html.erb index fe3ba8b..c2ec2e5 100644 --- a/app/views/issue_templates/_issue_template_control.html.erb +++ b/app/views/issue_templates/_issue_template_control.html.erb @@ -1,6 +1,6 @@ <% html = capture do %> <% if @issue.new_record? && IssueTemplate.count > 0 %> -
+
<% form_remote_tag :html => {:method => :get}, :url => { :controller => 'issue_templates', :action => 'show'} do %> + <%= submit_tag l(:label_issue_template_insert_button) %> From 00ec38df3c583bb7c4e6b45dc47f5f2444458547 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ot=C3=A1vio=20de=20Freitas=20e=20Castro=20Sampaio?= Date: Wed, 16 Feb 2011 11:22:38 -0200 Subject: [PATCH 13/14] don't try to find issue template for show action --- app/controllers/issue_templates_controller.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/controllers/issue_templates_controller.rb b/app/controllers/issue_templates_controller.rb index f50e4c3..2a5233e 100644 --- a/app/controllers/issue_templates_controller.rb +++ b/app/controllers/issue_templates_controller.rb @@ -1,6 +1,6 @@ class IssueTemplatesController < ApplicationController unloadable - before_filter :find_issue_template, :except => [:index, :new, :create] + before_filter :find_issue_template, :except => [:index, :new, :create, :show] before_filter :require_admin def index From 7d3196320c951d7328dc5d711c97225441c32362 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ot=C3=A1vio=20de=20Freitas=20e=20Castro=20Sampaio?= Date: Wed, 16 Feb 2011 11:56:53 -0200 Subject: [PATCH 14/14] action show should be accessed by anyone --- app/controllers/issue_templates_controller.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/controllers/issue_templates_controller.rb b/app/controllers/issue_templates_controller.rb index 2a5233e..0a67031 100644 --- a/app/controllers/issue_templates_controller.rb +++ b/app/controllers/issue_templates_controller.rb @@ -1,7 +1,7 @@ class IssueTemplatesController < ApplicationController unloadable before_filter :find_issue_template, :except => [:index, :new, :create, :show] - before_filter :require_admin + before_filter :require_admin, :except => [:show] def index @issue_templates = IssueTemplate.all(:order => "created_at DESC")