From dfcc076a7f0a0e985d03ed2b55e4d1197875fbde Mon Sep 17 00:00:00 2001 From: huang Date: Wed, 29 Apr 2015 16:46:34 +0800 Subject: [PATCH 01/13] =?UTF-8?q?=E8=A7=92=E8=89=B2=E5=A4=9A=E9=80=89?= =?UTF-8?q?=E7=9A=84=E6=97=B6=E5=80=99=E6=9D=83=E9=99=90=E6=8E=A7=E5=88=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/views/layouts/_join_exit_project.html.erb | 2 +- app/views/projects/settings/_new_members.html.erb | 14 +++++++------- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/app/views/layouts/_join_exit_project.html.erb b/app/views/layouts/_join_exit_project.html.erb index 1a757becc..ba3300d44 100644 --- a/app/views/layouts/_join_exit_project.html.erb +++ b/app/views/layouts/_join_exit_project.html.erb @@ -17,7 +17,7 @@ <% end %> <% if (User.current.member_of? @project) && User.current.login? && !User.current.admin && - Member.where(:user_id => User.current.id, :project_id => @project.id).first.roles.first.to_s != "Manager" %> + !Member.where(:user_id => User.current.id, :project_id => @project.id).first.roles.first.to_s.include?("Manager") %> <%= exit_project_link(@project) %> <% end %> diff --git a/app/views/projects/settings/_new_members.html.erb b/app/views/projects/settings/_new_members.html.erb index 5e2c9f603..7abe6198c 100644 --- a/app/views/projects/settings/_new_members.html.erb +++ b/app/views/projects/settings/_new_members.html.erb @@ -18,19 +18,19 @@
  • <%= link_to_user_header member.principal,false,:class => "w140_h c_setting_blue fl" %> - <%= h member.roles.sort.collect(&:to_s).join(', ') %> - <%= form_for(member, {:as => :membership, :remote => true, :url => membership_path(member), - :method => :put, - :html => {:id => "member-#{member.id}-roles-form", :class => 'hol'}} + <%= h member.roles.sort.collect(&:to_s).join(', ') %> + <%= form_for(member, {:as => :membership, :remote => true, :url => membership_path(member), + :method => :put, + :html => {:id => "member-#{member.id}-roles-form", :class => 'hol'}} ) do |f| %> - <% roles.each do |role| %> + <% roles.each do |role| %>
      <%= check_box_tag 'membership[role_ids][]', role.id, member.roles.include?(role), :disabled => member.member_roles.detect { |mr| mr.role_id == role.id && !mr.inherited_from.nil? } %>
    - <% end %> + <% end %> <%= hidden_field_tag 'membership[role_ids][]', '' %>
    @@ -41,7 +41,7 @@
    <% end %> -
    + <% unless member.user_id == @project.user_id %> 编辑 <%= delete_link membership_path(member), From 519eab76bdbe130996f1e6e9d15e6df0eca0a21e Mon Sep 17 00:00:00 2001 From: lizanle <491823689@qq.com> Date: Wed, 29 Apr 2015 17:46:39 +0800 Subject: [PATCH 02/13] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E6=98=BE=E7=A4=BA?= =?UTF-8?q?=E8=AF=BE=E7=A8=8B=E7=9A=84=E8=AF=BE=E4=BB=B6=E5=88=97=E8=A1=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/api/mobile/apis/courses.rb | 12 ++++++++++++ app/api/mobile/entities/attachment.rb | 3 +++ app/services/courses_service.rb | 11 +++++++++++ 3 files changed, 26 insertions(+) diff --git a/app/api/mobile/apis/courses.rb b/app/api/mobile/apis/courses.rb index 08c7adf10..ce02f4249 100644 --- a/app/api/mobile/apis/courses.rb +++ b/app/api/mobile/apis/courses.rb @@ -228,6 +228,18 @@ module Mobile present :status, 0 end + desc '课程课件' + params do + requires :token, type: String + requires :course_id,type: Integer,desc: '课程id' + end + get ":course_id/attachments" do + cs = CoursesService.new + count = cs.course_attachments params + present :data, count, with: Mobile::Entities::Attachment + present :status, 0 + end + end end end diff --git a/app/api/mobile/entities/attachment.rb b/app/api/mobile/entities/attachment.rb index 510db89be..080b24558 100644 --- a/app/api/mobile/entities/attachment.rb +++ b/app/api/mobile/entities/attachment.rb @@ -16,8 +16,11 @@ module Mobile end end end + attachment_expose :id attachment_expose :filename attachment_expose :description + attachment_expose :downloads + attachment_expose :quotes end end end \ No newline at end of file diff --git a/app/services/courses_service.rb b/app/services/courses_service.rb index e91883bee..b992665d3 100644 --- a/app/services/courses_service.rb +++ b/app/services/courses_service.rb @@ -428,6 +428,17 @@ class CoursesService result end + # 课程课件 + def course_attachments params + result = [] + @course = Course.find(params[:course_id]) + @attachments = @course.attachments.order("created_on desc") + @attachments.each do |atta| + result << {:filename => atta.filename,:description => atta.description,:downloads => atta.downloads,:quotes => atta.quotes.nil? ? 0 :atta.quotes } + end + result + end + private def show_homework_info course,bid,current_user,is_course_teacher author_real_name = bid.author.lastname + bid.author.firstname From bbe4c15293614be8553fc11549b5de8c3ad5700e Mon Sep 17 00:00:00 2001 From: whimlex Date: Wed, 29 Apr 2015 17:50:35 +0800 Subject: [PATCH 03/13] =?UTF-8?q?=E9=97=AE=E9=A2=98=E8=B7=9F=E8=B8=AA?= =?UTF-8?q?=E5=9B=BE=E7=89=87=E9=99=84=E4=BB=B6=E5=92=8C=E5=AE=9A=E4=B9=89?= =?UTF-8?q?=E7=9A=84=E6=A0=B7=E5=BC=8F=E4=B8=8D=E4=B8=80=E6=97=B6=EF=BC=8C?= =?UTF-8?q?=E8=B0=83=E6=95=B4=E5=9B=BE=E7=89=87=E7=BC=A9=E7=95=A5=E5=9B=BE?= =?UTF-8?q?=E6=98=BE=E7=A4=BA=E6=96=B9=E5=BC=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/helpers/application_helper.rb | 5 +-- .../attachments/_project_file_links.html.erb | 32 +++++++++++++++++++ public/stylesheets/project.css | 2 +- 3 files changed, 36 insertions(+), 3 deletions(-) diff --git a/app/helpers/application_helper.rb b/app/helpers/application_helper.rb index 6eb02f1cf..65ad32602 100644 --- a/app/helpers/application_helper.rb +++ b/app/helpers/application_helper.rb @@ -329,11 +329,12 @@ module ApplicationHelper imagesize = attachment.thumbnail(:size => "200*200") imagepath = named_attachment_path(attachment, attachment.filename) if imagesize - link_to image_tag(thumbnail_path(attachment), height: '73', width: '100'), + link_to image_tag(thumbnail_path(attachment), height: '73', width: '100', name: 'issue_attachment_picture'), imagepath, :title => attachment.filename + else - link_to image_tag(imagepath , height: '73', width: '100'), + link_to image_tag(imagepath , height: '73', width: '100', name: 'issue_attachment_picture'), imagepath, :title => attachment.filename end diff --git a/app/views/attachments/_project_file_links.html.erb b/app/views/attachments/_project_file_links.html.erb index 0135ee239..28fde5fe1 100644 --- a/app/views/attachments/_project_file_links.html.erb +++ b/app/views/attachments/_project_file_links.html.erb @@ -1,3 +1,35 @@ +
    <% is_float ||= false %> <% for attachment in attachments %> diff --git a/public/stylesheets/project.css b/public/stylesheets/project.css index a62bd0389..4f9c6ec78 100644 --- a/public/stylesheets/project.css +++ b/public/stylesheets/project.css @@ -87,7 +87,7 @@ a.pro_mes_w{ height:20px; float:left;display:block; color:#999999;} .pro_page_top{ font-size:14px; border-bottom:2px solid #64bdd9; margin-bottom:10px; padding-bottom:5px;} .pro_page_tit{color:#3e4040; font-weight:bold;width:480px; float:left; font-size:14px; margin-bottom:5px;} .pro_pic_box{ margin-left:60px; } -.pro_pic{ width:100px; border:2px solid #CCC; margin:10px 0;} +.pro_pic{ width:100px; height:73px;line-height:73px;border:2px solid #CCC; margin:10px 0;} .pro_info_box{ margin-left:60px; background:#f0fbff; height:80px; padding:10px 0;} .pro_info_box ul{} .pro_info_box ul li{ margin-bottom:10px;} From 8384eff7f2ca9992df4f41c8ba0e045bfd05b622 Mon Sep 17 00:00:00 2001 From: guange <8863824@gmail.com> Date: Wed, 29 Apr 2015 23:17:24 +0800 Subject: [PATCH 04/13] =?UTF-8?q?delayed=5Fjob=E6=9D=A1=E4=BB=B6=E9=94=99?= =?UTF-8?q?=E8=AF=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/models/mailer.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/models/mailer.rb b/app/models/mailer.rb index a930b5467..d0a928bfa 100644 --- a/app/models/mailer.rb +++ b/app/models/mailer.rb @@ -33,7 +33,7 @@ class Mailer < ActionMailer::Base @target = cls end def method_missing(name, *args, &block) - if Setting.delayjob_enabled && Object.const_defined?('Delayed') + if Setting.delayjob_enabled? && Object.const_defined?('Delayed') @target.delay.send(name, *args, &block) else @target.send(name, *args, &block).deliver From 73798a0da453a4e9f0fb675f89a442d7967451bd Mon Sep 17 00:00:00 2001 From: huang Date: Thu, 30 Apr 2015 07:22:47 +0800 Subject: [PATCH 05/13] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E9=82=AE=E4=BB=B6?= =?UTF-8?q?=E4=B8=A4=E6=AC=A1=E7=82=B9=E5=87=BB500=E9=94=99=E8=AF=AF=20?= =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E5=8A=9F=E8=83=BD=EF=BC=9A=E5=9C=A8=E7=82=B9?= =?UTF-8?q?=E5=87=BB=E6=8F=90=E4=BA=A4=E6=97=B6=E4=BB=A3=E7=A0=81=E5=90=8E?= =?UTF-8?q?=E8=87=AA=E5=8A=A8=E5=88=9B=E5=BB=BA=E7=94=A8=E6=88=B7=20?= =?UTF-8?q?=E7=94=A8=E6=88=B7=E8=87=AA=E5=8A=A8=E7=99=BB=E5=BD=95=E5=8A=9F?= =?UTF-8?q?=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/controllers/projects_controller.rb | 13 +++---------- app/models/mailer.rb | 19 +++++++++++++++---- app/models/principal.rb | 1 + 3 files changed, 19 insertions(+), 14 deletions(-) diff --git a/app/controllers/projects_controller.rb b/app/controllers/projects_controller.rb index 845f32dab..76e136216 100644 --- a/app/controllers/projects_controller.rb +++ b/app/controllers/projects_controller.rb @@ -248,16 +248,9 @@ class ProjectsController < ApplicationController # 2、加入项目、创建角色 # 3、用户得分 if params[:login] - login = params[:login] - login = login.sub(/%40/,'@') - mail = params[:login] - password = params[:password] - us = UsersService.new - user = us.register_auto(login,mail, password) - - Member.create(:role_ids => [4], :user_id => user.id,:project_id => @project.id) - UserGrade.create(:user_id => user.id, :project_id => @project.id) - User.current = user unless User.current.nil? + # 自动激活用户 + user.status = 1 + user.save end if params[:jump] && redirect_to_project_menu_item(@project, params[:jump]) return diff --git a/app/models/mailer.rb b/app/models/mailer.rb index a930b5467..e67d042e1 100644 --- a/app/models/mailer.rb +++ b/app/models/mailer.rb @@ -33,7 +33,7 @@ class Mailer < ActionMailer::Base @target = cls end def method_missing(name, *args, &block) - if Setting.delayjob_enabled && Object.const_defined?('Delayed') + if Setting.delayjob_enabled? && Object.const_defined?('Delayed') @target.delay.send(name, *args, &block) else @target.send(name, *args, &block).deliver @@ -52,9 +52,20 @@ class Mailer < ActionMailer::Base @email = email @subject = "#{invitor.name} #{l(:label_invite_project)} #{project.name} " @password = newpass(6) - @project_url = url_for(:controller => 'projects', :action => 'show', :id => project.id, - :password => @password, - :login => email) + + login = email + login = login.sub(/%40/,'@') + us = UsersService.new + # 自动激活用户 + user = us.register_auto(login, @email, @password) + + Member.create(:role_ids => [4], :user_id => user.id,:project_id => project.id) + UserGrade.create(:user_id => user.id, :project_id => project.id) + User.current = user unless User.current.nil? + @user = user + @token = Token.get_token_from_user(user, 'autologin') + @project_url = url_for(:controller => 'projects', :action => 'show', :id => project.id,:user => user, :token => @token.value + ) mail :to => email, :subject => @subject end diff --git a/app/models/principal.rb b/app/models/principal.rb index dfec5b911..0f0746f78 100644 --- a/app/models/principal.rb +++ b/app/models/principal.rb @@ -19,6 +19,7 @@ class Principal < ActiveRecord::Base self.table_name = "#{table_name_prefix}users#{table_name_suffix}" # Account statuses + # 0 全部;1 活动的; 2 已注册; 3 锁定 STATUS_ANONYMOUS = 0 STATUS_ACTIVE = 1 STATUS_REGISTERED = 2 From 389266e3e539a35e417b30f46d13e96fcaa55c6f Mon Sep 17 00:00:00 2001 From: huang Date: Thu, 30 Apr 2015 07:46:07 +0800 Subject: [PATCH 06/13] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E4=B8=8D=E5=90=8C?= =?UTF-8?q?=E8=A7=92=E8=89=B2=E6=8B=A5=E6=9C=89=E7=9A=84=E6=9D=83=E9=99=90?= =?UTF-8?q?=20=E7=AE=A1=E7=90=86=E5=91=98--=E9=85=8D=E7=BD=AE=E3=80=81?= =?UTF-8?q?=E9=A1=B9=E7=9B=AE=E7=B1=BB=E5=9E=8B=20=E5=BC=80=E5=8F=91?= =?UTF-8?q?=E4=BA=BA=E5=91=98--=20=E9=85=8D=E7=BD=AE=E3=80=81=E9=80=80?= =?UTF-8?q?=E5=87=BA=E9=A1=B9=E7=9B=AE=20=E6=8A=A5=E5=91=8A=E8=80=85--=20?= =?UTF-8?q?=E9=80=80=E5=87=BA=E9=A1=B9=E7=9B=AE=EF=BC=88admin=E5=8F=AF?= =?UTF-8?q?=E4=BB=A5=E9=85=8D=EF=BC=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/views/layouts/_join_exit_project.html.erb | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/app/views/layouts/_join_exit_project.html.erb b/app/views/layouts/_join_exit_project.html.erb index ba3300d44..83352de9d 100644 --- a/app/views/layouts/_join_exit_project.html.erb +++ b/app/views/layouts/_join_exit_project.html.erb @@ -12,12 +12,12 @@ <%= link_to "#{l(:button_configure)}".html_safe, settings_project_path(@project), :class => "pr_join_a" %> <% end %> - <% if (User.current.login? && User.current.member_of?(@project) && Member.where(:user_id => User.current.id, :project_id => @project.id).first.roles.first.to_s.include?("Manager")) || User.current.admin? %> + <% if (User.current.login? && User.current.member_of?(@project) && Member.where(:user_id => User.current.id, :project_id => @project.id).first.roles.to_s.include?("Manager")) || User.current.admin? %> <%= link_to "#{text}".html_safe,"javascript:void(0)" ,:onClick => "show_window();", :class => "pr_join_a",:id => "setting_project_type"%> <% end %> <% if (User.current.member_of? @project) && User.current.login? && !User.current.admin && - !Member.where(:user_id => User.current.id, :project_id => @project.id).first.roles.first.to_s.include?("Manager") %> + !Member.where(:user_id => User.current.id, :project_id => @project.id).first.roles.to_s.include?("Manager") %> <%= exit_project_link(@project) %> <% end %> From 0a8f3faf6aaab8506450880dfc76ebc2777c0a44 Mon Sep 17 00:00:00 2001 From: sw <939547590@qq.com> Date: Thu, 30 Apr 2015 09:02:33 +0800 Subject: [PATCH 07/13] =?UTF-8?q?1=E3=80=81project.css=E9=94=99=E8=AF=AF?= =?UTF-8?q?=E4=BB=A3=E7=A0=81=202=E3=80=81=E9=A1=B9=E7=9B=AE=E4=B8=8A?= =?UTF-8?q?=E4=BC=A0=E8=B5=84=E6=BA=90=E5=BC=B9=E6=A1=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/views/files/_project_file_new.html.erb | 2 +- public/stylesheets/project.css | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/app/views/files/_project_file_new.html.erb b/app/views/files/_project_file_new.html.erb index f71783ba2..e94e27784 100644 --- a/app/views/files/_project_file_new.html.erb +++ b/app/views/files/_project_file_new.html.erb @@ -5,7 +5,7 @@ $('#ajax-modal').html('<%= escape_javascript(render :partial => 'upload_show_project',:locals => {:project => project}) %>'); showModal('ajax-modal', '513px'); $('#ajax-modal').siblings().remove(); - $('#ajax-modal').before("") + $('#ajax-modal').before(""); $('#ajax-modal').parent().css("top","40%").css("left","30%"); $('#ajax-modal').parent().addClass("popbox_polls"); } diff --git a/public/stylesheets/project.css b/public/stylesheets/project.css index 4f9c6ec78..27a32b18a 100644 --- a/public/stylesheets/project.css +++ b/public/stylesheets/project.css @@ -222,7 +222,7 @@ a:hover.ping_sub{ background:#14a8b9;} /*.ping_distop span a{ float:right; width:20px; height:20px; background:url(images/star.png) -24px 0 no-repeat; margin-right:3px;}*/ /*上传资源弹出框样式*/ -/*#popbox_polls{width:300px;height:100px;position:fixed !important;z-index:100;left:50%;top:50%;margin:-100px 0 0 -150px; background:#fff; -moz-border-radius:5px; -webkit-border-radius:5px; border-radius:5px; box-shadow:0px 0px 8px #194a81; overflow:auto;}*/ +.popbox_polls{position:fixed !important;} .upload_con h2{ display:block; background:#eaeaea; font-size:14px; color:#343333; height:31px; width: auto; margin-top:25px; padding-left:20px; padding-top:5px;} .upload_box{ width:430px; margin:15px auto;} @@ -338,7 +338,7 @@ a:hover.st_add{ color:#ff8e15;} .newpro_box input{ height:26px; float:left; margin-bottom:10px;} .newpro_box textarea{ height:150px; float:left; margin-bottom:10px;} .newpro_box select{ height:29px; float:left; margin-bottom:10px;} -.label{ width:80px; text-align:right; font-size:14 background-image: url(../images/true.png); } +.label{ width:80px; text-align:right; font-size:14px; background-image: url(../images/true.png); } .icon-reload { background-image: url(../images/reload.png); } .icon { background-position: 0% 50%; @@ -433,7 +433,7 @@ span.add_attachment a {padding-left:16px; background: url(../images/bullet_add.p /*日历选择图*/ img.ui-datepicker-trigger { display:block; - background:url(/images/public_icon.png) -31px 0 no-repeat; + background:url(../images/public_icon.png) -31px 0 no-repeat; cursor: pointer; vertical-align: middle; margin-left: 5px; From b67f40173865e3acdb83f98f57b5a40ef3ccf2b2 Mon Sep 17 00:00:00 2001 From: huang Date: Thu, 30 Apr 2015 09:15:48 +0800 Subject: [PATCH 08/13] =?UTF-8?q?=E5=BC=95=E5=85=A5=E6=88=91=E7=9A=84?= =?UTF-8?q?=E8=AF=BE=E7=A8=8B=E5=B1=85=E4=B8=AD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/views/files/_project_file_new.html.erb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/views/files/_project_file_new.html.erb b/app/views/files/_project_file_new.html.erb index e94e27784..1e217f991 100644 --- a/app/views/files/_project_file_new.html.erb +++ b/app/views/files/_project_file_new.html.erb @@ -6,7 +6,7 @@ showModal('ajax-modal', '513px'); $('#ajax-modal').siblings().remove(); $('#ajax-modal').before(""); - $('#ajax-modal').parent().css("top","40%").css("left","30%"); + $('#ajax-modal').parent().css("top","40%").css("left","36%"); $('#ajax-modal').parent().addClass("popbox_polls"); } From 2f4ac77838876d1d5c4752c3389f645396fa18f8 Mon Sep 17 00:00:00 2001 From: lizanle <491823689@qq.com> Date: Thu, 30 Apr 2015 09:25:16 +0800 Subject: [PATCH 09/13] schema --- db/schema.rb | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/db/schema.rb b/db/schema.rb index dcbe017fb..006b26e91 100644 --- a/db/schema.rb +++ b/db/schema.rb @@ -654,6 +654,16 @@ ActiveRecord::Schema.define(:version => 20150428021035) do add_index "journal_details", ["journal_id"], :name => "journal_details_journal_id" + create_table "journal_details_copy", :force => true do |t| + t.integer "journal_id", :default => 0, :null => false + t.string "property", :limit => 30, :default => "", :null => false + t.string "prop_key", :limit => 30, :default => "", :null => false + t.text "old_value" + t.text "value" + end + + add_index "journal_details_copy", ["journal_id"], :name => "journal_details_journal_id" + create_table "journal_replies", :id => false, :force => true do |t| t.integer "journal_id" t.integer "user_id" From dbccf9034dc839da1540d305b0f995146f2d4f55 Mon Sep 17 00:00:00 2001 From: guange <8863824@gmail.com> Date: Thu, 30 Apr 2015 10:31:06 +0800 Subject: [PATCH 10/13] =?UTF-8?q?=E9=82=AE=E4=BB=B6=E5=8A=A0=E5=85=A5?= =?UTF-8?q?=E6=97=A5=E5=BF=97?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/models/mailer.rb | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/app/models/mailer.rb b/app/models/mailer.rb index d0a928bfa..7ccee1932 100644 --- a/app/models/mailer.rb +++ b/app/models/mailer.rb @@ -143,7 +143,7 @@ class Mailer < ActionMailer::Base @course_journal_messages,@user_journal_messages,@forums,@memos,@attachments,@bids].any? {|o| !o.empty? } - binding.pry if Rails.env.development? + mylogger.debug "Sent activity mail : #{user.mail} - #{has_content}" #有内容才发,没有不发 mail :to => user.mail,:subject => subject if has_content end @@ -818,11 +818,12 @@ class Mailer < ActionMailer::Base end set_language_if_valid @initial_language - super headers do |format| + m = super headers do |format| format.text format.html unless Setting.plain_text_mail? end - + mylogger.debug "Sent a mail from #{m.from} to [#{m.to},#{m.cc}, #{m.bcc if Setting.bcc_recipients?}] subject: #{m.subject}" + m end def initialize(*args) @@ -877,7 +878,11 @@ class Mailer < ActionMailer::Base end def mylogger - Rails.logger + if Setting.delayjob_enabled? + Delayed::Worker.logger + else + Rails.logger + end end def add_attachments(obj) From 538ba33174ba63fe056bef55cc90307fb7aeaae2 Mon Sep 17 00:00:00 2001 From: whimlex Date: Thu, 30 Apr 2015 10:47:34 +0800 Subject: [PATCH 11/13] =?UTF-8?q?=E9=97=AE=E9=A2=98=E8=B7=9F=E8=B8=AA?= =?UTF-8?q?=E9=99=84=E4=BB=B6=E5=9B=BE=E7=89=87=E6=98=BE=E7=A4=BA=E4=B8=8D?= =?UTF-8?q?=E6=8B=89=E4=BC=B8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../attachments/_project_file_links.html.erb | 49 +++++++++++++++---- 1 file changed, 39 insertions(+), 10 deletions(-) diff --git a/app/views/attachments/_project_file_links.html.erb b/app/views/attachments/_project_file_links.html.erb index 28fde5fe1..a42593290 100644 --- a/app/views/attachments/_project_file_links.html.erb +++ b/app/views/attachments/_project_file_links.html.erb @@ -1,23 +1,49 @@ +
    <% is_float ||= false %> <% for attachment in attachments %> From 119e540373f154b7c9adad3498d005ff5ba2293d Mon Sep 17 00:00:00 2001 From: huang Date: Thu, 30 Apr 2015 11:08:36 +0800 Subject: [PATCH 12/13] =?UTF-8?q?=E9=82=AE=E4=BB=B6=E9=82=80=E8=AF=B7?= =?UTF-8?q?=E7=B3=BB=E7=BB=9F=E5=B7=B2=E6=B3=A8=E5=86=8C=E7=9A=84=E7=94=A8?= =?UTF-8?q?=E6=88=B7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/controllers/projects_controller.rb | 11 ++++++++++ app/models/mailer.rb | 12 ++++++++++ .../mailer/request_member_to_project.html.erb | 22 +++++++++++++++++++ .../mailer/request_member_to_project.text.erb | 3 +++ config/locales/projects/zh.yml | 4 +++- 5 files changed, 51 insertions(+), 1 deletion(-) create mode 100644 app/views/mailer/request_member_to_project.html.erb create mode 100644 app/views/mailer/request_member_to_project.text.erb diff --git a/app/controllers/projects_controller.rb b/app/controllers/projects_controller.rb index 76e136216..2b58f1265 100644 --- a/app/controllers/projects_controller.rb +++ b/app/controllers/projects_controller.rb @@ -344,12 +344,22 @@ class ProjectsController < ApplicationController end + # 两种情况:1、系统外用户;2、系统内用户 (通过邮件判定) def send_mail_to_member if !params[:mail].blank? && User.find_by_mail(params[:mail].to_s).nil? email = params[:mail] Mailer.run.send_invite_in_project(email, @project, User.current) @is_zhuce =false flash[:notice] = l(:notice_email_sent, :value => email) + elsif !User.find_by_mail(params[:mail].to_s).nil? + user = User.find_by_mail(params[:mail].to_s) + if !user.member_of?(@project) + email = params[:mail] + Mailer.run.request_member_to_project(email, @project, User.current) + flash[:notice] = l(:notice_email_sent, :value => email) + else + flash[:error] = l(:label_member_of_project, :value => email) + end else flash[:error] = l(:notice_registed_error, :value => email) @is_zhuce = true @@ -358,6 +368,7 @@ class ProjectsController < ApplicationController format.html{redirect_to invite_members_by_mail_project_url(@project)} end end + #发送邮件邀请新用户 def invite_members_by_mail if User.current.member_of?(@project) || User.current.admin? diff --git a/app/models/mailer.rb b/app/models/mailer.rb index e67d042e1..d35374fcf 100644 --- a/app/models/mailer.rb +++ b/app/models/mailer.rb @@ -69,6 +69,18 @@ class Mailer < ActionMailer::Base mail :to => email, :subject => @subject end + # 邀请已注册的用户加入项目 + def request_member_to_project(email, project, invitor) + user = User.find_by_mail(email.to_s) + Member.create(:role_ids => [4], :user_id => user.id,:project_id => project.id) + @invitor_name = "#{invitor.name}" + @project_name = "#{project.name}" + @user = user + @token = Token.get_token_from_user(user, 'autologin') + @project_url = url_for(:controller => 'projects', :action => 'show', :id => project.id,:user => user, :token => @token.value) + mail :to => email, :invitor_name => "#{@invitor_name}", :project_name => "#{@project_name}" + end + # author: alan # 根据用户选择发送个人日报或周报 # 发送内容: 项目【缺陷,讨论区,新闻】,课程【通知,留言,新闻】, 贴吧, 个人留言 diff --git a/app/views/mailer/request_member_to_project.html.erb b/app/views/mailer/request_member_to_project.html.erb new file mode 100644 index 000000000..7c0d25dbb --- /dev/null +++ b/app/views/mailer/request_member_to_project.html.erb @@ -0,0 +1,22 @@ + +
    +
      + +
    • <%= l(:mail_issue_content)%> + +

      <%= @invitor_name %> 邀请您加入项目:<%= @project_name %>

      +
      +

      点击“同意加入”按钮,即可快速加入项目!


      + +
      +
      +
    • + +
    + +
    +
    + + diff --git a/app/views/mailer/request_member_to_project.text.erb b/app/views/mailer/request_member_to_project.text.erb new file mode 100644 index 000000000..ef2f5d130 --- /dev/null +++ b/app/views/mailer/request_member_to_project.text.erb @@ -0,0 +1,3 @@ +<%= @invitor_name %> +<%= @project_name %> +<%= link_to( l(:label_apply_project), @project_url) %> \ No newline at end of file diff --git a/config/locales/projects/zh.yml b/config/locales/projects/zh.yml index 3b125181e..e371296a5 100644 --- a/config/locales/projects/zh.yml +++ b/config/locales/projects/zh.yml @@ -48,11 +48,13 @@ zh: # 左边栏 # label_project_id: "项目ID:" - + + label_agree_join_project: 同意加入 label_apply_project: "+申请加入" label_button_following: "+添加关注" label_exit_project: 退出项目 label_apply_project_waiting: 已处理申请,请等待管理员审核 + label_member_of_project: 该用户已经是项目成员了! label_unapply_project: 取消申请 lable_sure_exit_project: 是否确认退出该项目 label_friend_organization: 圈子模式 From 78c410b1ecd4bb1a2a3518d51186c11c2278e458 Mon Sep 17 00:00:00 2001 From: huang Date: Thu, 30 Apr 2015 11:10:41 +0800 Subject: [PATCH 13/13] =?UTF-8?q?=E8=A7=A3=E5=86=B3=E7=BC=BA=E9=99=B7?= =?UTF-8?q?=E4=B8=AD=E5=A4=9A=E4=BD=99=E7=9A=84=E5=AF=B9=E5=8B=BE=E5=9B=BE?= =?UTF-8?q?=E6=A0=87?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- public/stylesheets/project.css | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/public/stylesheets/project.css b/public/stylesheets/project.css index 4f9c6ec78..4b26d74aa 100644 --- a/public/stylesheets/project.css +++ b/public/stylesheets/project.css @@ -338,7 +338,7 @@ a:hover.st_add{ color:#ff8e15;} .newpro_box input{ height:26px; float:left; margin-bottom:10px;} .newpro_box textarea{ height:150px; float:left; margin-bottom:10px;} .newpro_box select{ height:29px; float:left; margin-bottom:10px;} -.label{ width:80px; text-align:right; font-size:14 background-image: url(../images/true.png); } +/*.label{ width:80px; text-align:right; font-size:14 background-image: url(../images/true.png); }*/ .icon-reload { background-image: url(../images/reload.png); } .icon { background-position: 0% 50%;