parent
283af137c6
commit
a3443ba968
@ -0,0 +1,3 @@
|
|||||||
|
# Place all the behaviors and hooks related to the matching controller here.
|
||||||
|
# All this logic will automatically be available in application.js.
|
||||||
|
# You can use CoffeeScript in this file: http://jashkenas.github.com/coffee-script/
|
@ -0,0 +1,3 @@
|
|||||||
|
# Place all the behaviors and hooks related to the matching controller here.
|
||||||
|
# All this logic will automatically be available in application.js.
|
||||||
|
# You can use CoffeeScript in this file: http://jashkenas.github.com/coffee-script/
|
@ -0,0 +1,3 @@
|
|||||||
|
# Place all the behaviors and hooks related to the matching controller here.
|
||||||
|
# All this logic will automatically be available in application.js.
|
||||||
|
# You can use CoffeeScript in this file: http://jashkenas.github.com/coffee-script/
|
@ -0,0 +1,3 @@
|
|||||||
|
// Place all the styles related to the org_document_comment controller here.
|
||||||
|
// They will automatically be included in application.css.
|
||||||
|
// You can use Sass (SCSS) here: http://sass-lang.com/
|
@ -0,0 +1,3 @@
|
|||||||
|
// Place all the styles related to the OrgMember controller here.
|
||||||
|
// They will automatically be included in application.css.
|
||||||
|
// You can use Sass (SCSS) here: http://sass-lang.com/
|
@ -0,0 +1,3 @@
|
|||||||
|
// Place all the styles related to the org_projects controller here.
|
||||||
|
// They will automatically be included in application.css.
|
||||||
|
// You can use Sass (SCSS) here: http://sass-lang.com/
|
@ -0,0 +1,54 @@
|
|||||||
|
class OrgDocumentCommentsController < ApplicationController
|
||||||
|
before_filter :find_organization, :only => [:new, :create, :show, :index]
|
||||||
|
|
||||||
|
layout 'base_org'
|
||||||
|
|
||||||
|
def new
|
||||||
|
@org_document_comment = OrgDocumentComment.new
|
||||||
|
end
|
||||||
|
|
||||||
|
def create
|
||||||
|
@org_document_comment = OrgDocumentComment.new(:organization_id => @organization.id, :creator_id => User.current.id)
|
||||||
|
@org_document_comment.title = params[:org_document_comment][:title]
|
||||||
|
@org_document_comment.content = params[:org_document_comment][:content]
|
||||||
|
if @org_document_comment.save
|
||||||
|
#flash[:notice] = 'success'
|
||||||
|
OrgActivity
|
||||||
|
redirect_to organization_org_document_comments_path(@organization)
|
||||||
|
else
|
||||||
|
redirect_to new_org_document_comment_path(:organization_id => @organization.id)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
def show
|
||||||
|
|
||||||
|
end
|
||||||
|
|
||||||
|
def index
|
||||||
|
@documents = @organization.org_document_comments.where("parent_id is null").order("created_at desc")
|
||||||
|
end
|
||||||
|
def update
|
||||||
|
|
||||||
|
end
|
||||||
|
|
||||||
|
def add_reply
|
||||||
|
@document = OrgDocumentComment.find(params[:id]).root
|
||||||
|
@comment = OrgDocumentComment.new(:organization_id => @document.organization_id, :creator_id => User.current.id, :reply_id => params[:id])
|
||||||
|
@comment.content = params[:org_content]
|
||||||
|
@document.children << @comment
|
||||||
|
@document.save
|
||||||
|
end
|
||||||
|
|
||||||
|
def find_organization
|
||||||
|
@organization = Organization.find(params[:organization_id])
|
||||||
|
end
|
||||||
|
|
||||||
|
def destroy
|
||||||
|
@org_document_comment = OrgDocumentComment.find(params[:id])
|
||||||
|
org = @org_document_comment.organization
|
||||||
|
if @org_document_comment.destroy
|
||||||
|
if @org_document_comment.id == org.id
|
||||||
|
org.home_id == nil
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
@ -0,0 +1,53 @@
|
|||||||
|
class OrgMemberController < ApplicationController
|
||||||
|
|
||||||
|
def org_member_autocomplete
|
||||||
|
@org = Organization.find(params[:org])
|
||||||
|
@flag = params[:flag] || false
|
||||||
|
respond_to do |format|
|
||||||
|
format.js
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
def create
|
||||||
|
@org = Organization.find(params[:org])
|
||||||
|
member_ids = params[:membership][:user_ids]
|
||||||
|
role_id = params[:orgRole]
|
||||||
|
member_ids.each do |user_id|
|
||||||
|
member = OrgMember.create(:user_id=>user_id)
|
||||||
|
@org.org_members << member
|
||||||
|
OrgMemberRole.create(:org_member_id => member.id, :role_id => role_id)
|
||||||
|
end
|
||||||
|
respond_to do |format|
|
||||||
|
format.js
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
def update
|
||||||
|
@member = OrgMember.find(params[:id])
|
||||||
|
#@member.change_role params[:org_member][:role_ids]
|
||||||
|
@member_role = @member.org_member_roles[0]
|
||||||
|
@member_role.role_id = params[:org_member][:role_ids][0]
|
||||||
|
@member_role.save
|
||||||
|
@org = @member.organization
|
||||||
|
respond_to do |format|
|
||||||
|
format.js
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
def new
|
||||||
|
|
||||||
|
end
|
||||||
|
|
||||||
|
def destroy
|
||||||
|
member = OrgMember.find(params[:id])
|
||||||
|
@org = member.organization
|
||||||
|
member.destroy
|
||||||
|
respond_to do |format|
|
||||||
|
format.js
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
def index
|
||||||
|
|
||||||
|
end
|
||||||
|
end
|
@ -0,0 +1,18 @@
|
|||||||
|
class OrgProjectsController < ApplicationController
|
||||||
|
def create
|
||||||
|
org_ids = params[:orgNames]
|
||||||
|
@project = Project.find(params[:project_id])
|
||||||
|
org_ids.each do |org_id|
|
||||||
|
OrgProject.create(:organization_id => org_id.to_i, :project_id => params[:project_id].to_i, :created_at => Time.now)
|
||||||
|
p 1
|
||||||
|
end
|
||||||
|
respond_to do |format|
|
||||||
|
format.js
|
||||||
|
end
|
||||||
|
end
|
||||||
|
def destroy
|
||||||
|
@project = Project.find(params[:project_id])
|
||||||
|
@org_project = OrgProject.find(params[:id])
|
||||||
|
@org_project.destroy
|
||||||
|
end
|
||||||
|
end
|
@ -0,0 +1,2 @@
|
|||||||
|
module OrgDocumentCommentHelper
|
||||||
|
end
|
@ -0,0 +1,16 @@
|
|||||||
|
module OrgMemberHelper
|
||||||
|
include ApplicationHelper
|
||||||
|
def find_user_not_in_current_org_by_name org
|
||||||
|
if params[:q] && params[:q].lstrip.rstrip != ""
|
||||||
|
scope = Principal.active.sorted.not_member_of_org(org).like(params[:q])
|
||||||
|
else
|
||||||
|
scope = []
|
||||||
|
end
|
||||||
|
principals = paginateHelper scope,10
|
||||||
|
s = content_tag('ul', project_member_check_box_tags_ex('membership[user_ids][]', principals), :class => 'mb5', :id => 'principals')
|
||||||
|
links = pagination_links_full(@obj_pages, @obj_count, :per_page_links => false, :remote => false, :flag => true){|text, parameters, options|
|
||||||
|
link_to text, org_member_autocomplete_org_member_index_path(parameters.merge(:q => params[:q],:flag => true,:org=> org, :format => 'js')), :remote => true
|
||||||
|
}
|
||||||
|
s + content_tag('ul', links,:class => 'wlist', :id => "org_member_pagination_links" )
|
||||||
|
end
|
||||||
|
end
|
@ -0,0 +1,2 @@
|
|||||||
|
module OrgProjectsHelper
|
||||||
|
end
|
@ -0,0 +1,5 @@
|
|||||||
|
class OrgActivity < ActiveRecord::Base
|
||||||
|
# attr_accessible :title, :body
|
||||||
|
belongs_to :org_act ,:polymorphic => true
|
||||||
|
belongs_to :container,:polymorphic => true
|
||||||
|
end
|
@ -0,0 +1,16 @@
|
|||||||
|
class OrgDocumentComment < ActiveRecord::Base
|
||||||
|
attr_accessible :content, :creator_id, :organization_id, :parent_id, :reply_id, :title,:sticky,:locked
|
||||||
|
include Redmine::SafeAttributes
|
||||||
|
belongs_to :organization
|
||||||
|
belongs_to :creator, :class_name => 'User', :foreign_key => 'creator_id'
|
||||||
|
|
||||||
|
acts_as_tree :order => "#{OrgDocumentComment.table_name}.sticky asc, #{OrgDocumentComment.table_name}.created_at desc"
|
||||||
|
has_many :org_acts, :class_name => 'OrgActivity',:as =>:org_act ,:dependent => :destroy
|
||||||
|
after_create :document_save_as_org_activity
|
||||||
|
|
||||||
|
def document_save_as_org_activity
|
||||||
|
if(self.parent().nil?)
|
||||||
|
self.org_acts << OrgActivity.new(:user_id => User.current.id, :container_id => self.organization.id, :container_type => 'Organization')
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
@ -0,0 +1,5 @@
|
|||||||
|
class OrgProject < ActiveRecord::Base
|
||||||
|
# attr_accessible :title, :body
|
||||||
|
belongs_to :organization
|
||||||
|
belongs_to :project
|
||||||
|
end
|
@ -0,0 +1,40 @@
|
|||||||
|
<%= javascript_include_tag "/assets/kindeditor/kindeditor",'/assets/kindeditor/pasteimg'%>
|
||||||
|
<script>
|
||||||
|
function check_org_title(title)
|
||||||
|
{
|
||||||
|
if($("#document_title").val().trim() == "")
|
||||||
|
{
|
||||||
|
$("#doc_title_hint").html("<span class='c_red'>标题不能为空</span>").show();
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
$("#doc_title_hint").hide();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
<%= form_tag organization_org_document_comments_path(:organization_id => @organization.id), :id => 'new_org_document_form' do |f| %>
|
||||||
|
<div class="resources">
|
||||||
|
<div>
|
||||||
|
<input class="postDetailInput fl mr15" style="margin-bottom:15px;" name="org_document_comment[title]" id="document_title" style="resize:none;" onfocus = "$('#org_document_editor').show();" onblur="check_org_title();" placeholder="请输入文章标题"></input>
|
||||||
|
</div>
|
||||||
|
<div id="doc_title_hint"></div>
|
||||||
|
<div id="org_document_editor" class="mt15" style="display: none">
|
||||||
|
<div class="mt10">
|
||||||
|
<%= kindeditor_tag 'org_document_comment[content]','', :editor_id => 'org_document_description_editor', :height => "150px" %>
|
||||||
|
</div>
|
||||||
|
<div class="cl"></div>
|
||||||
|
|
||||||
|
|
||||||
|
<p id="homework_course_id_span" class="c_red mt5"></p>
|
||||||
|
<div class="cl"></div>
|
||||||
|
|
||||||
|
<div class="mt5">
|
||||||
|
<a href="javascript:void(0);" class="BlueCirBtnMini fr" onclick="org_document_description_editor.sync();$('#new_org_document_form').submit();">确定</a>
|
||||||
|
<span class="fr mr10 mt3">或</span>
|
||||||
|
<a href="javascript:void(0);" onclick="$('#org_document_editor').hide(); $('#doc_title_hint').hide();" class="fr mr10 mt3">取消</a>
|
||||||
|
<div class="cl"></div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<% end %>
|
@ -0,0 +1,3 @@
|
|||||||
|
$("#organization_document_<%= @document.id %>").html("");
|
||||||
|
$("#organization_document_<%= @document.id %>").html("<%= escape_javascript(render :partial => 'organizations/show_org_document', :locals => {:document => @document}) %>");
|
||||||
|
init_activity_KindEditor_data(<%= @document.id %>,"","87%");
|
@ -0,0 +1 @@
|
|||||||
|
location.reload();
|
@ -0,0 +1,26 @@
|
|||||||
|
<%= javascript_include_tag "/assets/kindeditor/kindeditor",'/assets/kindeditor/pasteimg',"init_activity_KindEditor" %>
|
||||||
|
<style type="text/css">
|
||||||
|
/*回复框*/
|
||||||
|
.homepagePostReplyInputContainer .ke-toolbar {display: none; width: 400px; border: none; background: none; padding: 0px 0px;}
|
||||||
|
.homepagePostReplyInputContainer .ke-toolbar-icon {line-height: 26px; font-size: 14px; padding-left: 26px;}
|
||||||
|
.homepagePostReplyInputContainer .ke-toolbar-icon-url {background-image: url(/images/public_icon.png)}
|
||||||
|
.homepagePostReplyInputContainer .ke-outline {padding: 0px 0px; line-height: 26px; font-size: 14px;}
|
||||||
|
.homepagePostReplyInputContainer .ke-icon-emoticons {background-position: 0px -671px; width: 50px; height: 26px;}
|
||||||
|
.homepagePostReplyInputContainer .ke-icon-emoticons:hover {background-position: -79px -671px; width: 50px; height: 26px;}
|
||||||
|
.homepagePostReplyInputContainer .ke-outline {border: none;}
|
||||||
|
.homepagePostReplyInputContainer .ke-inline-block {display: none;}
|
||||||
|
.homepagePostReplyInputContainer .ke-container {float: left;}
|
||||||
|
</style>
|
||||||
|
<%= render :partial => 'new' %>
|
||||||
|
<% unless @documents.nil? %>
|
||||||
|
<% @documents.each do |document| %>
|
||||||
|
<script>
|
||||||
|
$(function() {
|
||||||
|
init_activity_KindEditor_data(<%= document.id%>, null, "87%");
|
||||||
|
});
|
||||||
|
</script>
|
||||||
|
<div id="organization_document_<%= document.id %>">
|
||||||
|
<%= render :partial => 'organizations/show_org_document', :locals => {:document => document} %>
|
||||||
|
</div>
|
||||||
|
<% end %>
|
||||||
|
<% end %>
|
@ -0,0 +1,40 @@
|
|||||||
|
<%= javascript_include_tag "/assets/kindeditor/kindeditor",'/assets/kindeditor/pasteimg'%>
|
||||||
|
<script>
|
||||||
|
function check_org_title(title)
|
||||||
|
{
|
||||||
|
if($("#document_title").val().trim() == "")
|
||||||
|
{
|
||||||
|
$("#doc_title_hint").html("<span class='c_red'>标题不能为空</span>").show();
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
$("#doc_title_hint").hide();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
<%= form_tag organization_org_document_comments_path(:organization_id => @organization.id), :id => 'new_org_document_form' do |f| %>
|
||||||
|
<div class="resources">
|
||||||
|
<div>
|
||||||
|
<textarea class="postDetailInput fl mr15" style="margin-bottom:15px;" name="org_document_comment[title]" id="document_title" style="resize:none;" onfocus = "$('#org_document_editor').show();" onblur="check_org_title();" placeholder="请输入文章标题"></textarea>
|
||||||
|
</div>
|
||||||
|
<div id="doc_title_hint"></div>
|
||||||
|
<div id="org_document_editor" class="mt15" style="display: none">
|
||||||
|
<div class="mt10">
|
||||||
|
<%= kindeditor_tag 'org_document_comment[content]','', :editor_id => 'org_document_description_editor', :height => "150px" %>
|
||||||
|
</div>
|
||||||
|
<div class="cl"></div>
|
||||||
|
|
||||||
|
|
||||||
|
<p id="homework_course_id_span" class="c_red mt5"></p>
|
||||||
|
<div class="cl"></div>
|
||||||
|
|
||||||
|
<div class="mt5">
|
||||||
|
<a href="javascript:void(0);" class="BlueCirBtnMini fr" onclick="org_document_description_editor.sync();$('#new_org_document_form').submit();">确定</a>
|
||||||
|
<span class="fr mr10 mt3">或</span>
|
||||||
|
<a href="javascript:void(0);" onclick="$('#org_document_editor').hide(); $('#doc_title_hint').hide();" class="fr mr10 mt3">取消</a>
|
||||||
|
<div class="cl"></div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<% end %>
|
@ -0,0 +1,4 @@
|
|||||||
|
|
||||||
|
$("#search_orgs_result_list").next().html("");
|
||||||
|
$("#added_orgs").html("");
|
||||||
|
$("#added_orgs").html('<%= escape_javascript(render :partial => "projects/settings/added_orgs", :locals => {:orgs => @project.organizations, :project_id => @project.id}) %>')
|
@ -0,0 +1,2 @@
|
|||||||
|
$("#added_orgs").html("");
|
||||||
|
$("#added_orgs").html('<%= escape_javascript(render :partial => "projects/settings/added_orgs", :locals => {:orgs => @project.organizations, :project_id => @project.id}) %>')
|
@ -1,31 +0,0 @@
|
|||||||
<title>
|
|
||||||
<%= l(:label_all_enterprises) %>
|
|
||||||
</title>
|
|
||||||
<div class="content_syqy">
|
|
||||||
<div class="list">
|
|
||||||
<%= l(:label_all_enterprises) %>
|
|
||||||
</div>
|
|
||||||
<div class="syqy_box">
|
|
||||||
<% if @organizations.empty? %>
|
|
||||||
<h3>
|
|
||||||
<%= l(:label_enterprise_nil) %>
|
|
||||||
</h3>
|
|
||||||
<% else %>
|
|
||||||
<% @organizations.each do |organization| %>
|
|
||||||
<% unless organization.name.blank? %>
|
|
||||||
<ul>
|
|
||||||
<li >
|
|
||||||
<img src="/images/organization_logo.jpg" width="30" height="30" alt="<%= organization.name%>" />
|
|
||||||
<%= link_to organization.name, home_path(:organization => organization.id) %>
|
|
||||||
</li>
|
|
||||||
</ul>
|
|
||||||
<% end %>
|
|
||||||
<% end %>
|
|
||||||
<% end %>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div style="clear: both"></div>
|
|
||||||
<div class="school-index">
|
|
||||||
<ul id="schoollist" style="line-height: 25px"></ul>
|
|
||||||
</div>
|
|
||||||
<% html_title(l(:label_enterprise_all)) -%>
|
|
@ -1,18 +0,0 @@
|
|||||||
<%= form_for(@organizations, :method => :post,
|
|
||||||
:name => 'new_form',
|
|
||||||
:url => {:controller => 'organization',
|
|
||||||
:action => 'create'}) do |f|%>
|
|
||||||
<h3>
|
|
||||||
<%=l(:label_organization_new)%>
|
|
||||||
</h3>
|
|
||||||
<div class="box tabular" >
|
|
||||||
<%= render :partial => 'form', :locals => { :f => f } %>
|
|
||||||
<span style="padding-left: 60px">
|
|
||||||
<%= submit_tag l(:button_create), :class => "enterprise"%>
|
|
||||||
</span>
|
|
||||||
</div>
|
|
||||||
<%#= submit_tag l(:button_create_and_continue), :name => 'continue' %>
|
|
||||||
<%= javascript_tag "$('#project_name').focus();" %>
|
|
||||||
<% end %>
|
|
||||||
|
|
||||||
<% html_title(l(:label_organization_new)) -%>
|
|
@ -0,0 +1,13 @@
|
|||||||
|
<% if @project%>
|
||||||
|
var checked = $("#not_org_members input:checked").size();
|
||||||
|
if(checked > 0)
|
||||||
|
{
|
||||||
|
alert('翻页或搜索后将丢失当前选择的用户数据!');
|
||||||
|
}
|
||||||
|
<% if @flag == "true"%>
|
||||||
|
$('#new_orgs_for_project').html('<%= escape_javascript(search_public_orgs_not_in_project(@project.id)) %>');
|
||||||
|
<% else%>
|
||||||
|
$('#new_orgs_for_project').html('<%= escape_javascript(search_public_orgs_not_in_project(@project.id)) %>');
|
||||||
|
<% end%>
|
||||||
|
|
||||||
|
<%end%>
|
@ -0,0 +1 @@
|
|||||||
|
location.reload();
|
@ -0,0 +1,9 @@
|
|||||||
|
<ul>
|
||||||
|
<li><span class="relatedListName fb fl">名称</span><span class="relatedListOption fb fl">操作</span></li>
|
||||||
|
<% orgs.each do |org| %>
|
||||||
|
<li><a href="javascript:void(0);" class="relatedListName linkBlue fl"><%= org.name %></a>
|
||||||
|
<%= link_to "取消关联", org_project_path(:id => OrgProject.where(:organization_id => org.id, :project_id => project_id).first.id, :project_id => project_id),
|
||||||
|
:method => 'delete',:remote => true, :class => "relatedListOption fl linkGrey3" %>
|
||||||
|
</li>
|
||||||
|
<% end %>
|
||||||
|
</ul>
|
@ -0,0 +1,108 @@
|
|||||||
|
<!--<div class="members_left">-->
|
||||||
|
<!--<input type="text" id="orgs_not_project_member_search" name="orgAddSearch" placeholder="支持姓名、邮箱、昵称搜索" class="orgAddSearch mb20" />-->
|
||||||
|
<!--<%#= javascript_tag "observeSearchfield('orgs_not_project_member_search', null, '#{ escape_javascript autocomplete_search_organizations_path(:project_id=> @project.id, :format => 'js') }')" %>-->
|
||||||
|
<!--<div id="new_orgs_for_project">-->
|
||||||
|
|
||||||
|
<!--</div>-->
|
||||||
|
<!--</div>-->
|
||||||
|
<%= stylesheet_link_tag 'org' %>
|
||||||
|
|
||||||
|
<ul class="mb10">
|
||||||
|
<li class="orgSettingOp orgOpActive" id="orgSetting_1">组织</li>
|
||||||
|
<li class="orgBorder" style="width:625px;"></li>
|
||||||
|
<div class="cl"></div>
|
||||||
|
</ul>
|
||||||
|
<div>
|
||||||
|
<div class="relateOrg fl">
|
||||||
|
<span class="pic_add fl mr5 mt3"></span><span class="f14 fontBlue fl">关联组织</span>
|
||||||
|
<div class="cl mb5"></div>
|
||||||
|
<%= form_tag url_for(:controller => 'org_projects', :action => 'create', :project_id => @project.id), :id => 'join_orgs_for_project', :remote => true %>
|
||||||
|
<input type="text" name="orgs" class="searchOrg mb5 ml20" placeholder="请输入组织名称" />
|
||||||
|
<div id="search_orgs_result_list"></div>
|
||||||
|
<ul class="ml20">
|
||||||
|
</ul>
|
||||||
|
<a href="javascript:void(0);" class="saveBtn db fl ml20 mr15 mb5" onclick="$('#join_orgs_for_project').submit();">关联</a>
|
||||||
|
<a href="javascript:void(0);" class="cancelBtn db fl" onclick="cancel_join_orgs();">取消</a>
|
||||||
|
</div>
|
||||||
|
<div class="relatedList fr">
|
||||||
|
<div class="fr mr15">
|
||||||
|
<span class="f14 fontBlue">已关联组织</span>
|
||||||
|
<div id="added_orgs">
|
||||||
|
<%= render :partial => 'projects/settings/added_orgs', :locals => {:orgs => @project.organizations, :project_id => params[:id]} %>
|
||||||
|
</div>
|
||||||
|
<div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<script type="text/javascript">
|
||||||
|
var lastSearchCondition = '';
|
||||||
|
var page = 1;
|
||||||
|
var count = 0;
|
||||||
|
var maxPage = 0;
|
||||||
|
function search_orgs(e){
|
||||||
|
if($(e.target).val().trim() == lastSearchCondition && lastSearchCondition != '')
|
||||||
|
{
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
lastSearchCondition = $(e.target).val().trim();
|
||||||
|
page = 1;
|
||||||
|
$.ajax({
|
||||||
|
url: '<%= url_for(:controller => 'projects', :action => 'search_public_orgs_not_in_project') %>'+'?name='+ e.target.value+'&page='+page,
|
||||||
|
type:'post',
|
||||||
|
success: function(data){
|
||||||
|
orgs = data.orgs;
|
||||||
|
count = data.count;
|
||||||
|
maxPage = Math.ceil(count/10);
|
||||||
|
$("#search_orgs_result_list").next().html("");
|
||||||
|
if(orgs.length != undefined && orgs.length != 0){
|
||||||
|
var i = 0;
|
||||||
|
for(; i<orgs.length; i++){
|
||||||
|
link = "<li><label><input type='checkbox'class='mr5 fl mt3' name='orgNames[]' value='"+ orgs[i].organization.id + "'/><span class='relateOrgName fl'>" + orgs[i].organization.name + "</span></label></li><div class='cl mt5'></div>";
|
||||||
|
console.log(link)
|
||||||
|
$("#search_orgs_result_list").next().append(link );
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
function throttle(method,context,e){
|
||||||
|
clearTimeout(method.tId);
|
||||||
|
method.tId=setTimeout(function(){
|
||||||
|
method.call(context,e);
|
||||||
|
},500);
|
||||||
|
}
|
||||||
|
|
||||||
|
//查询组织
|
||||||
|
$("input[name='orgs']").on('input', function (e) {
|
||||||
|
throttle(search_orgs,window,e);
|
||||||
|
});
|
||||||
|
|
||||||
|
$(document).ready(function(){
|
||||||
|
$.ajax({
|
||||||
|
url: '<%= url_for(:controller => 'projects', :action => 'search_public_orgs_not_in_project') %>'+'?page=1',
|
||||||
|
type:'post',
|
||||||
|
success: function(data){
|
||||||
|
orgs = data.orgs;
|
||||||
|
count = data.count;
|
||||||
|
maxPage = Math.ceil(count/10);
|
||||||
|
$("#search_orgs_result_list").next().html("");
|
||||||
|
if(orgs.length != undefined && orgs.length != 0){
|
||||||
|
var i = 0;
|
||||||
|
for(; i<orgs.length; i++){
|
||||||
|
link = "<li><label><input type='checkbox'class='mr5 fl mt3' name='orgNames[]' value='"+ orgs[i].organization.id + "'/><span class='relateOrgName fl'>" + orgs[i].organization.name + "</span></label></li><div class='cl mt5'></div>";
|
||||||
|
console.log(link)
|
||||||
|
$("#search_orgs_result_list").next().append(link );
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
});
|
||||||
|
function cancel_join_orgs() {
|
||||||
|
$("#search_orgs_result_list").next().html("");
|
||||||
|
}
|
||||||
|
</script>
|
@ -0,0 +1,13 @@
|
|||||||
|
class CreateOrgDocumentComments < ActiveRecord::Migration
|
||||||
|
def change
|
||||||
|
create_table :org_document_comments do |t|
|
||||||
|
t.string :title
|
||||||
|
t.text :content
|
||||||
|
t.integer :organization_id
|
||||||
|
t.integer :creator_id
|
||||||
|
t.integer :parent_id
|
||||||
|
t.integer :reply_id
|
||||||
|
t.timestamps
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
@ -0,0 +1,6 @@
|
|||||||
|
class AddLockedAndStickyColumnToEntityOrgDocumentComments < ActiveRecord::Migration
|
||||||
|
def change
|
||||||
|
add_column :org_document_comments,:locked,:boolean,:default => false
|
||||||
|
add_column :org_document_comments,:sticky,:integer,:default => 0
|
||||||
|
end
|
||||||
|
end
|
@ -0,0 +1,16 @@
|
|||||||
|
class CreateOrgActivity < ActiveRecord::Migration
|
||||||
|
def up
|
||||||
|
create_table :org_activities do |t|
|
||||||
|
t.integer :user_id
|
||||||
|
t.integer :act_id
|
||||||
|
t.string :act_type
|
||||||
|
t.integer :container_id
|
||||||
|
t.string :container_type
|
||||||
|
|
||||||
|
t.timestamps
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
def down
|
||||||
|
end
|
||||||
|
end
|
@ -0,0 +1,11 @@
|
|||||||
|
class CreateOrgProjects < ActiveRecord::Migration
|
||||||
|
def up
|
||||||
|
create_table :org_projects do |t|
|
||||||
|
t.integer :organization_id
|
||||||
|
t.integer :project_id
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
def down
|
||||||
|
end
|
||||||
|
end
|
@ -0,0 +1,8 @@
|
|||||||
|
class DeleteColumnRoleFromOrgMembers < ActiveRecord::Migration
|
||||||
|
def up
|
||||||
|
remove_column :org_members, :role
|
||||||
|
end
|
||||||
|
|
||||||
|
def down
|
||||||
|
end
|
||||||
|
end
|
@ -0,0 +1,6 @@
|
|||||||
|
class RenameColumnForOrgActivity < ActiveRecord::Migration
|
||||||
|
def change
|
||||||
|
rename_column :org_activities,:act_id,:org_act_id
|
||||||
|
rename_column :org_activities,:act_type,:org_act_type
|
||||||
|
end
|
||||||
|
end
|
@ -0,0 +1,11 @@
|
|||||||
|
class CreateOrgMemberRoles < ActiveRecord::Migration
|
||||||
|
def up
|
||||||
|
create_table :org_member_roles do |t|
|
||||||
|
t.integer :org_member_id
|
||||||
|
t.integer :role_id
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
def down
|
||||||
|
end
|
||||||
|
end
|
@ -0,0 +1,5 @@
|
|||||||
|
class AddTimeToOrgProject < ActiveRecord::Migration
|
||||||
|
def change
|
||||||
|
add_column :org_projects, :created_at, :timestamp
|
||||||
|
end
|
||||||
|
end
|
@ -0,0 +1,5 @@
|
|||||||
|
require 'rails_helper'
|
||||||
|
|
||||||
|
RSpec.describe OrgDocumentCommentController, :type => :controller do
|
||||||
|
|
||||||
|
end
|
@ -0,0 +1,5 @@
|
|||||||
|
require 'rails_helper'
|
||||||
|
|
||||||
|
RSpec.describe OrgMemberController, :type => :controller do
|
||||||
|
|
||||||
|
end
|
@ -0,0 +1,5 @@
|
|||||||
|
require 'rails_helper'
|
||||||
|
|
||||||
|
RSpec.describe OrgProjectsController, :type => :controller do
|
||||||
|
|
||||||
|
end
|
@ -0,0 +1,6 @@
|
|||||||
|
FactoryGirl.define do
|
||||||
|
factory :org_activity do
|
||||||
|
|
||||||
|
end
|
||||||
|
|
||||||
|
end
|
@ -0,0 +1,11 @@
|
|||||||
|
FactoryGirl.define do
|
||||||
|
factory :org_document_comment do
|
||||||
|
title "MyString"
|
||||||
|
content "MyText"
|
||||||
|
organization_id 1
|
||||||
|
creator_id 1
|
||||||
|
parent_id 1
|
||||||
|
reply_id 1
|
||||||
|
end
|
||||||
|
|
||||||
|
end
|
@ -0,0 +1,5 @@
|
|||||||
|
require 'rails_helper'
|
||||||
|
|
||||||
|
RSpec.describe OrgActivity, :type => :model do
|
||||||
|
pending "add some examples to (or delete) #{__FILE__}"
|
||||||
|
end
|
@ -0,0 +1,5 @@
|
|||||||
|
require 'rails_helper'
|
||||||
|
|
||||||
|
RSpec.describe OrgDocumentComment, :type => :model do
|
||||||
|
pending "add some examples to (or delete) #{__FILE__}"
|
||||||
|
end
|
Loading…
Reference in new issue