folders devel ended

This commit is contained in:
Wojciech Todryk 2011-07-31 22:45:29 +02:00
parent 565654d2a5
commit 65472c55cc
18 changed files with 119 additions and 65 deletions

View file

@ -43,4 +43,9 @@ class ApplicationController < ActionController::Base
session[:selected_folder] ? @selected_folder = session[:selected_folder] : @selected_folder = $defaults['mailbox_inbox']
end
def get_current_folders
@folders_shown = @current_user.folders.shown.order("name asc")
@current_folder = @current_user.folders.current(@selected_folder)
end
end

View file

@ -1,21 +1,12 @@
require 'imap_session'
require 'imap_mailbox'
class ContactsController < ApplicationController
include ImapMailboxModule
include ImapSessionModule
before_filter :check_current_user,:selected_folder
before_filter :open_imap_session
after_filter :close_imap_session
before_filter :get_current_folders, :only => [:index]
theme :theme_resolver
def index
@folders = @current_user.folders.order("name asc")
@current_folder = @current_user.folders.current(@selected_folder)
flash[:notice] = 'Not implemented yet'
end

View file

@ -5,10 +5,10 @@ class FoldersController < ApplicationController
before_filter :check_current_user ,:selected_folder
before_filter :open_imap_session
after_filter :close_imap_session
before_filter :open_imap_session, :except => [:index,:refresh_status,:show_hide]
after_filter :close_imap_session, :except => [:index,:refresh_status,:show_hide]
before_filter :get_folders, :except => :manage
before_filter :get_folders
theme :theme_resolver
@ -36,7 +36,7 @@ class FoldersController < ApplicationController
render 'index'
return
end
redirect_to :action => 'manage', :flash => t(:folder_was_created), :type => :notice
redirect_to :action => 'refresh', :flash => t(:folder_was_created), :type => :notice
end
end
# FIXME if you delete folder you should change current folder because if you go to messages/index you got nil
@ -61,29 +61,45 @@ class FoldersController < ApplicationController
render 'index'
return
end
redirect_to :action => 'manage', :flash => t(:folder_was_deleted), :type => :notice
redirect_to :action => 'refresh', :flash => t(:folder_was_deleted), :type => :notice
end
end
def sub_un_scribe
redirect_to :action => 'manage'
end
def manage
@current_user.folders.destroy_all
folders=@mailbox.folders
Folder.createBulk(@current_user,folders)
if params[:flash]
flash[params[:type]] = params[:flash]
end
def show_hide
@folders.each do |f|
logger.info f.inspect,"\n"
if params["folders_to_show"].include?(f.id.to_s)
f.shown = true
f.save
else
f.shown = false
f.save
end
end
redirect_to :action => 'index'
end
def refresh
Folder.refresh(@mailbox,@current_user)
if params[:flash]
flash[params[:type]] = params[:flash]
end
redirect_to :action => 'index'
end
protected
def get_folders
@folders = @current_user.folders.order("name asc")
@current_folder = @current_user.folders.current(@selected_folder)
@folders_shown = []
@folders.each do |f|
if f.shown == true
@folders_shown << f
end
if f.selected?(@selected_folder)
@current_folder = f
end
end
end
end

View file

@ -8,33 +8,28 @@ class MessagesController < ApplicationController
before_filter :check_current_user ,:selected_folder
before_filter :get_current_folders, :only => [:index,:compose]
before_filter :open_imap_session, :only => :refresh
after_filter :close_imap_session, :only => :refresh
theme :theme_resolver
def index
@folders = @current_user.folders.order("name asc")
@current_folder = @current_user.folders.current(@selected_folder)
flash[:notice] = 'Not implemented yet'
end
def refresh
@current_user.folders.destroy_all
folders=@mailbox.folders
Folder.createBulk(@current_user,folders)
redirect_to :action => 'index'
end
def folder
session[:selected_folder] = params[:id]
redirect_to :action => 'index'
end
def compose
@folders = @current_user.folders.order("name asc")
@current_folder = @current_user.folders.current(@selected_folder)
flash[:notice] = 'Not impelented yet'
end
def refresh
redirect_to :action => 'index'
end
end

View file

@ -2,11 +2,11 @@ class PrefsController < ApplicationController
before_filter :check_current_user,:selected_folder
before_filter :get_current_folders, :only => [:index,:compose]
theme :theme_resolver
def index
@folders = @current_user.folders.order("name asc")
@current_folder = @current_user.folders.current(@selected_folder)
flash[:notice] = 'Not implemented yet'
end