功能 #1126
为ezLibrarian插件增加1记录更新人2信息变化发送邮件通知功能3发送对账单邮件功能
| Status: | 已关闭 | Start: | 05/15/2009 | |
|---|---|---|---|---|
| Priority: | 普通 | Due date: | 05/28/2009 | |
| Assigned to: | % Done: | 100% |
||
| Category: | 文档 | |||
| Target version: | 1.0 | Estimated time: | 12.00 hours |
Description
先做一下这个简单的吧,用户评分的等我有空再细化一下功能
ezLibrarian插件见 http://github.com/zouchaoqun/ezlibrarian/tree/master
需求:
1、图书或者设备的持有人信息变化时,记录更新人
2、图书或者设备的持有人信息变化时,向旧持有人、新持有人、记录更新人发送通知邮件
3、发送对账单功能:向所有设备或图书的持有人发送一封对账单邮件,邮件内容是该用户持有的图书和设备的列表(含设备名称、编号、访问url、入手时间等)
History
Updated by 吕 坤 about 1 year ago
translation missing: en, label_library
遇到问题,把Ezlibrarian放上去以后,提示上面的错误
为什么会找不到插件的中文翻译呢
Updated by 吕 坤 about 1 year ago
- Due date set to 05/28/2009
- Category set to 文档
- Target version set to 1.0
- Estimated time set to 12.00
今天,在production模式下使用,
就没有translate missing的错误了,我昨晚仔细看了代码
redmine-trunk\lib\redmine\plugin.rb
的
::I18n.load_path += Dir.glob(File.join(RAILS_ROOT, 'vendor', 'plugins', id.to_s, 'config', 'locales', '*.yml'))
是把每个插件的,多语言支持文件路径加载进去
无论如何,这个问题可以不管,可以先进行要求的任务研究
Updated by 邹 超群 about 1 year ago
你必须用rails2.2.2 + redmine trunk(at svn) + ezlibrarian at github
这样就不会出错了,development production都应该正常
Updated by 吕 坤 about 1 year ago
邹 超群 写到:
你必须用rails2.2.2 + redmine trunk(at svn) + ezlibrarian at github 这样就不会出错了,development production都应该正常
好的,谢谢你的回复
另外,对于
1、图书或者设备的持有人信息变化时,记录更新人
我打算
通过migrate增加add_column一个op_user_id字段,来记录记录更新人,到holder_change_histories
文件。
然后,在保存变更的时候,把当前用户的id存到这个字段。
2、图书或者设备的持有人信息变化时,向旧持有人、新持有人、记录更新人发送通知邮件
变更的时候,仿照邮件通知,发送记录变更的邮件
以上是我的理解,希望你确认一下,没有大问题,我就先这么弄出来 :)
Updated by 邹 超群 about 1 year ago
我觉得更新人的字段名叫做 updater_id 更清晰一点
关于邮件的地方可以多参考一下 ezFAQ,很多可以直接搬过来用
最后一句变更的时候没太理解是什么时候?
可以先这么做着,做好后再调整。或者也可以把设计描述的更细一些,我们再讨论。
Updated by 吕 坤 about 1 year ago
邹 超群 写到:
我觉得更新人的字段名叫做 updater_id 更清晰一点
好的,的确updater_id字段名,更容易理解关于邮件的地方可以多参考一下 ezFAQ,很多可以直接搬过来用
我去看看 最后一句变更的时候没太理解是什么时候?
或者,我把基本代码贴上来,就好看懂点了。不合适的地方,再改也有个依据。 可以先这么做着,做好后再调整。或者也可以把设计描述的更细一些,我们再讨论。
另外,我看官网的安装说明
rake config/initializers/session_store.rb
和
rake redmine:load_default_data
都有什么作用啊,我简单看了lib task文件,不是太清楚
我是想确认,有一次我安装完的redmine中没有,问题的等级(优先级),而另一数据库里就有。
Updated by 邹 超群 about 1 year ago
网站上的安装说明基本正确,但是可能有一点点会落后于软件的更新
session store的应该写的很明白吧
4. Generate a session store secret (r2493 and higher only. 0.8.x users can skip this step)
Redmine stores session data in cookies by default, which requires a secret to be generated. This can be done by running:
关于load_default_data的就是来设置那些枚举值,但是我一般在管理员界面上来导入默认值,你刚装好redmine进管理界面会有提示。
我个人认为通过rake可能会有语言问题,但没仔细研究。
Updated by 吕 坤 about 1 year ago
ActionController::RoutingError (No route matches "/plugin_assets/redmine_ezlibrarian/stylesheets/ezlibrarian.css" with {:method=>:get}):
c:/ruby/lib/ruby/gems/1.8/gems/actionpack-2.2.2/lib/action_controller/routing/recognition_optimisation.rb:66:in `recognize_path'
...
Rendering c:/ruby/lib/ruby/gems/1.8/gems/actionpack-2.2.2/lib/action_controller/templates/rescues/layout.erb (not_found)
controller/templates/rescues/layout.erb (not_found)
出现这种错误是什么导致的呢?
就是默认的css没有,路径以为我们的插件名字是redmine_ezlibrarian
Updated by 吕 坤 about 1 year ago
- File temp.PNG added
- % Done changed from 0 to 10
1、图书或者设备的持有人信息变化时,记录更新人
这个部分完成了
示例
见附件的截图
代码,从 git://github.com/hlee/redmine_ezlibrarian.git 拿
改了几个部分吧
Updated by 邹 超群 about 1 year ago
把你redmine_polls的github项目还是打开一下吧,那个我还没看过呢..
另外我已经把你的github账号hlee加到我的ezlibrarian项目中了,你看看是否能够提交?
Updated by 邹 超群 about 1 year ago
吕 坤 写到:
ActionController::RoutingError (No route matches "/plugin_assets/redmine_ezlibrarian/stylesheets/ezlibrarian.css" with {:method=>:get}): c:/ruby/lib/ruby/gems/1.8/gems/actionpack-2.2.2/lib/action_controller/routing/recognition_optimisation.rb:66:in `recognize_path' ... Rendering c:/ruby/lib/ruby/gems/1.8/gems/actionpack-2.2.2/lib/action_controller/templates/rescues/layout.erb (not_found) controller/templates/rescues/layout.erb (not_found)
出现这种错误是什么导致的呢? 就是默认的css没有,路径以为我们的插件名字是redmine_ezlibrarian
关于route的问题是插件必须固定路径,这是engines的限制。这个在安装说明里面有提示
Updated by 吕 坤 about 1 year ago
邹 超群 写到:
把你redmine_polls的github项目还是打开一下吧,那个我还没看过呢..
这个没问题,我在传就行另外我已经把你的github账号hlee加到我的ezlibrarian项目中了,你看看是否能够提交?
好的
有时间我就传上去看
Updated by 吕 坤 about 1 year ago
邹 超群 写到:
吕 坤 写到:
ActionController::RoutingError (No route matches "/plugin_assets/redmine_ezlibrarian/stylesheets/ezlibrarian.css" with {:method=>:get}): c:/ruby/lib/ruby/gems/1.8/gems/actionpack-2.2.2/lib/action_controller/routing/recognition_optimisation.rb:66:in `recognize_path' ... Rendering c:/ruby/lib/ruby/gems/1.8/gems/actionpack-2.2.2/lib/action_controller/templates/rescues/layout.erb (not_found) controller/templates/rescues/layout.erb (not_found)
出现这种错误是什么导致的呢? 就是默认的css没有,路径以为我们的插件名字是redmine_ezlibrarian
关于route的问题是插件必须固定路径,这是engines的限制。这个在安装说明里面有提示
好的,明白啦
Updated by 吕 坤 about 1 year ago
2、图书或者设备的持有人信息变化时,向旧持有人、新持有人、记录更新人发送通知邮件
我开始看这个功能的需求了,
按照之前我们的讨论,我参考了ezfaq,我的理解是:
是否,也在ezlibrarian的model下建立类似的lib_mailer.rb专门处理email和定制邮件内容
Updated by 邹 超群 about 1 year ago
吕 坤 写到:
2、图书或者设备的持有人信息变化时,向旧持有人、新持有人、记录更新人发送通知邮件
我开始看这个功能的需求了,
按照之前我们的讨论,我参考了ezfaq,我的理解是: 是否,也在ezlibrarian的model下建立类似的lib_mailer.rb专门处理email和定制邮件内容
是的,是应该这样做,基本上是从ezFAQ照搬就行
Updated by 吕 坤 about 1 year ago
邹 超群 写到:
吕 坤 写到:
2、图书或者设备的持有人信息变化时,向旧持有人、新持有人、记录更新人发送通知邮件
我开始看这个功能的需求了,
按照之前我们的讨论,我参考了ezfaq,我的理解是: 是否,也在ezlibrarian的model下建立类似的lib_mailer.rb专门处理email和定制邮件内容
是的,是应该这样做,基本上是从ezFAQ照搬就行
好的,那,我就学习一下:)
Updated by 吕 坤 about 1 year ago
吕 坤 写到:
邹 超群 写到:
把你redmine_polls的github项目还是打开一下吧,那个我还没看过呢..
这个没问题,我在传就行
另外我已经把你的github账号hlee加到我的ezlibrarian项目中了,你看看是否能够提交?
好的
有时间我就传上去看
我把我的工作传上去了,
怎么再下载下来,又没有了呢
Updated by 吕 坤 about 1 year ago
吕 坤 写到:
邹 超群 写到:
把你redmine_polls的github项目还是打开一下吧,那个我还没看过呢..
这个没问题,我在传就行
另外我已经把你的github账号hlee加到我的ezlibrarian项目中了,你看看是否能够提交?
好的
有时间我就传上去看
redmine_polls
git://github.com/hlee/redmine_polls.git
你可以通过上面的检查
Updated by 吕 坤 about 1 year ago
吕 坤 写到:
邹 超群 写到:
吕 坤 写到:
2、图书或者设备的持有人信息变化时,向旧持有人、新持有人、记录更新人发送通知邮件
我开始看这个功能的需求了,
按照之前我们的讨论,我参考了ezfaq,我的理解是: 是否,也在ezlibrarian的model下建立类似的lib_mailer.rb专门处理email和定制邮件内容
是的,是应该这样做,基本上是从ezFAQ照搬就行
好的,那,我就学习一下:)
我的进展受到很严重的阻碍,是因为,我没有办法测试邮件
开始的时候,我就直接在mail.yml里设置一个163或者gmail的smtp邮箱设置,发现一直没有邮件发出
后来,查了一些资料说Actionmails是不支持,非本地邮件配置的。。。
所以,我就认为,我必须要配置一个本地的邮件smtp服务
现在的情况的,我配置的smtp用的winwebmail不能正常工作,我不知道怎么在客户端配置smtp以便发出邮件
没有什么更好的办法,我只好,先研究能够在本地配置一个可以发送邮件的smtp
Updated by 邹 超群 about 1 year ago
可以用163、sina或者263的,google不行,google没有smtp服务
据我自己开发的经验,可能用这些邮件发送邮件会有些延迟,但是一般是能发出去的。具体原因没有分析过
不必自己设置smtp服务器,实在不行直接看日志也行。development的日志里面会有邮件的详细内容,看内容对了也可以。
Updated by 吕 坤 about 1 year ago
邹 超群 写到:
可以用163、sina或者263的,google不行,google没有smtp服务
据我自己开发的经验,可能用这些邮件发送邮件会有些延迟,但是一般是能发出去的。具体原因没有分析过
不必自己设置smtp服务器,实在不行直接看日志也行。development的日志里面会有邮件的详细内容,看内容对了也可以。
设备更新持有人时,发邮件的功能完成了
没有配置smtp,就是看development里日志确定的
已经提交到github
git://github.com/hlee/redmine_ezlibrarian.git
最后,一个部分关于发送对账单,是要在什么地方做个触发按钮吗?
我正在写,这个方法,我想核实的是,在什么地方,调用这个方法
Updated by 吕 坤 about 1 year ago
- % Done changed from 10 to 70
功能三也完成了
我通过控制台下
LibMailer.deliver_send_statement()
调用就可以看到,后台的邮件都分别发送给了设备持有人了。
只是没有把这个方法调用,放到前台。
git://github.com/hlee/redmine_ezlibrarian.git
试试看吧,有什么问题,我再改
Updated by 邹 超群 about 1 year ago
对账单的发送要放在界面上,可以单独做一个页面,同时可以在页面上显示一些统计信息,例如有多少本书,会发送多少邮件等。
如果能做成带发送进度条的更好,不过没有的话也不影响。
Updated by 邹 超群 about 1 year ago
吕 坤 写到:
功能三也完成了 我通过控制台下 LibMailer.deliver_send_statement() 调用就可以看到,后台的邮件都分别发送给了设备持有人了。 只是没有把这个方法调用,放到前台。
git://github.com/hlee/redmine_ezlibrarian.git
试试看吧,有什么问题,我再改
另外,应该提交到我的 https://github.com/zouchaoqun/ezlibrarian/tree 这个库里面来啊,再研究一下看看如何提交吧。
Updated by 邹 超群 about 1 year ago
请发布前再仔细测试一下。不要着急。
1、新建图书时会报错,后面进行不下去...
NoMethodError (You have a nil object when you didn't expect it!
The error occurred while evaluating nil.holder_id):
/vendor/plugins/redmine_ezlibrarian/app/models/book.rb:21:in `after_save'
Updated by 邹 超群 about 1 year ago
另外,由于你这个属于升级操作,可能很多记录根本没有updater,应该考虑在updater是空的时候显示没有人的图像。
其它部分也希望能再细致一点,我们不是在做测试软件或者练手程序,而是立即要投入使用的系统。
Updated by 吕 坤 about 1 year ago
邹 超群 写到:
另外,由于你这个属于升级操作,可能很多记录根本没有updater,应该考虑在updater是空的时候显示没有人的图像。
其它部分也希望能再细致一点,我们不是在做测试软件或者练手程序,而是立即要投入使用的系统。
完成如下部分:
1. 关于第一次创建设备时,发送不同于设备更新的邮件
2. Updater为空时,显示没有人的图像
3. 国际化i18n
4. 消除tab用空格代替的检查
还是在这,git://github.com/hlee/redmine_ezlibrarian.git
没有完成的部分:
1. 对账单发送页面
2. 提交到原来的git仓库
希望,能稍微试试,看看有什么问题,我再改,
添麻烦了
Updated by 邹 超群 about 1 year ago
- File ezlibrarian-notify-mail-090601.PNG added
- 邮件可以发了,不过国际化还不完全,字体也不太正常(太小),如下图
- Book、Device等这些都要国际化
- 邮件里面把图书或者设备的属性都加上吧
- 最好用ul来列表,而不是通过一堆<br />来换行
- 主题好像丢字了,也不像一句通顺的中文,需要再仔细设计一下
- 历史记录页面的表格宽度要设置一下,现在都挤在一起了,应该不允许换行
- 有些没用的文件例如 _faq****、***.bak的可以去掉了
Updated by 吕 坤 about 1 year ago
- File temp.PNG added
邹 超群 写到:
- 邮件可以发了,不过国际化还不完全,字体也不太正常(太小),如下图
- Book、Device等这些都要国际化
- 邮件里面把图书或者设备的属性都加上吧
- 最好用ul来列表,而不是通过一堆<br />来换行
- 主题好像丢字了,也不像一句通顺的中文,需要再仔细设计一下
- 历史记录页面的表格宽度要设置一下,现在都挤在一起了,应该不允许换行
- 有些没用的文件例如 _faq****、***.bak的可以去掉了
这次提交修改的如下:
1.完整了国际化信息,请检查
2.Book、Device,修改了
3.增加了图书和设备的属性,按照,原来的book_show和device_show改的
4.主题修改了
没有做的
1. 删除备份信息
2. 发送对帐单界面
3. 提交到原来的library插件目录
4. 不太明白“历史记录页面的表格宽度要设置一下”,请参考截图
请检查
Updated by 邹 超群 about 1 year ago
- File ezlibrarian-mail-090603.PNG added
字体仍不太正常,下图蓝框里的我觉得可以,红框的字体设置有些问题
这个是更新操作,但仍显示的是:
设备成功创建,相关信息如下 设备间 : 签字笔
其它的未发现问题,不过部分文字可能需要调整一下。下一步,请尽快提交到我的版本库里面来,这样我就可以开始修改一些文字上的小问题了。
列表宽度的问题确实好了... 暂时不要管那个了
Updated by 吕 坤 about 1 year ago
邹 超群 写到:
字体仍不太正常,下图蓝框里的我觉得可以,红框的字体设置有些问题
这个是更新操作,但仍显示的是: [...]
其它的未发现问题,不过部分文字可能需要调整一下。下一步,请尽快提交到我的版本库里面来,这样我就可以开始修改一些文字上的小问题了。
列表宽度的问题确实好了... 暂时不要管那个了
好的,我会先解决,提交的问题
Updated by 吕 坤 about 1 year ago
吕 坤 写到:
邹 超群 写到:
字体仍不太正常,下图蓝框里的我觉得可以,红框的字体设置有些问题
这个是更新操作,但仍显示的是: [...]
其它的未发现问题,不过部分文字可能需要调整一下。下一步,请尽快提交到我的版本库里面来,这样我就可以开始修改一些文字上的小问题了。
列表宽度的问题确实好了... 暂时不要管那个了
好的,我会先解决,提交的问题
1. 删除了.bak文件
2. 上传到了原来的ezlibrarian
3. 修改关于更新是,提示创建成功
Updated by 吕 坤 about 1 year ago
- File temp.PNG added
添加了对账单发送界面,如附件所示
提交到ezlibrarian
存在问题:
1. 邮件格式,由于无法验证所以,还是有问题
2. 发送对账单后,变英文了。
所以,可能还是需要配置邮件服务器,才能检查效果
Updated by 吕 坤 about 1 year ago
吕 坤 写到:
添加了对账单发送界面,如附件所示
提交到ezlibrarian
存在问题: 1. 邮件格式,由于无法验证所以,还是有问题 2. 发送对账单后,变英文了。
所以,可能还是需要配置邮件服务器,才能检查效果
Updated by 吕 坤 about 1 year ago
- File temp.PNG added
1. 解决了发送邮件后,提示信息是英文的问题,是我的设置问题。
2. 解决了邮件服务器问题。我终于可以看到邮件的内容了。
主要的问题是,553 You are not authorized to send mail, authentication is required
这个问题是,我设置的邮件地址和我配置的发送邮件的smtp不一致导致的。
那么,下面唯一剩的问题,就是,调整邮件的显示问题。
因为,终于可以发送邮件了。这个问题我也就可以调整了。
Updated by 吕 坤 about 1 year ago
- File tests.png added
- % Done changed from 70 to 90
设备持有情况报告
对帐单,内容和格式也调整完了
那么,到现在为止,就全部结束了
Updated by 邹 超群 about 1 year ago
请提交到我的github库里: http://github.com/zouchaoqun/ezlibrarian/tree/master
现在你有2个ezlibrarian,不过看起来似乎都不对,至少都没有这个 show_statement.html.erb
你都统一提交到我的库里,就不会有这些问题了
另外,邮件的主题需要再改一改,至少要把图书名或者设备名称加上
Updated by 吕 坤 about 1 year ago
邹 超群 写到:
请提交到我的github库里: http://github.com/zouchaoqun/ezlibrarian/tree/master
现在你有2个ezlibrarian,不过看起来似乎都不对,至少都没有这个 show_statement.html.erb 你都统一提交到我的库里,就不会有这些问题了
另外,邮件的主题需要再改一改,至少要把图书名或者设备名称加上
这次应该,可以确认提交到你的github库了
我也把我的fork的那连个ezlibrarian删除了
然后,我再改邮件主题。
Updated by 吕 坤 about 1 year ago
- File temp.PNG added
邹 超群 写到:
请提交到我的github库里: http://github.com/zouchaoqun/ezlibrarian/tree/master
现在你有2个ezlibrarian,不过看起来似乎都不对,至少都没有这个 show_statement.html.erb 你都统一提交到我的库里,就不会有这些问题了
另外,邮件的主题需要再改一改,至少要把图书名或者设备名称加上
邮件的主题也加了图书名和设备名了
Updated by 邹 超群 about 1 year ago
- Status changed from 新建 to 已关闭
- % Done changed from 90 to 100
已修改并提交为0.1.5

