Template loads every time Status is changed

Issue #36 resolved
Former user created an issue

Environment: Redmine version 2.3.3.stable Ruby version 2.0.0-p247 (2013-06-27) [x86_64-linux] Rails version 3.2.13 Environment production Database adapter Mysql2 Redmine plugins: redmine_issue_templates 0.0.6

I successfully installed plugin and created a new template for tracker. The template loads successfully if "default" is selected. When you change the status through the pulldown however, the template loads again inserting duplicate text into the description. It will keep doing this as many times as you change status. If "default" is not selected, then when you change the status the template selection will change from the template you had loaded to "----", and it seems to refresh this each time you change the status. If you then re-select the template, it will insert the text once again into the description.

Expected behavior: Template should only load once. It should not refresh each time status is changed.

Comments (13)

  1. briangilbert

    I can confirm this issue, and perhapse describe it a little better:

    If I set a template to the default for a given status so that each status has a default template. then as I change the status the body field gets appended with the template text instead of it updating the body field. In some ways this makes sense as you would not want to replace the text if the user had already made changes.

    Is it possible to make it update the body field if the text hasn't been changed? or prompt the user before updating?

  2. OscarC

    I can confirm this also in redmine 2.5.0 Its a pain in the as one that it keeps adding multipe templates after each other.

    Thanks for a great plugin otherwise.

  3. Akiko.T repo owner

    Hi, all. I've confirmed the situation. This is because changing status from pulldown, issue form is reloaded via ajax request and due to this change, issue template pulldown is reloaded.

    Otherwise, this problem is not opened if issue reporter does not change the status of new ticket. Is that right?

  4. Philip Lapczynski

    I'm having the same issue on my system. Several annoyed users that have lost data in the description after selecting the new status.

    Environment:
      Redmine version                2.4.3.stable
      Ruby version                   1.9.3-p484 (2013-11-22) [x86_64-linux]
      Rails version                  3.2.16
      Environment                    production
      Database adapter               Mysql2
    
    Redmine plugins:
      redmine_issue_templates        0.0.7
    
  5. Henry Auffahrt

    We have the same issue. The problem appears only if i open a new issue and change the status.

    Environment:
      Redmine version                2.5.2.stable.13413
      Ruby version                   2.0.0-p576 (2014-09-19) [x86_64-linux]
      Rails version                  3.2.19
      Environment                    production
      Database adapter               Mysql2         
    
    Redmine plugins:
      redmine_issue_templates        0.0.9
    
  6. Fuujin

    If I'm not mistaken, one should choose the issue status before entering any description. If that is the case (as it is at our company) then you can just use the "Replace subject and description" option... once the issue is created, the templates aren't loaded anymore for further editing.

  7. 秀久 松谷

    I also experienced the issue, and it should be fixed. I'd make a comment in Japanese because her native language is Japanese. Apologies for the inconvenience for global readers.

    Takano様

    私もこの事象を確認しました。 おそらく多くの方の期待する動作とは違うとおもいますので、コメントさせていただきます。 修正していただけるとありがたいです。

    私が確認した事象としては、以下のとおりです。

    1. Redmineの新しいチケット作成画面で、Issue Templateが読み込まれる
    2. テンプレートに従い、説明欄を作成する作業をする
    3. その後、チケットのステータスをプルダウンから変更すると、いままで作成した説明欄がすべて消え、テンプレートが読み込まれてしまう。 →説明欄を作成した努力が水の泡になり、一生懸命説明欄を作成していた人にとってショックは大きいです。

    これを回避するワークアラウンドとして、2つ考えられます。 (1)「テンプレート読み込みの際に本文とタイトルを上書き」オプションをはずしておく。 →消去されるのは回避できますが、作成した説明欄の後ろに新たなテンプレートが追加されてしまうので、  説明欄を再編集して追加されたテンプレートを削除する手間が発生します。 (2)説明欄を編集するよりも前にステータスを変更しておく →画面の構成上、説明欄よりも下にステータス欄があるため、先に入力させるのは運用上不自然です。

    そもそも、ステータスに紐づいたテンプレートデータを持っているわけではないので、ステータスを変える毎に テンプレートを読み込むこと意味がわかりません。 なお、ステータス以外のフィールドを変えても、テンプレートは読み込まれないようです。

    よろしくおねがいいたします。

    以下、私の環境です。 いろいろ、プラグインを入れた環境となっておりますので、もし事象が再現できないとかでしたら、こちらでも環境を変えて試してみます。

    Environment:
      Redmine version                3.0.3.stable
      Ruby version                   2.0.0-p645 (2015-04-13) [x86_64-linux]
      Rails version                  4.2.1
      Environment                    production
      Database adapter               Mysql2
    SCM:
      Subversion                     1.8.13
      Mercurial                      1.4
      Bazaar                         2.1.1
      Git                            1.7.1
      Filesystem                     
    Redmine plugins:
      clipboard_image_paste          1.10
      redmine_comment_only           0.0.1
      redmine_importer               0.4.1
      redmine_information            1.0.2
      redmine_issue_templates        0.1.0
      redmine_wiki_extensions        0.7.0
      redmine_wiki_lists             0.0.5
    

    よろしくおねがいいたします。

  8. Akiko.T repo owner

    @Mattani san, and all who requested above issue, sorry for my delayed reply.

    松谷さん、こちらも含めて、issueへの補足ありがとうございます!ひとまず日本語で。

    この件ですが、https://bitbucket.org/akiko_pusu/redmine_issue_templates/issues/36/template-loads-every-time-status-is#comment-9199269 (上記)にコメントした通り、ステータスを変更すると、issueの編集フォーム部分もajaxで再読み込みが発生します。 Redmineの仕様で、ステータスを変更した場合、関連して表示させるフィールドや権限に変更が入ったりしますので、再読み込みとなるようです。

    templateのプルダウン部分は、issueのview hookを利用しているので、この編集フォームの再読み込みに伴って一緒に再読み込みされてしまいます。

    チケットタイプに応じたデフォルトのテンプレートが指定されていると、ステータス変更のタイミングで、すでにあった入力欄が再読み込みされる結果になってしまいます。

    通常の再読み込みの際、いったんサーバサイドにdescriptionのデータを送っているはずなので、 チケット編集部分の再読み込みがされると、いったんは先に入力したデータがフォームにセットされますが、その直後にテンプレートの動作で上書きされてしまう状況となっていると思います。

    また、UIに関しては、現在のようなプルダウンを出すのではなく、サイドバーか別な領域にテンプレートのタイトルと中身を表示させ、ユーザに中身を確認してテンプレートを選んでもらうほうがいいな...と思っております。

    ひとえにJavaScript力のなさが不味いと思っていますので、ひとまずステータス変更時に、すでに入力済みのデータを保持できないか調整してみます。

  9. 秀久 松谷

    Hi,

    Thank you for the workaround patch. It works fine!

    For me, this is over the workaround. That's enough.

    Note: I restarted the Redmine server before I found it works.

    Takano様

    上記パッチで問題は解消されました。 Workaroundとおっしゃってますが、私にはこれで十分です。 迅速な対応、本当にありがとうございました。

  10. Log in to comment