mirror of
https://github.com/haiwen/seahub.git
synced 2025-09-25 14:50:29 +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, \
|
||||
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_org_group_repos
|
||||
get_org_group_repos, get_org_groups_by_user
|
||||
from pysearpc import SearpcError
|
||||
|
||||
from models import GroupMessage, MessageReply, MessageAttachment
|
||||
@@ -29,7 +29,8 @@ from seahub.profile.models import Profile
|
||||
from seahub.settings import SITE_ROOT
|
||||
from seahub.shortcuts import get_first_object_or_none
|
||||
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.forms import RepoCreateForm
|
||||
|
||||
@@ -545,6 +546,7 @@ def group_recommend(request):
|
||||
attach_type = form.cleaned_data['attach_type']
|
||||
path = form.cleaned_data['path']
|
||||
message = form.cleaned_data['message']
|
||||
username = request.user.username
|
||||
|
||||
group_list = string2list(groups)
|
||||
for e in group_list:
|
||||
@@ -557,8 +559,15 @@ def group_recommend(request):
|
||||
group_name)
|
||||
continue
|
||||
|
||||
# get all the groups the user joined
|
||||
# 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)
|
||||
|
||||
find = False
|
||||
for group in groups:
|
||||
# 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
|
||||
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':
|
||||
raise Http404
|
||||
|
@@ -50,7 +50,7 @@
|
||||
|
||||
{% if org.is_staff %}
|
||||
<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 %}
|
||||
</div>
|
||||
|
||||
|
@@ -7,16 +7,6 @@
|
||||
{% endblock %}
|
||||
|
||||
{% 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>
|
||||
{% if not view_history %}
|
||||
{{ u_filename }}
|
||||
|
8
views.py
8
views.py
@@ -255,6 +255,7 @@ class RepoView(CtxSwitchRequiredMixin, RepoMixin, TemplateResponseMixin,
|
||||
repo_shared_groups = get_org_groups_by_repo(org_id, self.repo_id)
|
||||
else:
|
||||
repo_shared_groups = get_shared_groups_by_repo(self.repo_id)
|
||||
|
||||
# Filter out groups that user is joined.
|
||||
groups = [ x for x in repo_shared_groups if \
|
||||
is_group_user(x.id, self.user.username)]
|
||||
@@ -939,11 +940,18 @@ def repo_view_file(request, repo_id):
|
||||
# my constacts
|
||||
contacts = Contact.objects.filter(user_email=request.user.username)
|
||||
|
||||
|
||||
# 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.
|
||||
groups = [ x for x in repo_shared_groups if \
|
||||
is_group_user(x.id, request.user.username)]
|
||||
|
||||
"""file comments"""
|
||||
# Make sure page request is an int. If not, deliver first page.
|
||||
try:
|
||||
|
Reference in New Issue
Block a user