Ticket #21223

チケットのメールに添付ファイルのリンクをつける

Open Date: 2010-03-29 10:07 Last Update: 2010-05-20 21:07

Reporter:
(del#42389)
Owner:
Status:
Closed
Component:
(None)
MileStone:
Priority:
5 - Medium
Severity:
5 - Medium
Resolution:
None
File:
2

Details

登録したチケットに添付をつけた場合、その添付ファイルへのリンクをメールの内容につけていただけたらと思います。 本当はファイルそのものをつけたらよいかと思いましたが、更新の度に添付ファイルがつくのは鬱陶しいかとおもいまして、リンクのみで。

パスは「attachment」ではなく、「raw-attachment」で直接ダウンロード出来る感じに。

Ticket History (3/13 Histories)

2010-03-29 10:07 Updated by: (del#42389)
  • New Ticket "チケットのメールに添付ファイルのリンクをつける" created
2010-04-03 07:57 Updated by: okamototk
  • Owner Update from (None) to okamototk
Comment

sirasaraさん

もしパッチをお持ちであれば、添付して頂けますでしょうか?

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

2010-04-03 21:40 Updated by: (del#42389)
Comment

メールのテンプレートに、「$attachment」を追加していただけると、そこにファイルへのパスが表示されます。

\trac\ticket\templates\ticket_notify_email.txt

パッチ作りが初めてなので、おかしな所がありましたらご指摘ください。

2010-04-04 06:57 Updated by: okamototk
Comment

ありがとうございます。3点コメントさせてください。

# 下記のコメントで、気分を害したらすみません。Pythonのコーディングのためのアドバイスだと思ってください。

  1. Int型から文字列型の変換について
    +        ticketId = '%s' % tktid
    ...
    +            attachments = attachments + link + '/raw-attachment/ticket/' + ticketId + '/' + row[0] + '\n'
    +        for row in cursor.fetchall():
    +            attachments = attachments + link + '/raw-attachment/ticket/' + ticketId + '/' + row[0] + '\n'
    

Int型を文字列に変換してURLを作っているのだと思いますが、

+            attachments = attachments + link + '/raw-attachment/ticket/' + str(tktid) + '/' + row[0] + '\n'
のようなコードでInt型から文字列型へ変換できます。

  1. 変数名のつけ方について
    +        link = self.env.abs_href()
    ...
    +            attachments = attachments + link + '/raw-attachment/ticket/' + ticketId + '/' + row[0] + '\n'
    

linkという変数名は、直感的にbase_urlを表していると思います。base_urlという変数名にするのは如何でしょうか?

  1. URLの生成について

上記の2を踏まえて

  attachments + '%s/raw-attachment/ticket/%s/%s\n' % (base_url ,tktid, row[0])
のようにした方が分かり易いと思います。(strによる変換は不要になりますが)

以上、お手数ですが、修正したコードを添付して頂けますでしょうか?

よろしくお願いいたします。

2010-04-07 07:24 Updated by: okamototk
Comment

TracLightning2.5.0alpha4で対応しました。ご確認ください。

2010-04-19 16:56 Updated by: okamototk
2010-04-24 21:25 Updated by: jun66j5
Comment

試してみました。 添付のファイル名に空白や日本語が含まれているとそれでリンクが切れてしまいます。

添付ファイル一覧:
http://localhost/trac/SampleProject/raw-attachment/ticket/1/Optimizing MySQL Performance with ZFS Presentation.pdf
http://localhost/trac/SampleProject/raw-attachment/ticket/1/カスタムクエリ.txt

それでちゃんとした URL を出力するとファイル名が encode されて解らないでしょうから、 こういう感じのテキストを生成するのがよいかと思うのですが、どうでしょうか。

添付ファイル一覧:
 * Optimizing MySQL Performance with ZFS Presentation.pdf
   http://localhost/trac/SampleProject/raw-attachment/ticket/1/Optimizing%20MySQL%20Performance%20with%20ZFS%20Presentation.pdf
 * カスタムクエリ.txt
   http://localhost/trac/SampleProject/raw-attachment/ticket/1/%E3%82%AB%E3%82%B9%E3%82%BF%E3%83%A0%E3%82%AF%E3%82%A8%E3%83%AA.txt

2010-04-25 06:36 Updated by: okamototk
Comment

御意。

2010-04-29 15:32 Updated by: jun66j5
Comment

comment:2810:21223:1272111923 の内容になるようにパッチを作りました。
TracLightning-2.5.0beta2 に同梱されている Trac に対するパッチになっています。

2010-04-29 17:26 Updated by: okamototk
Comment

怠け者ですみません(汗 コードもエレガントになってますね。ありがとうございます。

2010-05-20 21:07 Updated by: okamototk
  • Ticket Close date is changed to 2010-05-20 21:07
  • Status Update from Open to Closed

Attachment File List

Edit

Please login to add comment to this ticket » Login