kawazrepos / Kommonz

Creative Commons Material Collection for Game Developer via Kawaz
http://kommonz.kawaz.org/
2 stars 0 forks source link

Notificationの実装 #8

Closed giginet closed 13 years ago

giginet commented 13 years ago

contrib.auth.models.Messageの拡張?

Google+やはてなのように、右上に最新のお知らせを表示させる。

お知らせとしては

などが考えられる

kzosabe commented 13 years ago

各種通知の送信元になる「system」や「admin」的なメッセージ送信用の固定ユーザを用意したほうがいいような気がします KommonzUserの形でfixtureに持たせることができそうなら、ぎぎさんにお願いしたいです 現状のfixtureのadminはKommonzじゃないUserで登録されているようです

giginet commented 13 years ago

現状のfixtureのadminはKommonzじゃないUserで登録されているようです その問題、金曜夜のミーティングで言われて、土曜未明のコミットで修正したはずですよ。 テストも書いてあるので、syncdbしなおして確認して貰って良いですか?

管理者からのお知らせは、ロンギヌスの槍、的な管理ページを作って、そこから全ユーザーに送信できるような仕組みを作ってください。

よろしくお願いします。

fixtureの書き方は今度教えます。

kzosabe commented 13 years ago

確認しましたが、こちらが間違えていました。申し訳ないです dbを削除してsyncdbをしてからadmin画面に入ったところ、テーブル上にはKommonzUserが表示されており その中にadminが正常に登録されていました

ただ、そこからそのadminアカウントでmaterialを生成しようとすると ValueError at /admin/materials/material/add/ Cannot assign "": "Material.author" must be a "KommonzUser" instance. というエラーが出ます materials/createからも同様です twitter認証で登録したアカウントに対してadminからsuperuser権限を付加して、 そのユーザでmaterialを追加するとこのエラーは出ずに正常に通ります そのため、fixtureのadminがKommonzUserとは別のものになっているんじゃないかと推測した次第です

単純にadminページのログインから入った際にのみ通常のUserでログインしてしまっているのが問題のようなので adminをKommonzUserとして使う場合はdjango.adminの改変か oAuth認証のadmin用アカウント(Kommonzのtwitter垢とか)、あるいはパスワード認証画面が必要そうですね

giginet commented 13 years ago

単純にadminページのログインから入った際にのみ通常のUserでログインしてしまっているのが問題のようなので

なるほど、AuthBackendまわりを弄らないとダメそうね。がんばってみます。 継承周りは面倒だなぁ……。

kzosabe commented 13 years ago

暫定的にモデルを書かずにtemplatetagで実装してみました。 未読件数の表示、未読メッセージの一覧表示ができます。 Materialの必要事項が記入されているかの通知に関しても仕様が固まればすぐ対応できそうです。 これから先タイムライン形式で表示する必要など出てきたらいろいろと見直します。