diff options
| author | Kir | 2011-11-03 19:07:54 +0400 |
|---|---|---|
| committer | Kir | 2011-11-03 19:07:54 +0400 |
| commit | a9c97ba576f190c18544919af477753c419036cf (patch) | |
| tree | 48c8a13e862fa249fad50420b077d6f9b1155d4f | |
| parent | e855fb8574570934cde28cfb190cc3cba31fbec0 (diff) | |
| download | inboxes-a9c97ba576f190c18544919af477753c419036cf.tar.bz2 | |
REST speakers controller, cganges in locale files
| -rw-r--r-- | app/controllers/discussions_controller.rb | 11 | ||||
| -rw-r--r-- | app/controllers/messages_controller.rb | 2 | ||||
| -rw-r--r-- | app/controllers/speakers_controller.rb | 4 | ||||
| -rw-r--r-- | app/models/discussion.rb | 12 | ||||
| -rw-r--r-- | app/views/discussions/show.html.haml | 2 | ||||
| -rw-r--r-- | config/locales/en.yml | 4 | ||||
| -rw-r--r-- | config/locales/ru.yml | 14 |
7 files changed, 22 insertions, 27 deletions
diff --git a/app/controllers/discussions_controller.rb b/app/controllers/discussions_controller.rb index cf658b6..48f6652 100644 --- a/app/controllers/discussions_controller.rb +++ b/app/controllers/discussions_controller.rb @@ -12,7 +12,7 @@ class DiscussionsController < ApplicationController # GET /discussions/1.json def show @discussion = Discussion.includes(:messages, :speakers).find(params[:id]) - redirect_to discussions_url, :notice => t("views.discussions.can_not_participate") unless @discussion.can_participate?(current_user) + redirect_to discussions_url, :notice => t("inboxes.discussions.can_not_participate") unless @discussion.can_participate?(current_user) @discussion.mark_as_read_for(current_user) end @@ -36,17 +36,12 @@ class DiscussionsController < ApplicationController end if @discussion.save - redirect_to @discussion, :notice => t("views.discussions.started") + redirect_to @discussion, :notice => t("inboxes.discussions.started") else render :action => "new" end end - def leave - @discussion.remove_speaker(current_user) - redirect_to discussions_url, :notice => t("views.discussions.leaved") - end - private def load_and_check_discussion_recipient @@ -64,7 +59,7 @@ class DiscussionsController < ApplicationController Message.create(:discussion => discussion, :user => current_user, :body => message.body) if message.body end # перекидываем на нее - redirect_to discussion_url(discussion), :notice => t("views.discussions.exists", :user => user[Inboxes::config.user_name]) + redirect_to discussion_url(discussion), :notice => t("inboxes.discussions.exists", :user => user[Inboxes::config.user_name]) end end end diff --git a/app/controllers/messages_controller.rb b/app/controllers/messages_controller.rb index a302237..7baf8df 100644 --- a/app/controllers/messages_controller.rb +++ b/app/controllers/messages_controller.rb @@ -2,7 +2,7 @@ class MessagesController < ApplicationController def create @discussion = Discussion.find(params[:discussion_id]) - redirect_to root_url, :notice => t("views.discussions.can_not_participate") unless @discussion.can_participate?(current_user) + redirect_to root_url, :notice => t("inboxes.discussions.can_not_participate") unless @discussion.can_participate?(current_user) @message = Message.new(params[:message]) @message.user = current_user diff --git a/app/controllers/speakers_controller.rb b/app/controllers/speakers_controller.rb index 17cedb9..db90dbe 100644 --- a/app/controllers/speakers_controller.rb +++ b/app/controllers/speakers_controller.rb @@ -13,7 +13,7 @@ class SpeakersController < ApplicationController def destroy @speaker = Speaker.find(params[:id]) @speaker.destroy - flash[:notice] = t("views.speakers.removed") + flash[:notice] = @speaker.user == current_user ? t("inboxes.discussions.leaved") : t("inboxes.speakers.removed") redirect_to @discussion.speakers.any? && @discussion.can_participate?(current_user) ? @discussion : discussions_url end @@ -21,6 +21,6 @@ class SpeakersController < ApplicationController def init_and_check_permissions @discussion = Discussion.find(params[:discussion_id]) - redirect_to discussions_url, :notice => t("views.discussions.can_not_participate") unless @discussion.can_participate?(current_user) + redirect_to discussions_url, :notice => t("inboxes.discussions.can_not_participate") unless @discussion.can_participate?(current_user) end end diff --git a/app/models/discussion.rb b/app/models/discussion.rb index ad53523..7cab6f0 100644 --- a/app/models/discussion.rb +++ b/app/models/discussion.rb @@ -99,16 +99,16 @@ class Discussion < ActiveRecord::Base # пометить как прочитанная def mark_as_read_for(user) - true - # flag = DiscussionView.find_or_create_by_user_id_and_discussion_id(user.id, self.id) - # flag.touch + # true + flag = DiscussionView.find_or_create_by_user_id_and_discussion_id(user.id, self.id) + flag.touch end - - private - + def find_speaker_by_user user Speaker.find_by_discussion_id_and_user_id(self.id, user.id) end + + private def check_that_has_at_least_two_users Rails.logger.info self.recipient_ids diff --git a/app/views/discussions/show.html.haml b/app/views/discussions/show.html.haml index 6672c54..e25d0a2 100644 --- a/app/views/discussions/show.html.haml +++ b/app/views/discussions/show.html.haml @@ -35,5 +35,5 @@ = render "messages/form" %p - = link_to "Выйти из переписки", leave_discussion_path(@discussion), :method => :post unless @discussion.private? + = link_to "Leave discussion", discussion_speaker_path(@discussion, @discussion.find_speaker_by_user(current_user)), :method => :delete unless @discussion.private? = link_to "All discussions", discussions_path
\ No newline at end of file diff --git a/config/locales/en.yml b/config/locales/en.yml index 34906af..e7013f5 100644 --- a/config/locales/en.yml +++ b/config/locales/en.yml @@ -3,12 +3,12 @@ en: attributes: discussion: recipient_tokens: "Recipients" - views: + inboxes: speakers: added: "Speaker was added to discussion" removed: "Speaker was removed from discussion" discussions: started: "Discussion started" - leaved: "You leaved discussion" + leaved: "You leaved the discussion" exists: "Discussion between you and %{user} already exists" can_not_participate: "You are not listed in this discussion"
\ No newline at end of file diff --git a/config/locales/ru.yml b/config/locales/ru.yml index cc4844e..f0e4f04 100644 --- a/config/locales/ru.yml +++ b/config/locales/ru.yml @@ -5,12 +5,12 @@ ru: recipient_tokens: "Получатели" message: body: "Сообщение" - views: + inboxes: discussions: - started: "Чат начат." - leaved: "Вы покинули дискуссию." - exists: "Дискуссия между вами и %{user} уже существует." - can_not_participate: "Вы не состоите в этой дискуссии." + started: "Чат начат" + leaved: "Вы покинули дискуссию" + exists: "Дискуссия между вами и %{user} уже существует" + can_not_participate: "Вы не состоите в этой дискуссии" speakers: - added: "Участник дискуссии добавлен." - removed: "Участник дискуссии удален."
\ No newline at end of file + added: "Участник дискуссии добавлен" + removed: "Участник дискуссии удален"
\ No newline at end of file |
