Add messagegroup
Messagegroups are a new kind of group. Every user can join and leave such a group on her own. They are useful to create topics for mails. E.g. if there is a weekly newsletter we can create a new messagegroup for it and every user which is interested in receiving the newsletter can join the corresponding group.
This commit is contained in:
parent
b30b4e46d8
commit
01cf6431a9
15 changed files with 172 additions and 9 deletions
|
|
@ -0,0 +1,20 @@
|
|||
# encoding: utf-8
|
||||
class Admin::MessagegroupsController < Admin::BaseController
|
||||
inherit_resources
|
||||
|
||||
def index
|
||||
@messagegroups = Messagegroup.order('name ASC')
|
||||
# if somebody uses the search field:
|
||||
@messagegroups = @messagegroups.where('name LIKE ?', "%#{params[:query]}%") unless params[:query].blank?
|
||||
|
||||
@messagegroups = @messagegroups.page(params[:page]).per(@per_page)
|
||||
end
|
||||
|
||||
def destroy
|
||||
@messagegroup = Messagegroup.find(params[:id])
|
||||
@messagegroup.destroy
|
||||
redirect_to admin_messagegroups_url, notice: t('admin.messagegroups.destroy.notice')
|
||||
rescue => error
|
||||
redirect_to admin_messagegroups_url, alert: t('admin.messagegroups.destroy.error', error: error.message)
|
||||
end
|
||||
end
|
||||
18
plugins/messages/app/controllers/messagegroups_controller.rb
Normal file
18
plugins/messages/app/controllers/messagegroups_controller.rb
Normal file
|
|
@ -0,0 +1,18 @@
|
|||
class MessagegroupsController < ApplicationController
|
||||
|
||||
def index
|
||||
@messagegroups = Messagegroup.order("name")
|
||||
end
|
||||
|
||||
def join
|
||||
@messagegroup = Messagegroup.find(params[:id])
|
||||
@messagegroup.users << current_user
|
||||
redirect_to messagegroups_url, :notice => I18n.t('messagegroups.join.notice')
|
||||
end
|
||||
|
||||
def leave
|
||||
@messagegroup = Messagegroup.find(params[:id])
|
||||
@messagegroup.users.destroy(current_user)
|
||||
redirect_to messagegroups_url, :notice => I18n.t('messagegroups.leave.notice')
|
||||
end
|
||||
end
|
||||
Loading…
Add table
Add a link
Reference in a new issue