dev cont
This commit is contained in:
parent
7de07db812
commit
0daf487816
125 changed files with 1629 additions and 482 deletions
|
@ -2,8 +2,9 @@ require 'yaml'
|
|||
|
||||
class ApplicationController < ActionController::Base
|
||||
|
||||
protect_from_forgery
|
||||
|
||||
#logger.custom("session",session.inspect)
|
||||
#protect_from_forgery
|
||||
|
||||
before_filter :load_settings,:current_user,:set_locale
|
||||
#before_filter :plugins_configuration
|
||||
|
||||
|
@ -32,13 +33,14 @@ class ApplicationController < ActionController::Base
|
|||
end
|
||||
|
||||
def current_user
|
||||
@current_user ||= User.find(session[:user_id]) if session[:user_id]
|
||||
@current_user ||= User.find(session[:user_id]) if session[:user_id]
|
||||
logger.custom("current_user",@current_user.inspect)
|
||||
end
|
||||
|
||||
def check_current_user
|
||||
if @current_user.nil?
|
||||
session["return_to"] = request.fullpath
|
||||
redirect_to :controller => 'user', :action => 'login'
|
||||
redirect_to :controller => 'user', :action => 'login'
|
||||
return false
|
||||
end
|
||||
end
|
||||
|
|
|
@ -3,16 +3,16 @@ require 'imap_session'
|
|||
|
||||
class FoldersController < ApplicationController
|
||||
|
||||
include ImapMailboxModule
|
||||
include ImapMailboxModule
|
||||
include ImapSessionModule
|
||||
|
||||
before_filter :check_current_user,:selected_folder, :get_current_folders
|
||||
before_filter :check_current_user,:selected_folder, :get_current_folders
|
||||
|
||||
before_filter :open_imap_session, :except => [:index,:show_hide,:system]
|
||||
after_filter :close_imap_session, :except => [:index,:show_hide,:system]
|
||||
|
||||
before_filter :get_folders
|
||||
before_filter :prepare_buttons_to_folders
|
||||
#before_filter :prepare_buttons_to_folders
|
||||
|
||||
#theme :theme_resolver
|
||||
|
||||
|
@ -153,16 +153,16 @@ class FoldersController < ApplicationController
|
|||
|
||||
protected
|
||||
|
||||
def prepare_buttons_to_folders
|
||||
@buttons = []
|
||||
@buttons << {:text => 'show_hide',:scope=>'folder',:image => 'flag.png'}
|
||||
@buttons << {:text => 'refresh',:scope=>'folder',:image => 'refresh.png'}
|
||||
end
|
||||
#def prepare_buttons_to_folders
|
||||
#@buttons = []
|
||||
#@buttons << {:text => 'show_hide',:scope=>'folder',:image => 'flag.png'}
|
||||
#@buttons << {:text => 'refresh',:scope=>'folder',:image => 'refresh.png'}
|
||||
#end
|
||||
|
||||
def get_folders
|
||||
@folders = @current_user.folders
|
||||
@folders_shown = @current_user.folders.shown
|
||||
#@folders_system = @current_user.folders.sys
|
||||
@folders_system = @current_user.folders.sys
|
||||
@current_user.folders.inbox.first.nil? ? @folder_inbox = "" : @folder_inbox = @current_user.folders.inbox.first.id
|
||||
@current_user.folders.drafts.first.nil? ? @folder_drafts = "" : @folder_drafts = @current_user.folders.drafts.first.id
|
||||
@current_user.folders.sent.first.nil? ? @folder_sent = "" : @folder_sent = @current_user.folders.sent.first.id
|
||||
|
|
|
@ -9,13 +9,14 @@ class InternalController < ApplicationController
|
|||
ERRORS = [
|
||||
:internal_server_error,
|
||||
:not_found,
|
||||
:unprocessable_entity
|
||||
:unprocessable_entity,
|
||||
:allready_configured
|
||||
].freeze
|
||||
|
||||
ERRORS.each do |e|
|
||||
define_method e do
|
||||
@title = t(e,:scope=>:internal)
|
||||
@error = t(e,:scope=>:internal)
|
||||
flash[:error] = t(e,:scope=>:internal)
|
||||
render 'error'
|
||||
end
|
||||
end
|
||||
|
@ -29,7 +30,7 @@ class InternalController < ApplicationController
|
|||
@title = t(:imap_error,:scope => :internal)
|
||||
@error = params[:error] || t(:unspecified_error, :scope => :internal)
|
||||
logger.error "!!! InternalControllerImapError: " + @error
|
||||
render 'error'
|
||||
render 'error'
|
||||
end
|
||||
|
||||
def loginfailure
|
||||
|
@ -39,12 +40,19 @@ class InternalController < ApplicationController
|
|||
redirect_to :controller=>'user', :action => 'login'
|
||||
end
|
||||
|
||||
def onlycanlogins
|
||||
reset_session
|
||||
flash[:error] = t(:only_can_logins,:scope=>:user)
|
||||
@current_user = nil
|
||||
redirect_to :controller=>'user', :action => 'login'
|
||||
end
|
||||
#def onlycanlogins
|
||||
#reset_session
|
||||
#flash[:error] = t(:only_can_logins,:scope=>:user)
|
||||
#@current_user = nil
|
||||
#redirect_to :controller=>'user', :action => 'login'
|
||||
#end
|
||||
|
||||
#def onlycanlogins
|
||||
#reset_session
|
||||
#flash[:error] = t(:allready_configured,:scope=>:user)
|
||||
#@current_user = nil
|
||||
#redirect_to :controller=>'user', :action => 'login'
|
||||
#end
|
||||
|
||||
def about
|
||||
render 'internal/about', :layout => 'application'
|
||||
|
|
|
@ -16,9 +16,9 @@ class MessagesController < ApplicationController
|
|||
before_filter :prepare_compose_buttons, :only => [:compose]
|
||||
before_filter :get_system_folders, :only => [:index]
|
||||
before_filter :create_message_with_params, :only => [:compose]
|
||||
before_filter :prepare_multi1_buttons, :only => [:index,:show]
|
||||
before_filter :prepare_multi2_buttons, :only => [:index]
|
||||
before_filter :prepare_multi3_buttons, :only => [:show]
|
||||
#before_filter :prepare_multi1_buttons, :only => [:index,:show]
|
||||
#before_filter :prepare_multi2_buttons, :only => [:index]
|
||||
#before_filter :prepare_multi3_buttons, :only => [:show]
|
||||
after_filter :close_imap_session
|
||||
|
||||
#theme :theme_resolver
|
||||
|
@ -129,7 +129,9 @@ class MessagesController < ApplicationController
|
|||
end
|
||||
end
|
||||
else
|
||||
part = Mail::Part.new(mail)
|
||||
logger.custom('mail',mail.inspect)
|
||||
part = mail
|
||||
#part = Mail::Part.new(mail)
|
||||
part.idx = 0
|
||||
part.parent_id = @message.uid
|
||||
if part.isText?
|
||||
|
@ -175,7 +177,8 @@ class MessagesController < ApplicationController
|
|||
if mail.multipart? == true
|
||||
attachments = mail.attachments
|
||||
else
|
||||
attachments << Mail::Part.new(mail)
|
||||
#attachments << Mail::Part.new(mail)
|
||||
attachments << mail
|
||||
end
|
||||
a = attachments[params[:idx].to_i]
|
||||
headers['Content-type'] = a.main_type + "/" + a.sub_type
|
||||
|
@ -188,23 +191,23 @@ class MessagesController < ApplicationController
|
|||
|
||||
protected
|
||||
|
||||
def prepare_multi2_buttons
|
||||
@multi2_buttons = []
|
||||
@multi2_buttons << {:text => 'trash',:scope=>:message,:image => 'trash.png'}
|
||||
@multi2_buttons << {:text => 'set_unread',:scope=>:message,:image => 'unseen.png'}
|
||||
@multi2_buttons << {:text => 'set_read',:scope=>:message,:image => 'seen.png'}
|
||||
end
|
||||
#def prepare_multi2_buttons
|
||||
#@multi2_buttons = []
|
||||
#@multi2_buttons << {:text => 'trash',:scope=>:message,:image => 'trash.png'}
|
||||
#@multi2_buttons << {:text => 'set_unread',:scope=>:message,:image => 'unseen.png'}
|
||||
#@multi2_buttons << {:text => 'set_read',:scope=>:message,:image => 'seen.png'}
|
||||
#end
|
||||
|
||||
def prepare_multi1_buttons
|
||||
@multi1_buttons = []
|
||||
@multi1_buttons << {:text => 'copy',:scope=>:message,:image => 'copy.png'}
|
||||
@multi1_buttons << {:text => 'move',:scope=>:message,:image => 'move.png'}
|
||||
end
|
||||
#def prepare_multi1_buttons
|
||||
#@multi1_buttons = []
|
||||
#@multi1_buttons << {:text => 'copy',:scope=>:message,:image => 'copy.png'}
|
||||
#@multi1_buttons << {:text => 'move',:scope=>:message,:image => 'move.png'}
|
||||
#end
|
||||
|
||||
def prepare_multi3_buttons
|
||||
@multi3_buttons = []
|
||||
@multi3_buttons << {:text => 'show_header',:scope=>:show,:image => 'zoom.png'}
|
||||
@multi3_buttons << {:text => 'trash',:scope=>:show,:image => 'trash.png'}
|
||||
@multi3_buttons << {:text => 'reply',:scope=>:show,:image => 'reply.png'}
|
||||
end
|
||||
#def prepare_multi3_buttons
|
||||
#@multi3_buttons = []
|
||||
#@multi3_buttons << {:text => 'show_header',:scope=>:show,:image => 'zoom.png'}
|
||||
#@multi3_buttons << {:text => 'trash',:scope=>:show,:image => 'trash.png'}
|
||||
#@multi3_buttons << {:text => 'reply',:scope=>:show,:image => 'reply.png'}
|
||||
#end
|
||||
end
|
||||
|
|
|
@ -4,6 +4,12 @@ class UserController < ApplicationController
|
|||
layout "simple"
|
||||
|
||||
def login
|
||||
# database empty redirect to setup screen
|
||||
users = User.all
|
||||
if users.count.zero?
|
||||
redirect_to :controller => 'user', :action => 'setup'
|
||||
return false
|
||||
end
|
||||
end
|
||||
|
||||
def logout
|
||||
|
@ -14,29 +20,31 @@ class UserController < ApplicationController
|
|||
|
||||
def authenticate
|
||||
|
||||
users = User.all
|
||||
if users.count.zero?
|
||||
redirect_to :controller => 'user', :action => 'setup'
|
||||
return false
|
||||
end
|
||||
|
||||
# check if user can use application
|
||||
if not $defaults["only_can_logins"].nil?
|
||||
if not $defaults["only_can_logins"].include?(params[:user][:login])
|
||||
redirect_to :controller => 'internal', :action => 'onlycanlogins'
|
||||
flash[:error] = t(:only_can_logins,:scope=>:user)
|
||||
redirect_to :action => 'login'
|
||||
return false
|
||||
end
|
||||
end
|
||||
|
||||
user = User.find_by_login(params[:user][:login])
|
||||
if user.nil?
|
||||
redirect_to :action => 'unknown' ,:login=> params[:user][:login]
|
||||
|
||||
flash[:error] = t(:login_failure,:scope=>:user)
|
||||
redirect_to :action => 'login'
|
||||
return false
|
||||
|
||||
else
|
||||
session[:user_id] = user.id
|
||||
|
||||
session[:user_id] = user.id
|
||||
user.set_cached_password(session,params[:user][:password])
|
||||
|
||||
if session["return_to"]
|
||||
redirect_to(session["return_to"])
|
||||
redirect = session["return_to"]
|
||||
session["return_to"] = nil
|
||||
redirect_to(redirect)
|
||||
else
|
||||
redirect_to :controller=> 'messages', :action=> 'index'
|
||||
end
|
||||
|
@ -44,17 +52,19 @@ class UserController < ApplicationController
|
|||
end
|
||||
end
|
||||
|
||||
def loginfailure
|
||||
end
|
||||
#def loginfailure
|
||||
#end
|
||||
|
||||
def setup
|
||||
users = User.all
|
||||
if !users.count.zero?
|
||||
redirect_to :controller => 'internal', :action => 'allready_configured'
|
||||
return false
|
||||
end
|
||||
@user = User.new
|
||||
@server = Server.new
|
||||
end
|
||||
|
||||
def unknown
|
||||
end
|
||||
|
||||
def create
|
||||
|
||||
@user = User.new
|
||||
|
@ -62,7 +72,7 @@ class UserController < ApplicationController
|
|||
@user.first_name = params[:user][:first_name]
|
||||
@user.last_name = params[:user][:last_name]
|
||||
|
||||
@server = Server.new
|
||||
@server = Server.new
|
||||
@server.name = params[:server][:name]
|
||||
|
||||
if @user.valid? and @server.valid?
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue