From uh @ u.dhis.portside.net Tue Jan 6 11:09:29 2004 From: uh @ u.dhis.portside.net (UECHI Yasumasa) Date: Tue, 6 Jan 2004 11:09:29 +0900 Subject: [Mobo-dev] =?iso-2022-jp?b?GyRCO0Q5YiROP2QwXEk9PCgkTiVQJTAbKEI=?= Message-ID: <20040106020929.GC1170%uh@u.dhis.portside.net> うえちです。 残高の推移で表示している年だけの集計しかされないバグがありました。 原因は……ぼくです。年間集計に平均を表示させるための月数を求めるのに month_list.delete_if してました。 これを month_list.dup.delete_if に変更して commit しました。 # あー、恥ずかしい -- うえち uh @ u.dhis.portside.net http://u.dhis.portside.net/tdiary/ From kazuhiko @ fdiary.net Wed Jan 7 16:04:21 2004 From: kazuhiko @ fdiary.net (Kazuhiko) Date: Wed, 07 Jan 2004 16:04:21 +0900 Subject: [Mobo-dev] =?iso-2022-jp?b?bW9kX3J1YnkgGyRCQlAxfhsoQg==?= Message-ID: かずひこです。 冷静になってコードを読み返せば、ちょっとした修正でいけることがわかりまし たので、mod_ruby で動くように修正しました。 なお、MoBo に限ったことではありませんが mod_ruby で運用する際は、require されるもの (mobo.rb および各 IO ライブラリ) に変更があれば、必ず httpd をリスタートしてください。 -- かずひこ ★シャア「名字が付いてない」 ☆一兵卒「あんなの飾りです。偉い人にはそれが分からんのです」 From koichiro @ meadowy.org Wed Jan 28 15:53:20 2004 From: koichiro @ meadowy.org (Koichiro Ohba) Date: Wed, 28 Jan 2004 15:53:20 +0900 Subject: [Mobo-dev] =?iso-2022-jp?b?GyRCN25JPTwoJE45PUAuGyhC?= Message-ID: 大場です。 MoBo いつも便利に利用させてもらってます。ありがとうございます。 いくつか要望が溜まってきたので、フィードバックしていきたいと思います。 まず、現状の月表示のページ構成について要望があります。サンプルでもそう であるように仮想口座は、利用しているユーザー個人の総計であることが多い と思います。したがって常に注意を払いたい項目となっているのですが、各口 座の残高に埋もれて見難いです。すぐ上にある口座の合計ともリンクしないの に並べてあるために余計に混乱しやすいと思います。仮想口座は別枠にしたほ うがよいのではないでしょうか。 また、頻繁に見る項目について考えると私の場合は、仮想口座>各口座の残高 >支出合計>収入合計の順番です。支出合計、収入合計は月末にチェックする 程度の使い方をしています。UIの観点から見ると左上から右下に向かって視線 を動かすのが自然なので、前述のような順番で配置すると嬉しいのですがいか がでしょうか。 もうひとつ入力フォームの配置場所について。現状では月の収支履歴の後に入 力フォームがありますが、月末など履歴がたまってくると履歴の表示に時間が かかり入力フォームがなかなか表示されないため、連続入力するときのユーザ ビリティを落としているように思います。また、入力のたびにスクロールを強 要されるために労力が増えて入力するモチベーション維持の弊害にもなってい ます。そこで履歴の前に入力フォームを表示するのが良いと思います。 参考までに上記変更をしたパッチを添付します。入力フォームを上にもってく ることでかなり軽快に入力できるようになりました。検討よろしくお願いしま す。 -------------- next part -------------- Index: skel/month.rhtml =================================================================== RCS file: /cvsroot/mobo/mobo/skel/month.rhtml,v retrieving revision 1.24 diff -c -r1.24 month.rhtml *** skel/month.rhtml 9 Nov 2003 05:52:56 -0000 1.24 --- skel/month.rhtml 28 Jan 2004 06:45:22 -0000 *************** *** 2,17 ****
! ! ! <% t1 = 0; t2 = 0; genre_expense.each do |genre| %> ! ! ! <% end %> --- 2,34 ----
<%= "#{year}/#{month}" %>?????????
(??????)(??????)
&date=<%= year + month %>"><%= genre %><% p = -genre_total( year + month, "e:#{genre}", nil, account ); t1 += p %><%= p.to_disp_str %><% p = -genre_total( year + month, "e:#{genre}", 1, account ); t2 += p %><%= p.to_disp_str %>
+
+ <% if vaccount_name.length > 0 %> + + + + + + <% vaccount_name.each do |vaccount| %> + + + + + + <% end %> +
?????????????????????
????????????(??????)(?????????)
<%= vaccount %><%= balance( Time.now.strftime( '%Y%m%d' ), vaccount ).to_disp_str %><%= grand_total( vaccount ).to_disp_str %>
+ <% end %> +
! ! ! <% t1 = 0; t2 = 0; account_list.each do |account| %> ! ! ! <% end %> *************** *** 23,37 ****
??????????????????
(??????)(?????????)
<%= account %><% p = balance( Time.now.strftime( '%Y%m%d' ), account ); t1 += p %><%= p.to_disp_str %><% p = grand_total( account_regexp( account ) ); t2 += p %><%= p.to_disp_str %>
! ! <% t1 = 0; t2 = 0; genre_income.each do |genre| %> ! ! ! <% end %> --- 40,54 ----
<%= "#{year}/#{month}" %>?????????
(??????)(??????)
&date=<%= year + month %>"><%= genre %><% p = genre_total( year + month, "i:#{genre}", nil, account ); t1 += p %><%= p.to_disp_str %><% p = genre_total( year + month, "i:#{genre}", 1, account ); t2 += p %><%= p.to_disp_str %>
! ! <% t1 = 0; t2 = 0; genre_expense.each do |genre| %> ! ! ! <% end %> *************** *** 43,57 ****
<%= "#{year}/#{month}" %>?????????
(??????)(??????)
&date=<%= year + month %>"><%= genre %><% p = -genre_total( year + month, "e:#{genre}", nil, account ); t1 += p %><%= p.to_disp_str %><% p = -genre_total( year + month, "e:#{genre}", 1, account ); t2 += p %><%= p.to_disp_str %>
! ! ! <% t1 = 0; t2 = 0; account_list.each do |account| %> ! ! ! <% end %> --- 60,74 ----
??????????????????
(??????)(?????????)
<%= account %><% p = balance( Time.now.strftime( '%Y%m%d' ), account ); t1 += p %><%= p.to_disp_str %><% p = grand_total( account_regexp( account ) ); t2 += p %><%= p.to_disp_str %>
! ! ! <% t1 = 0; t2 = 0; genre_income.each do |genre| %> ! ! ! <% end %> *************** *** 59,121 **** - <% if vaccount_name.length > 0 %> - - - - <% vaccount_name.each do |vaccount| %> - - - - - - <% end %> - <% end %>
<%= "#{year}/#{month}" %>?????????
(??????)(??????)
&date=<%= year + month %>"><%= genre %><% p = genre_total( year + month, "i:#{genre}", nil, account ); t1 += p %><%= p.to_disp_str %><% p = genre_total( year + month, "i:#{genre}", 1, account ); t2 += p %><%= p.to_disp_str %>
<%= t1.to_disp_str %> <%= t2.to_disp_str %>
????????????(??????)(?????????)
<%= vaccount %><%= balance( Time.now.strftime( '%Y%m%d' ), vaccount ).to_disp_str %><%= grand_total( vaccount ).to_disp_str %>
!
!

<%= "#{year}/#{month}" %>?????????

!
!
!

_???????????????

! ! ! <% monthly( year + month ).each_notmove_item( 'account' => account_regexp( account ), 'genre' => genre ) do |item| %> ! ! ! ! ! ! ! ! ! ! <% end %> !
????????????????????????????????????????????????
<%= item.date %><%= CGI::escapeHTML(item.genre) %><%= item.price > 0 ? item.price.to_disp_str : '' %><%= item.price < 0 ? (-item.price).to_disp_str : '' %><%= CGI::escapeHTML(item.account) %><%= CGI::escapeHTML(item.note) %><%= item.special %>
!
!
!

_??????

! ! ! <% monthly( year + month ).each_move_item( 'account' => account_regexp( account ), 'genre' => genre ) do |item| %> ! ! ! ! ! ! ! ! ! ! <% end %> !
????????????????????????????????????????????????
<%= item.date %><%= CGI::escapeHTML(item.genre) %><%= item.price > 0 ? item.price.to_disp_str : '' %><%= item.price < 0 ? (-item.price).to_disp_str : '' %><%= CGI::escapeHTML(item.account) %><%= CGI::escapeHTML(item.note) %><%= item.special %>
!
!
!
!
!
<% d = month == (Time.now + (@conf.hour_offset * 3600).to_i).strftime( '%m' ) ? (Time.now + (@conf.hour_offset * 3600).to_i).strftime( '%d' ) : '' %>
--- 76,87 ----
<%= t1.to_disp_str %> <%= t2.to_disp_str %>
! ! <% d = month == (Time.now + (@conf.hour_offset * 3600).to_i).strftime( '%m' ) ? (Time.now + (@conf.hour_offset * 3600).to_i).strftime( '%d' ) : '' %> *************** *** 213,217 **** --- 179,227 ----

+ + +
+

<%= "#{year}/#{month}" %>?????????

+
+
+

_???????????????

+ + + <% monthly( year + month ).each_notmove_item( 'account' => account_regexp( account ), 'genre' => genre ) do |item| %> + + + + + + + + + + <% end %> +
????????????????????????????????????????????????
<%= item.date %><%= CGI::escapeHTML(item.genre) %><%= item.price > 0 ? item.price.to_disp_str : '' %><%= item.price < 0 ? (-item.price).to_disp_str : '' %><%= CGI::escapeHTML(item.account) %><%= CGI::escapeHTML(item.note) %><%= item.special %>
+
+
+

_??????

+ + + <% monthly( year + month ).each_move_item( 'account' => account_regexp( account ), 'genre' => genre ) do |item| %> + + + + + + + + + + <% end %> +
????????????????????????????????????????????????
<%= item.date %><%= CGI::escapeHTML(item.genre) %><%= item.price > 0 ? item.price.to_disp_str : '' %><%= item.price < 0 ? (-item.price).to_disp_str : '' %><%= CGI::escapeHTML(item.account) %><%= CGI::escapeHTML(item.note) %><%= item.special %>
+
+
+
+
+
+
<%= @conf.footer %> -------------- next part -------------- -- koichiro From koichiro @ meadowy.org Wed Jan 28 18:11:49 2004 From: koichiro @ meadowy.org (Koichiro Ohba) Date: Wed, 28 Jan 2004 18:11:49 +0900 Subject: [Mobo-dev] =?iso-2022-jp?b?UmU6IBskQjduST08KCROOT1ALhsoQg==?= In-Reply-To: References: Message-ID: >>>>> >>>>> Koichiro Ohba 曰く: > 参考までに上記変更をしたパッチを添付します。 すみません。パッチの encoding が壊れていたので再送します。 -------------- next part -------------- Index: skel/month.rhtml =================================================================== RCS file: /cvsroot/mobo/mobo/skel/month.rhtml,v retrieving revision 1.24 diff -c -r1.24 month.rhtml *** skel/month.rhtml 9 Nov 2003 05:52:56 -0000 1.24 --- skel/month.rhtml 28 Jan 2004 09:10:05 -0000 *************** *** 2,17 ****
! ! ! <% t1 = 0; t2 = 0; genre_expense.each do |genre| %> ! ! ! <% end %> --- 2,34 ----
<%= "#{year}/#{month}" %>の支出
(通常)(全て)
&date=<%= year + month %>"><%= genre %><% p = -genre_total( year + month, "e:#{genre}", nil, account ); t1 += p %><%= p.to_disp_str %><% p = -genre_total( year + month, "e:#{genre}", 1, account ); t2 += p %><%= p.to_disp_str %>
+
+ <% if vaccount_name.length > 0 %> + + + + + + <% vaccount_name.each do |vaccount| %> + + + + + + <% end %> +
仮想口座の残高
仮想口座(現在)(いずれ)
<%= vaccount %><%= balance( Time.now.strftime( '%Y%m%d' ), vaccount ).to_disp_str %><%= grand_total( vaccount ).to_disp_str %>
+ <% end %> +
! ! ! <% t1 = 0; t2 = 0; account_list.each do |account| %> ! ! ! <% end %> *************** *** 23,37 ****
各口座の残高
(現在)(いずれ)
<%= account %><% p = balance( Time.now.strftime( '%Y%m%d' ), account ); t1 += p %><%= p.to_disp_str %><% p = grand_total( account_regexp( account ) ); t2 += p %><%= p.to_disp_str %>
! ! <% t1 = 0; t2 = 0; genre_income.each do |genre| %> ! ! ! <% end %> --- 40,54 ----
<%= "#{year}/#{month}" %>の収入
(通常)(全て)
&date=<%= year + month %>"><%= genre %><% p = genre_total( year + month, "i:#{genre}", nil, account ); t1 += p %><%= p.to_disp_str %><% p = genre_total( year + month, "i:#{genre}", 1, account ); t2 += p %><%= p.to_disp_str %>
! ! <% t1 = 0; t2 = 0; genre_expense.each do |genre| %> ! ! ! <% end %> *************** *** 43,57 ****
<%= "#{year}/#{month}" %>の支出
(通常)(全て)
&date=<%= year + month %>"><%= genre %><% p = -genre_total( year + month, "e:#{genre}", nil, account ); t1 += p %><%= p.to_disp_str %><% p = -genre_total( year + month, "e:#{genre}", 1, account ); t2 += p %><%= p.to_disp_str %>
! ! ! <% t1 = 0; t2 = 0; account_list.each do |account| %> ! ! ! <% end %> --- 60,74 ----
各口座の残高
(現在)(いずれ)
<%= account %><% p = balance( Time.now.strftime( '%Y%m%d' ), account ); t1 += p %><%= p.to_disp_str %><% p = grand_total( account_regexp( account ) ); t2 += p %><%= p.to_disp_str %>
! ! ! <% t1 = 0; t2 = 0; genre_income.each do |genre| %> ! ! ! <% end %> *************** *** 59,121 **** - <% if vaccount_name.length > 0 %> - - - - <% vaccount_name.each do |vaccount| %> - - - - - - <% end %> - <% end %>
<%= "#{year}/#{month}" %>の収入
(通常)(全て)
&date=<%= year + month %>"><%= genre %><% p = genre_total( year + month, "i:#{genre}", nil, account ); t1 += p %><%= p.to_disp_str %><% p = genre_total( year + month, "i:#{genre}", 1, account ); t2 += p %><%= p.to_disp_str %>
<%= t1.to_disp_str %> <%= t2.to_disp_str %>
仮想口座(現在)(いずれ)
<%= vaccount %><%= balance( Time.now.strftime( '%Y%m%d' ), vaccount ).to_disp_str %><%= grand_total( vaccount ).to_disp_str %>
!
!

<%= "#{year}/#{month}" %>の明細

!
!
!

_収入・支出

! ! ! <% monthly( year + month ).each_notmove_item( 'account' => account_regexp( account ), 'genre' => genre ) do |item| %> ! ! ! ! ! ! ! ! ! ! <% end %> !
分類入金額出金額口座メモ特別?
<%= item.date %><%= CGI::escapeHTML(item.genre) %><%= item.price > 0 ? item.price.to_disp_str : '' %><%= item.price < 0 ? (-item.price).to_disp_str : '' %><%= CGI::escapeHTML(item.account) %><%= CGI::escapeHTML(item.note) %><%= item.special %>
!
!
!

_移動

! ! ! <% monthly( year + month ).each_move_item( 'account' => account_regexp( account ), 'genre' => genre ) do |item| %> ! ! ! ! ! ! ! ! ! ! <% end %> !
分類入金額出金額口座メモ特別?
<%= item.date %><%= CGI::escapeHTML(item.genre) %><%= item.price > 0 ? item.price.to_disp_str : '' %><%= item.price < 0 ? (-item.price).to_disp_str : '' %><%= CGI::escapeHTML(item.account) %><%= CGI::escapeHTML(item.note) %><%= item.special %>
!
!
!
!
!
<% d = month == (Time.now + (@conf.hour_offset * 3600).to_i).strftime( '%m' ) ? (Time.now + (@conf.hour_offset * 3600).to_i).strftime( '%d' ) : '' %>
--- 76,87 ----
<%= t1.to_disp_str %> <%= t2.to_disp_str %>
! ! <% d = month == (Time.now + (@conf.hour_offset * 3600).to_i).strftime( '%m' ) ? (Time.now + (@conf.hour_offset * 3600).to_i).strftime( '%d' ) : '' %> *************** *** 213,217 **** --- 179,227 ----

+ + +
+

<%= "#{year}/#{month}" %>の明細

+
+
+

_収入・支出

+ + + <% monthly( year + month ).each_notmove_item( 'account' => account_regexp( account ), 'genre' => genre ) do |item| %> + + + + + + + + + + <% end %> +
分類入金額出金額口座メモ特別?
<%= item.date %><%= CGI::escapeHTML(item.genre) %><%= item.price > 0 ? item.price.to_disp_str : '' %><%= item.price < 0 ? (-item.price).to_disp_str : '' %><%= CGI::escapeHTML(item.account) %><%= CGI::escapeHTML(item.note) %><%= item.special %>
+
+
+

_移動

+ + + <% monthly( year + month ).each_move_item( 'account' => account_regexp( account ), 'genre' => genre ) do |item| %> + + + + + + + + + + <% end %> +
分類入金額出金額口座メモ特別?
<%= item.date %><%= CGI::escapeHTML(item.genre) %><%= item.price > 0 ? item.price.to_disp_str : '' %><%= item.price < 0 ? (-item.price).to_disp_str : '' %><%= CGI::escapeHTML(item.account) %><%= CGI::escapeHTML(item.note) %><%= item.special %>
+
+
+
+
+
+
<%= @conf.footer %> -------------- next part -------------- -- koichiro From kazuhiko @ fdiary.net Fri Jan 30 14:03:49 2004 From: kazuhiko @ fdiary.net (Kazuhiko) Date: Fri, 30 Jan 2004 14:03:49 +0900 Subject: [Mobo-dev] =?iso-2022-jp?b?UmU6IBskQjduST08KCROOT1ALhsoQg==?= In-Reply-To: References: Message-ID: かずひこです。 At Wed, 28 Jan 2004 15:53:20 +0900, Koichiro Ohba wrote: > まず、現状の月表示のページ構成について要望があります。サンプルでもそう > であるように仮想口座は、利用しているユーザー個人の総計であることが多い > と思います。したがって常に注意を払いたい項目となっているのですが、各口 > 座の残高に埋もれて見難いです。すぐ上にある口座の合計ともリンクしないの > に並べてあるために余計に混乱しやすいと思います。仮想口座は別枠にしたほ > うがよいのではないでしょうか。 確かに、別枠にしたほうがいいかもしれませんね。 > また、頻繁に見る項目について考えると私の場合は、仮想口座>各口座の残高 > >支出合計>収入合計の順番です。支出合計、収入合計は月末にチェックする > 程度の使い方をしています。UIの観点から見ると左上から右下に向かって視線 > を動かすのが自然なので、前述のような順番で配置すると嬉しいのですがいか > がでしょうか。 私は逆に「合計>残高」という頻度ですね。残高はだいたい把握しているし、 「今月の状況はこれまでと比べてどうか?」というのをより気にしています。 私にとっては、「月末にチェックする」のでは遅いのです。:) とは言え、「残高」と「合計」はそれなりに別物ですから、本来別ページにすべ きものかもしれません。このあたりは他の方のご意見もうかがえると幸いです。 > もうひとつ入力フォームの配置場所について。現状では月の収支履歴の後に入 > 力フォームがありますが、月末など履歴がたまってくると履歴の表示に時間が > かかり入力フォームがなかなか表示されないため、連続入力するときのユーザ > ビリティを落としているように思います。また、入力のたびにスクロールを強 > 要されるために労力が増えて入力するモチベーション維持の弊害にもなってい > ます。そこで履歴の前に入力フォームを表示するのが良いと思います。 確かにそうですねえ。でもこれも、いっそのこと入力は別ページにしようかなぁ と思っています。上のナビゲーションがどんどん増えそうなのがちょっと悩まし いところですが。 -- かずひこ ★シャア「名字が付いてない」 ☆一兵卒「あんなの飾りです。偉い人にはそれが分からんのです」