30 lines
800 B
Ruby
Executable File
30 lines
800 B
Ruby
Executable File
class Admin::ConversationsController < ApplicationController
|
|
layout "admin"
|
|
before_filter :auth_admin
|
|
|
|
|
|
def index
|
|
|
|
@conversations = ContactMessage.select([
|
|
"count(CASE WHEN contact_messages.read_by_admin = FALSE THEN 1 END ) as unread_count",
|
|
"max(created_at) as last_at",
|
|
"count(contact_id) as messages_count",
|
|
"contact_messages.*"])
|
|
.group(:contact_id)
|
|
.order(created_at: :desc)
|
|
.page(params[:page])
|
|
|
|
|
|
end
|
|
|
|
def show
|
|
@customer = Customer.find(params[:id])
|
|
ContactMessage.where(contact_id: params[:id]).update_all(read_by_admin: true)
|
|
@contact_messages = ContactMessage.where('customer_id = ? OR contact_id = ?', params[:id], params[:id])
|
|
.order(created_at: :desc).page params[:page]
|
|
|
|
end
|
|
|
|
|
|
end
|