From 751fae97f3f9dd25a02d51675130e45b4e6645aa Mon Sep 17 00:00:00 2001 From: Wojciech Todryk Date: Thu, 18 Aug 2011 19:57:12 +0200 Subject: [PATCH] view work --- Gemfile.lock | 81 ------------------- app/controllers/application_controller.rb | 17 ++-- app/controllers/folders_controller.rb | 71 ++++++++++++---- app/controllers/internal_controller.rb | 7 ++ app/controllers/messages_controller.rb | 68 +++++++--------- app/controllers/user_controller.rb | 8 +- app/helpers/application_helper.rb | 57 ++++++++++--- app/helpers/folder_helper.rb | 4 +- app/helpers/messages_helper.rb | 7 ++ app/models/folder.rb | 3 + app/models/message.rb | 4 +- config/defaults.yml | 1 + config/locales/pl.yml | 16 +++- config/routes.rb | 20 +++-- lib/imap_mailbox.rb | 3 +- lib/imap_message.rb | 6 +- lib/imap_session.rb | 2 +- themes/olive/stylesheets/style.css | 32 +++++++- themes/olive/views/folders/_list.html.erb | 6 +- themes/olive/views/messages/_body.html.erb | 3 + themes/olive/views/messages/_header.html.erb | 9 +++ themes/olive/views/messages/_msg_ops.html.erb | 8 ++ themes/olive/views/messages/_new.html.erb | 6 ++ themes/olive/views/messages/compose.html.erb | 9 ++- themes/olive/views/messages/show.html.erb | 7 +- 25 files changed, 274 insertions(+), 181 deletions(-) delete mode 100644 Gemfile.lock create mode 100755 themes/olive/views/messages/_body.html.erb create mode 100755 themes/olive/views/messages/_header.html.erb create mode 100755 themes/olive/views/messages/_msg_ops.html.erb create mode 100755 themes/olive/views/messages/_new.html.erb diff --git a/Gemfile.lock b/Gemfile.lock deleted file mode 100644 index a3cbd0a..0000000 --- a/Gemfile.lock +++ /dev/null @@ -1,81 +0,0 @@ -GEM - remote: http://rubygems.org/ - specs: - actionmailer (3.0.9) - actionpack (= 3.0.9) - mail (~> 2.2.19) - actionpack (3.0.9) - activemodel (= 3.0.9) - activesupport (= 3.0.9) - builder (~> 2.1.2) - erubis (>= 2.6.6) - i18n (~> 0.5.0) - rack (~> 1.2.1) - rack-mount (~> 0.6.14) - rack-test (~> 0.5.7) - tzinfo (~> 0.3.23) - activemodel (3.0.9) - activesupport (= 3.0.9) - builder (~> 2.1.2) - i18n (~> 0.5.0) - activerecord (3.0.9) - activemodel (= 3.0.9) - activesupport (= 3.0.9) - arel (~> 2.0.10) - tzinfo (~> 0.3.23) - activeresource (3.0.9) - activemodel (= 3.0.9) - activesupport (= 3.0.9) - activesupport (3.0.9) - arel (2.0.10) - builder (2.1.2) - erubis (2.7.0) - ezcrypto (0.7.2) - i18n (0.5.0) - mail (2.2.19) - activesupport (>= 2.3.6) - i18n (>= 0.4.0) - mime-types (~> 1.16) - treetop (~> 1.4.8) - mime-types (1.16) - mysql2 (0.2.7) - polyglot (0.3.1) - rack (1.2.3) - rack-mount (0.6.14) - rack (>= 1.0.0) - rack-test (0.5.7) - rack (>= 1.0) - rails (3.0.9) - actionmailer (= 3.0.9) - actionpack (= 3.0.9) - activerecord (= 3.0.9) - activeresource (= 3.0.9) - activesupport (= 3.0.9) - bundler (~> 1.0) - railties (= 3.0.9) - railties (3.0.9) - actionpack (= 3.0.9) - activesupport (= 3.0.9) - rake (>= 0.8.7) - rdoc (~> 3.4) - thor (~> 0.14.4) - rake (0.9.2) - rdoc (3.6.1) - themes_for_rails (0.4.2) - rails (~> 3.0.0) - themes_for_rails - thor (0.14.6) - treetop (1.4.9) - polyglot (>= 0.3.1) - tzinfo (0.3.29) - will_paginate (3.0.pre4) - -PLATFORMS - ruby - -DEPENDENCIES - ezcrypto (~> 0.7.2) - mysql2 (~> 0.2.7) - rails (~> 3.0.7) - themes_for_rails - will_paginate (~> 3.0.beta) diff --git a/app/controllers/application_controller.rb b/app/controllers/application_controller.rb index 4bd6e18..d6e2daf 100755 --- a/app/controllers/application_controller.rb +++ b/app/controllers/application_controller.rb @@ -2,15 +2,16 @@ require 'yaml' class ApplicationController < ActionController::Base - #unless config.consider_all_requests_local - # #rescue_from ActionController::RoutingError, :with => :route_not_found - # rescue_from ActiveRecord::RecordNotFound, :with => :route_not_found - #end - protect_from_forgery before_filter :load_defaults,:current_user,:set_locale before_filter :plugins_configuration + rescue_from ActiveRecord::RecordNotFound do + logger.custom('record_not_found','exc') + reset_session + redirect_to :controller=>'user', :action => 'login' + end + ################################# protected section ########################################### protected @@ -42,7 +43,7 @@ class ApplicationController < ActionController::Base 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 @@ -65,9 +66,5 @@ class ApplicationController < ActionController::Base WillPaginate::ViewHelpers.pagination_options[:next_label] = t(:next_page) end - #def route_not_found - # render :text => 'What the fuck are you looking for ?', :status => :not_found - #end - end diff --git a/app/controllers/folders_controller.rb b/app/controllers/folders_controller.rb index a81a913..6d753f9 100755 --- a/app/controllers/folders_controller.rb +++ b/app/controllers/folders_controller.rb @@ -8,8 +8,8 @@ class FoldersController < ApplicationController before_filter :check_current_user ,:selected_folder - before_filter :open_imap_session, :except => [:index,:refresh_status,:show_hide] - after_filter :close_imap_session, :except => [:index,:refresh_status,:show_hide] + before_filter :open_imap_session, :except => [:index,:show_hide] + after_filter :close_imap_session, :except => [:index,:show_hide] before_filter :get_folders @@ -25,6 +25,7 @@ class FoldersController < ApplicationController render "index" else begin + #TODO recreate local copy of folders if params["parent_folder"].empty? @mailbox.create_folder(params[:folder]) else @@ -39,10 +40,11 @@ class FoldersController < ApplicationController render 'index' return end - redirect_to :action => 'refresh', :flash => t(:was_created,:scope=>:folder), :type => :notice + flash[:notice] = t(:was_created,:scope=>:folder) + redirect_to :action => 'index' end end - # FIXME if you delete folder you should change current folder because if you go to messages/index you got nil + def delete if params["folder"].empty? flash[:warning] = t(:to_delete_empty,:scope=>:folder) @@ -59,25 +61,33 @@ class FoldersController < ApplicationController raise Exception, t(:system_folder) end @mailbox.delete_folder(folder.full_name) + logger.custom('c',@current_folder.inspect) + logger.custom('f',folder.inspect) + if @current_folder.eql? folder + session[:selected_folder] = $defaults['mailbox_inbox'] + end + folder.destroy rescue Exception => e flash[:error] = t(:can_not_delete,:scope=>:folder) + ' (' + e.to_s + ')' render 'index' return end - redirect_to :action => 'refresh', :flash => t(:was_deleted,:scope=>:folder), :type => :notice + flash[:notice] = t(:was_deleted,:scope=>:folder) + redirect_to :action => 'index' end 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 + if !params["folders_to_show"].nil? + @folders.each do |f| + if params["folders_to_show"].include?(f.id.to_s) + f.shown = true + f.save + else + f.shown = false + f.save + end + end end redirect_to :action => 'index' end @@ -88,6 +98,39 @@ class FoldersController < ApplicationController redirect_to :action => 'index' end + def select + session[:selected_folder] = params[:id] + redirect_to :controller => 'messages', :action => 'index' + end + + def refresh_status + @folders_shown.each do |f| + @mailbox.set_folder(f.full_name) + folder_status = @mailbox.status + f.update_attributes(:total => folder_status['MESSAGES'], :unseen => folder_status['UNSEEN']) + end + redirect_to :controller=> 'messages', :action => 'index' + end + + def emptybin + begin + trash_folder = @current_user.folders.find_by_full_name($defaults["mailbox_trash"]) + @mailbox.set_folder(trash_folder.full_name) + trash_folder.messages.each do |m| + @mailbox.delete_message(m.uid) + end + @mailbox.expunge + trash_folder.messages.destroy_all + trash_folder.update_attributes(:unseen => 0, :total => 0) + rescue Exception => e + flash[:error] = "#{t(:imap_error)} (#{e.to_s})" + end + redirect_to :controller => 'messages', :action => 'index' + end + + + ############################################# protected section ####################################### + protected def get_folders diff --git a/app/controllers/internal_controller.rb b/app/controllers/internal_controller.rb index 3794ea1..076b05d 100755 --- a/app/controllers/internal_controller.rb +++ b/app/controllers/internal_controller.rb @@ -28,4 +28,11 @@ 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 + end diff --git a/app/controllers/messages_controller.rb b/app/controllers/messages_controller.rb index 5105a29..3b5f97c 100755 --- a/app/controllers/messages_controller.rb +++ b/app/controllers/messages_controller.rb @@ -9,18 +9,20 @@ class MessagesController < ApplicationController include ImapMessageModule include MessagesHelper - before_filter :check_current_user ,:selected_folder - - before_filter :get_current_folders + before_filter :check_current_user ,:selected_folder,:get_current_folders before_filter :open_imap_session, :select_imap_folder after_filter :close_imap_session theme :theme_resolver - def index + if @current_folder.nil? + redirect_to :controller => 'folders', :action => 'index' + return + end + @messages = [] folder_status = @mailbox.status @@ -45,53 +47,38 @@ class MessagesController < ApplicationController end - def folder - session[:selected_folder] = params[:id] - redirect_to :action => 'index' - end - def compose - flash[:notice] = 'Not impelented yet' + @message = Message.new end -# TODO error when no folders are shown + def reply + @message = Message.new + render 'compose' + end - def refresh - @folders_shown.each do |f| - @mailbox.set_folder(f.full_name) - folder_status = @mailbox.status - f.update_attributes(:total => folder_status['MESSAGES'], :unseen => folder_status['UNSEEN']) - end + def sendout + flash[:notice] = t(:was_sent,:scope => :sendout) redirect_to :action => 'index' - end + end - def emptybin + def msgops begin - trash_folder = @current_user.folders.find_by_full_name($defaults["mailbox_trash"]) - @mailbox.set_folder(trash_folder.full_name) - trash_folder.messages.each do |m| - logger.custom('id',m.inspect) - @mailbox.delete_message(m.uid) + if !params["uids"] + flash[:warning] = t(:no_selected,:scope=>:message) + elsif params["reply"] + redirect_to :action => 'reply', :id => params[:id] + return end - @mailbox.expunge - trash_folder.messages.destroy_all - trash_folder.update_attributes(:unseen => 0, :total => 0) rescue Exception => e flash[:error] = "#{t(:imap_error)} (#{e.to_s})" end - redirect_to :action => 'index' - end + redirect_to :action => 'show', :id => params[:id] + end def ops begin if !params["uids"] flash[:warning] = t(:no_selected,:scope=>:message) - elsif params["delete"] - params["uids"].each do |uid| - @mailbox.delete_message(uid) - @current_user.messages.find_by_uid(uid).destroy - end - @current_folder.update_stats elsif params["set_unread"] params["uids"].each do |uid| @mailbox.set_unread(uid) @@ -116,7 +103,7 @@ class MessagesController < ApplicationController if params["dest_folder"].empty? flash[:warning] = t(:no_selected,:scope=>:folder) else - dest_folder = find(params["dest_folder"]) + dest_folder = @current_user.folders.find(params["dest_folder"]) params["uids"].each do |uid| @mailbox.copy_message(uid,dest_folder.full_name) message = @current_folder.messages.find_by_uid(uid) @@ -151,8 +138,13 @@ class MessagesController < ApplicationController def show @message = @current_user.messages.find(params[:id]) @message.update_attributes(:unseen => false) - flash[:notice] = 'Not implemented yet' - @body = @mailbox.fetch_body(@message.uid) + + end + + def body + body = @mailbox.fetch_body(params[:id].to_i) + @body = "ala#{body}" + render :text => @body end end diff --git a/app/controllers/user_controller.rb b/app/controllers/user_controller.rb index 7b9d597..5304635 100755 --- a/app/controllers/user_controller.rb +++ b/app/controllers/user_controller.rb @@ -12,9 +12,11 @@ class UserController < ApplicationController redirect_to :action => "login" end -# TODO make login possible to use only one username - def authenticate + if !$defaults["only_can_logins"].include?(params[:user][:email]) + redirect_to :controller => 'internal', :action => 'onlycanlogins' + return false + end user = User.find_by_email(params[:user][:email]) if user.nil? redirect_to :action => 'unknown' ,:email=> params[:user][:email] @@ -26,7 +28,7 @@ class UserController < ApplicationController redirect_to(session["return_to"]) session["return_to"] = nil else - redirect_to :controller=> 'messages', :action=> 'refresh' + redirect_to :controller=> 'messages', :action=> 'index' end end diff --git a/app/helpers/application_helper.rb b/app/helpers/application_helper.rb index 4bafdea..c498d6a 100755 --- a/app/helpers/application_helper.rb +++ b/app/helpers/application_helper.rb @@ -4,18 +4,16 @@ def form_field(object,field,flabel,example,val) model_name = eval(object.class.model_name) html = "" html << "
" - if object.errors[field.to_sym] + if not object.errors[field.to_sym].empty? html << "
" end + html << "" - if object.errors[field.to_sym] + + if not object.errors[field.to_sym].empty? html << " " html << object.errors[field.to_sym].to_s html << "" @@ -25,8 +23,8 @@ def form_field(object,field,flabel,example,val) html << object.class.name.downcase+"_"+field html << "\"" html << " name=\"#{object.class.name.downcase}[#{field}]\"" - html << " size=50 type=\"text\" class=\"text_field\" value=\"" - value = object.instance_eval(field) || val || "" + html << " type=\"text\" class=\"text_field\" value=\"" + value = object.instance_eval(field) || val || "" html << value html << "\"/>" html << "" @@ -38,6 +36,47 @@ def form_field(object,field,flabel,example,val) end +def mail_param_view(object,field,value) + model_name = eval(object.class.model_name) + html = "" + html << "
" + html << "" + html << value + html << "
" + html +end + +def area_field(object,field,flabel,example,val,cols,rows) + model_name = eval(object.class.model_name) + html = "" + html << "
" + + if not object.errors[field.to_sym].empty? + html << "
" + end + + html << "" + + if not object.errors[field.to_sym].empty? + html << "" + html << object.errors[field.to_sym].to_s + html << "" + html << "
" + end + + name = object.class.name.downcase + '[' + field + ']' + id = object.class.name.downcase+"_"+field + value = object.instance_eval(field) || val || "" + html << "" + + desc = t(:example) + ": " + example + html << "#{desc}" + + html << "
" +end + def form_button(text,image) html = "" html << "
" diff --git a/app/helpers/folder_helper.rb b/app/helpers/folder_helper.rb index 4a4d477..68dc87f 100755 --- a/app/helpers/folder_helper.rb +++ b/app/helpers/folder_helper.rb @@ -3,12 +3,12 @@ module FolderHelper def folder_link(folder) folder.parent.empty? ? name = folder.name : name = folder.parent.gsub(/\./,'#') + "#" + folder.name - s = link_to folder.name.capitalize, messages_folder_path(:id => name) + s = link_to folder.name.capitalize, folders_select_path(:id => name) if folder.full_name.downcase == $defaults["mailbox_trash"].downcase if not folder.total.zero? s <<' (' - s << link_to(t(:emptybin,:scope=>:folder),messages_emptybin_path) + s << link_to(t(:emptybin,:scope=>:folder),folders_emptybin_path) s << ')' end else diff --git a/app/helpers/messages_helper.rb b/app/helpers/messages_helper.rb index 135c25a..f616fbb 100755 --- a/app/helpers/messages_helper.rb +++ b/app/helpers/messages_helper.rb @@ -18,6 +18,13 @@ module MessagesHelper ImapMessageModule::IMAPAddress.parse(addr).friendly end + def show_address_formatter(addr) + html = "" + fs = addr.split(/#/) + fs[0].size.zero? ? html << h("<")+fs[1]+h("@")+fs[2]+h(">") : html << fs[0]+h(" <")+fs[1]+h("@")+fs[2]+h(">") + html + end + def subject_formatter(message) if message.subject.size.zero? s = t(:no_subject,:scope=>:message) diff --git a/app/models/folder.rb b/app/models/folder.rb index d967081..c3dfc97 100755 --- a/app/models/folder.rb +++ b/app/models/folder.rb @@ -40,6 +40,9 @@ class Folder < ActiveRecord::Base def check_fill_params self.total.nil? ? self.total = 0 : self.total self.unseen.nil? ? self.unseen = 0 : self.unseen + self.parent.nil? ? self.parent = "" : self.parent + self.haschildren.nil? ? self.haschildren = false : self.haschildren + self.delim.nil? ? self.delim = "." : self.delim end def self.createBulk(user,imapFolders) diff --git a/app/models/message.rb b/app/models/message.rb index 3a51d40..4001327 100755 --- a/app/models/message.rb +++ b/app/models/message.rb @@ -2,6 +2,8 @@ class Message < ActiveRecord::Base belongs_to :user belongs_to :folder + attr_accessor :body + def self.getPageForUser(user,folder,page,sort_field,sort_dir) order = 'date desc' @@ -22,7 +24,7 @@ class Message < ActiveRecord::Base :msg_id => mess.message_id, :uid => mess.uid, :from_addr => mess.from_to_db, - :to_addr => mess.to, + :to_addr => mess.to_to_db, :subject => mess.subject, :content_type => mess.content_type, :date => mess.date, diff --git a/config/defaults.yml b/config/defaults.yml index afbae6e..57e05f8 100755 --- a/config/defaults.yml +++ b/config/defaults.yml @@ -35,3 +35,4 @@ mailbox_trash: INBOX.Trash mailbox_sent: INBOX.sent mailbox_drafts: INBOX.drafts +only_can_logins: [login] diff --git a/config/locales/pl.yml b/config/locales/pl.yml index 70e313f..56355ff 100755 --- a/config/locales/pl.yml +++ b/config/locales/pl.yml @@ -28,6 +28,7 @@ pl: subject: Temat size: Rozmiar date: Data + body: Treść user: email: E-mail password: Hasło @@ -40,7 +41,7 @@ pl: compose_to_selected: Napisz do wybranych delete_selected: Usuń wybrane modifying: Modyfikacja kontaktu - creating_new: Tworzenie nowego kontaktu + creating_new: Nowy kontakt create_new: Utwórz nowy kontakt contacts: Kontakty contact: Kontakt @@ -55,7 +56,7 @@ pl: folder: folders: Foldery - no_shown: Żadnych pokazanych folderów + no_shown: Nie prezentowany jest żaden folder. Skonfiguruj widok folderów w zakładce parent: Folder nadrzędny to_create: Folder do utworzenia to_delete: Folder do usunięcia @@ -84,6 +85,16 @@ pl: compose: compose: Nowa wiadomość + new_message: Nowa wiadomość + not_contain_at: ",jeżeli nie zawiera znaku @, adres będzie szukany w kontaktach" + subject_of_the_message: Temat wiadomości + write_your_message_here: Tu wpisz swoją wiadomość + + sendout: + was_sent: Wiadomość została wysłana + + show: + replay_to: Odpowiedz user: login_failure: Nieudane logowanie. Podano błędny e-mail lub hasło. @@ -96,6 +107,7 @@ pl: unknown_setup: Idź do strony konfiguracyjnej i skonfiguruj swój dostęp setup: Konfiguracja login: Logowanie + only_can_logins: Podany identyfikator użytkownika nie uprawnia do korzystania z aplikacji must_be_unique: musi być unikalny some_add_info: jakieś dodatkowe informacje diff --git a/config/routes.rb b/config/routes.rb index a0c179a..d819134 100755 --- a/config/routes.rb +++ b/config/routes.rb @@ -8,26 +8,34 @@ Mailr::Application.routes.draw do #resources :folders - get "folders/index" + match "folders/index" => 'folders#index', :as => :folders post "folders/create" post "folders/delete" post "folders/show_hide" get "folders/refresh" + get "folders/refresh_status" post "folders/refresh" + match "folders/select/:id" => 'folders#select', :as => :folders_select + get "folders/emptybin" get "internal/error" get "internal/imaperror" get "internal/loginfailure" + get "internal/onlycanlogins" root :to => "messages#index" + #get "messages/refresh_status" + #get "messages/emptybin" + #match "messages/select/:id" => 'messages#select', :as => :messages_select get "messages/index" - get "messages/refresh" - match 'messages/folder/:id' => 'messages#folder', :as => :messages_folder + #match 'messages/folder/:id' => 'messages#folder', :as => :messages_folder post "messages/ops" - get "messages/compose" - get "messages/refresh" + post "messages/msgops" + match "messages/compose" => 'messages#compose' + match "messages/reply/:id" => 'messages#reply' + post "messages/sendout" match "messages/show/:id" => 'messages#show' - get "messages/emptybin" + match "messages/body/:id" => 'messages#body' , :as => :messages_body get "user/logout" post "user/authenticate" diff --git a/lib/imap_mailbox.rb b/lib/imap_mailbox.rb index aa4b319..6f0fd1e 100755 --- a/lib/imap_mailbox.rb +++ b/lib/imap_mailbox.rb @@ -12,11 +12,12 @@ class IMAPMailbox attr_accessor :sfolder attr_accessor :logger - def initialize(logger) + def initialize(logger,debug) @sfolder = '' @folders = {} @connected = false @logger = logger + Net::IMAP.debug = debug end def connect(server,username,password) diff --git a/lib/imap_message.rb b/lib/imap_message.rb index d72f1f2..17afc4f 100755 --- a/lib/imap_message.rb +++ b/lib/imap_message.rb @@ -57,7 +57,6 @@ class IMAPMessage envelope = message.attr['ENVELOPE'] m.envelope = envelope m.message_id = envelope.message_id - m.to = envelope.to m.date = envelope.date m.subject = envelope.subject m.uid = message.attr['UID'] @@ -66,6 +65,7 @@ class IMAPMessage m.size = message.attr['RFC822.SIZE'] m.unseen = !(message.attr['FLAGS'].member? :Seen) m.from = IMAPAddress.from_address(envelope.from[0]) + m.to = IMAPAddress.from_address(envelope.to[0]) m end @@ -77,6 +77,10 @@ class IMAPMessage from.to_db end + def to_to_db + to.to_db + end + end diff --git a/lib/imap_session.rb b/lib/imap_session.rb index 4e5042a..8b915f3 100755 --- a/lib/imap_session.rb +++ b/lib/imap_session.rb @@ -5,7 +5,7 @@ module ImapSessionModule def open_imap_session begin - @mailbox ||= ImapMailboxModule::IMAPMailbox.new(logger) + @mailbox ||= ImapMailboxModule::IMAPMailbox.new(logger,$defaults["imap_debug"]) @mailbox.connect(@current_user.servers.primary,@current_user.email, @current_user.get_cached_password(session)) rescue Exception => ex redirect_to :controller => 'internal', :action => 'loginfailure' diff --git a/themes/olive/stylesheets/style.css b/themes/olive/stylesheets/style.css index 1905386..1355dff 100755 --- a/themes/olive/stylesheets/style.css +++ b/themes/olive/stylesheets/style.css @@ -356,11 +356,11 @@ tr.notseen td.subject { font-weight: bold; } -input,select { +input,select,textarea { background-color: #EFF3E4; border: 1px solid #5E634E; color: #black; - margin: 5px 0 0; + margin: 3px 0; } #footer { @@ -422,10 +422,33 @@ div.params { } div.params div.group { - margin-bottom:5px; + margin-bottom: 10px; } -div.params div.group div.fieldWithErrors label.label { +div.msg_header label { + display: inline; + float: left; + text-align: right; + width: 100px; + margin-right: 10px; + font-weight: bold; +} + +div.msg_header div.group { + margin: 10px 0; +} + +div.msg_header { + font-size: 14px; +} + +iframe { + width: 937px; + height: 600px; + margin-top: 10px; +} + +div.params div.group div.fieldWithErrors label.label, div.params div.group label.label{ font-weight: bold; font-size: 14px; } @@ -444,3 +467,4 @@ div.params div.group .description { div.params div.group .fieldWithErrors .error { color: red; } + diff --git a/themes/olive/views/folders/_list.html.erb b/themes/olive/views/folders/_list.html.erb index c3078c1..d7f92d9 100755 --- a/themes/olive/views/folders/_list.html.erb +++ b/themes/olive/views/folders/_list.html.erb @@ -1,8 +1,8 @@
-

<%=t(:folders,:scope=>:folder) %> <%= link_to t(:refresh), messages_refresh_path, :class=>'minor' %>

+

<%=t(:folders,:scope=>:folder) %> <%= link_to t(:refresh), folders_refresh_status_path, :class=>'minor' %>

- <% if @folders_shown.size.zero? %> -

<%= t(:no_shown,:scope=>:folder) %>

+ <% if @folders_shown.nil? or @folders_shown.size.zero? %> +

<%= t(:no_shown,:scope=>:folder) %> <%= link_to t(:folders,:scope=>:folder), folders_path %>

<% else %>
-

<%= @message.inspect %>

-

<%= @body.inspect %>

+ <%= form_tag(messages_msgops_path)%> + <%= render :partial => 'header' %> + <%= render :partial => 'msg_ops' %> + <%= render :partial => 'body' %> +