mirror of
https://github.com/haiwen/seahub.git
synced 2025-09-25 06:33:48 +00:00
Fix recommend in org context
This commit is contained in:
@@ -15,7 +15,7 @@ from auth.decorators import login_required
|
|||||||
from seaserv import ccnet_rpc, ccnet_threaded_rpc, seafserv_threaded_rpc, \
|
from seaserv import ccnet_rpc, ccnet_threaded_rpc, seafserv_threaded_rpc, \
|
||||||
get_repo, get_group_repos, check_group_staff, get_commits, is_group_user, \
|
get_repo, get_group_repos, check_group_staff, get_commits, is_group_user, \
|
||||||
get_personal_groups, get_group, get_group_members, create_org_repo, \
|
get_personal_groups, get_group, get_group_members, create_org_repo, \
|
||||||
get_org_group_repos
|
get_org_group_repos, get_org_groups_by_user
|
||||||
from pysearpc import SearpcError
|
from pysearpc import SearpcError
|
||||||
|
|
||||||
from models import GroupMessage, MessageReply, MessageAttachment
|
from models import GroupMessage, MessageReply, MessageAttachment
|
||||||
@@ -29,7 +29,8 @@ from seahub.profile.models import Profile
|
|||||||
from seahub.settings import SITE_ROOT
|
from seahub.settings import SITE_ROOT
|
||||||
from seahub.shortcuts import get_first_object_or_none
|
from seahub.shortcuts import get_first_object_or_none
|
||||||
from seahub.utils import render_error, render_permission_error, \
|
from seahub.utils import render_error, render_permission_error, \
|
||||||
validate_group_name, string2list, check_and_get_org_by_group
|
validate_group_name, string2list, check_and_get_org_by_group, \
|
||||||
|
check_and_get_org_by_repo
|
||||||
from seahub.views import is_registered_user
|
from seahub.views import is_registered_user
|
||||||
from seahub.forms import RepoCreateForm
|
from seahub.forms import RepoCreateForm
|
||||||
|
|
||||||
@@ -545,7 +546,8 @@ def group_recommend(request):
|
|||||||
attach_type = form.cleaned_data['attach_type']
|
attach_type = form.cleaned_data['attach_type']
|
||||||
path = form.cleaned_data['path']
|
path = form.cleaned_data['path']
|
||||||
message = form.cleaned_data['message']
|
message = form.cleaned_data['message']
|
||||||
|
username = request.user.username
|
||||||
|
|
||||||
group_list = string2list(groups)
|
group_list = string2list(groups)
|
||||||
for e in group_list:
|
for e in group_list:
|
||||||
group_name = e.split(' ')[0]
|
group_name = e.split(' ')[0]
|
||||||
@@ -556,9 +558,16 @@ def group_recommend(request):
|
|||||||
u'推荐到 %s 失败,请检查小组名称。' % \
|
u'推荐到 %s 失败,请检查小组名称。' % \
|
||||||
group_name)
|
group_name)
|
||||||
continue
|
continue
|
||||||
|
|
||||||
|
# Check whether this repo is org repo.
|
||||||
|
org, base_template = check_and_get_org_by_repo(repo_id, username)
|
||||||
|
if org:
|
||||||
|
org_id = org.org_id
|
||||||
|
groups = get_org_groups_by_user(org_id, username)
|
||||||
|
|
||||||
|
else:
|
||||||
|
groups = get_personal_groups(request.user.username)
|
||||||
|
|
||||||
# get all the groups the user joined
|
|
||||||
groups = get_personal_groups(request.user.username)
|
|
||||||
find = False
|
find = False
|
||||||
for group in groups:
|
for group in groups:
|
||||||
# for every group that user joined, if group name and
|
# for every group that user joined, if group name and
|
||||||
|
@@ -489,7 +489,7 @@ def org_group_remove(request, url_prefix, group_id):
|
|||||||
@login_required
|
@login_required
|
||||||
def org_repo_share(request, url_prefix):
|
def org_repo_share(request, url_prefix):
|
||||||
"""
|
"""
|
||||||
Share org repo to members in current org.
|
Share org repo to members or groups in current org.
|
||||||
"""
|
"""
|
||||||
if request.method != 'POST':
|
if request.method != 'POST':
|
||||||
raise Http404
|
raise Http404
|
||||||
|
@@ -50,7 +50,7 @@
|
|||||||
|
|
||||||
{% if org.is_staff %}
|
{% if org.is_staff %}
|
||||||
<a href="{% url 'org_useradmin' org.url_prefix %}"{% block top_bar_org_manager_class %}{% endblock %}>管理员工作台</a>
|
<a href="{% url 'org_useradmin' org.url_prefix %}"{% block top_bar_org_manager_class %}{% endblock %}>管理员工作台</a>
|
||||||
<a href="{% url 'organizations.views.org_info' org.url_prefix %}"{% block top_bar_org_myaccount_class %}{% endblock %}>个人工作台</a>
|
<a href="{% url 'org_personal' org.url_prefix %}"{% block top_bar_org_myaccount_class %}{% endblock %}>个人工作台</a>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
@@ -7,16 +7,6 @@
|
|||||||
{% endblock %}
|
{% endblock %}
|
||||||
|
|
||||||
{% block main_panel %}
|
{% block main_panel %}
|
||||||
{% if messages %}
|
|
||||||
{% autoescape off %}
|
|
||||||
<ul class="messages hide">
|
|
||||||
{% for message in messages %}
|
|
||||||
<li class="info">{{ message }}</li>
|
|
||||||
{% endfor %}
|
|
||||||
</ul>
|
|
||||||
{% endautoescape %}
|
|
||||||
{% endif %}
|
|
||||||
|
|
||||||
<h2>
|
<h2>
|
||||||
{% if not view_history %}
|
{% if not view_history %}
|
||||||
{{ u_filename }}
|
{{ u_filename }}
|
||||||
|
12
views.py
12
views.py
@@ -255,6 +255,7 @@ class RepoView(CtxSwitchRequiredMixin, RepoMixin, TemplateResponseMixin,
|
|||||||
repo_shared_groups = get_org_groups_by_repo(org_id, self.repo_id)
|
repo_shared_groups = get_org_groups_by_repo(org_id, self.repo_id)
|
||||||
else:
|
else:
|
||||||
repo_shared_groups = get_shared_groups_by_repo(self.repo_id)
|
repo_shared_groups = get_shared_groups_by_repo(self.repo_id)
|
||||||
|
|
||||||
# Filter out groups that user is joined.
|
# Filter out groups that user is joined.
|
||||||
groups = [ x for x in repo_shared_groups if \
|
groups = [ x for x in repo_shared_groups if \
|
||||||
is_group_user(x.id, self.user.username)]
|
is_group_user(x.id, self.user.username)]
|
||||||
@@ -939,11 +940,18 @@ def repo_view_file(request, repo_id):
|
|||||||
# my constacts
|
# my constacts
|
||||||
contacts = Contact.objects.filter(user_email=request.user.username)
|
contacts = Contact.objects.filter(user_email=request.user.username)
|
||||||
|
|
||||||
# Get groups this repo is shared.
|
|
||||||
repo_shared_groups = get_shared_groups_by_repo(repo_id)
|
# Get groups this repo is shared.
|
||||||
|
if request.user.org:
|
||||||
|
org_id = request.user.org['org_id']
|
||||||
|
repo_shared_groups = get_org_groups_by_repo(org_id, repo_id)
|
||||||
|
else:
|
||||||
|
repo_shared_groups = get_shared_groups_by_repo(repo_id)
|
||||||
|
|
||||||
# Filter out groups that user in joined.
|
# Filter out groups that user in joined.
|
||||||
groups = [ x for x in repo_shared_groups if \
|
groups = [ x for x in repo_shared_groups if \
|
||||||
is_group_user(x.id, request.user.username)]
|
is_group_user(x.id, request.user.username)]
|
||||||
|
|
||||||
"""file comments"""
|
"""file comments"""
|
||||||
# Make sure page request is an int. If not, deliver first page.
|
# Make sure page request is an int. If not, deliver first page.
|
||||||
try:
|
try:
|
||||||
|
Reference in New Issue
Block a user