1
0
mirror of https://github.com/haiwen/seahub.git synced 2025-09-09 10:50:24 +00:00

Fixed bug when cloud_mode is false

This commit is contained in:
xiez
2012-09-01 13:35:27 +08:00
parent 4bb8375191
commit d7a570dc91
7 changed files with 35 additions and 56 deletions

View File

@@ -18,6 +18,12 @@ def ctx_switch_required(func):
same template when both in org context and personal context. same template when both in org context and personal context.
""" """
def _decorated(request, *args, **kwargs): def _decorated(request, *args, **kwargs):
if not request.cloud_mode:
# no need to switch context when `CLOUD_MODE` is false
request.user.org = None
request.base_template = 'myhome_base.html'
return func(request, *args, **kwargs)
repo_id = kwargs.get('repo_id', '') repo_id = kwargs.get('repo_id', '')
group_id = kwargs.get('group_id', '') group_id = kwargs.get('group_id', '')
if repo_id and group_id: if repo_id and group_id:

View File

@@ -1,21 +1,31 @@
from django.core.cache import cache from django.core.cache import cache
from seaserv import get_binding_peerids from seaserv import get_binding_peerids, get_orgs_by_user
from seahub.notifications.models import Notification from seahub.notifications.models import Notification
from seahub.notifications.utils import refresh_cache from seahub.notifications.utils import refresh_cache
try:
from seahub.settings import CLOUD_MODE
except ImportError:
CLOUD_MODE = False
class UseridMiddleware(object): class BaseMiddleware(object):
"""Store ccnet user ids in request.user.userid_list""" """
Middleware that add organization info to request when user in organization
context.
"""
def process_request(self, request): def process_request(self, request):
if not request.user.is_authenticated(): if CLOUD_MODE:
return None request.cloud_mode = True
try: # Get all orgs user created.
request.user.userid_list = get_binding_peerids(request.user.username) orgs = get_orgs_by_user(request.user.username)
except: request.user.orgs = orgs
request.user.userid_list = [] else:
request.cloud_mode = False
request.user.org = None
request.user.orgs = None
return None return None

View File

@@ -1,37 +0,0 @@
from django.core.cache import cache
from django.http import HttpResponseRedirect
from seaserv import get_org_by_url_prefix, get_orgs_by_user
try:
from seahub.settings import CLOUD_MODE
except ImportError:
CLOUD_MODE = False
# from seahub.utils import get_cur_ctx
class OrganizationMiddleware(object):
"""
Middleware that add organization info to request when user in organization
context.
"""
def process_request(self, request):
if CLOUD_MODE:
request.cloud_mode = True
# Get current org context
# ctx_dict = get_cur_ctx(request)
# request.user.org = ctx_dict.get('org_dict', None)
# Get all orgs user created.
orgs = get_orgs_by_user(request.user.username)
request.user.orgs = orgs
else:
request.cloud_mode = False
request.user.org = None
request.user.orgs = None
return None
def process_response(self, request, response):
return response

View File

@@ -44,7 +44,7 @@
{% endif %} {% endif %}
<td> <td>
<img src="{{ MEDIA_URL }}img/sync-20.png" data="{{ repo.props.id }}" class="download-btn vh" title="同步到本地" alt="同步" /> <img src="{{ MEDIA_URL }}img/sync-20.png" data="{{ repo.props.id }}" class="download-btn vh" title="同步到本地" alt="同步" />
<!-- <img src="{{ MEDIA_URL }}img/share-20.png" data="{{ repo.props.id }}" class="repo-share-btn vh" title="共享" alt="共享" /> --> <img src="{{ MEDIA_URL }}img/share-20.png" data="{{ repo.props.id }}" class="repo-share-btn vh" title="共享" alt="共享" />
<img src="{{ MEDIA_URL }}img/delete-20.png" data="{{ SITE_ROOT }}repo/remove/{{ repo.props.id }}/?next={{ request.path }}" class="repo-delete-btn vh" title="删除" alt="删除" /> <img src="{{ MEDIA_URL }}img/delete-20.png" data="{{ SITE_ROOT }}repo/remove/{{ repo.props.id }}/?next={{ request.path }}" class="repo-delete-btn vh" title="删除" alt="删除" />
</td> </td>
</tr> </tr>
@@ -52,6 +52,7 @@
{% endif %} {% endif %}
</table> </table>
{% include "snippets/repo_share_form.html" %}
{% include "snippets/repo_create_form.html" %} {% include "snippets/repo_create_form.html" %}
{% endblock %} {% endblock %}

View File

@@ -28,8 +28,7 @@ from seahub.contacts import Contact
from seahub.forms import RepoCreateForm from seahub.forms import RepoCreateForm
import seahub.settings as seahub_settings import seahub.settings as seahub_settings
from seahub.utils import render_error, render_permission_error, gen_token, \ from seahub.utils import render_error, render_permission_error, gen_token, \
validate_group_name, string2list, calculate_repo_last_modify,\ validate_group_name, string2list, calculate_repo_last_modify, MAX_INT
MAX_INT
from seahub.views import myhome from seahub.views import myhome
@login_required @login_required

View File

@@ -67,9 +67,9 @@ MIDDLEWARE_CLASSES = (
'django.contrib.sessions.middleware.SessionMiddleware', 'django.contrib.sessions.middleware.SessionMiddleware',
'django.contrib.messages.middleware.MessageMiddleware', 'django.contrib.messages.middleware.MessageMiddleware',
'auth.middleware.AuthenticationMiddleware', 'auth.middleware.AuthenticationMiddleware',
'seahub.base.middleware.InfobarMiddleware', 'base.middleware.BaseMiddleware',
'base.middleware.InfobarMiddleware',
'seahub.subdomain.middleware.SubdomainMiddleware', 'seahub.subdomain.middleware.SubdomainMiddleware',
'seahub.organizations.middleware.OrganizationMiddleware',
) )
SITE_ROOT_URLCONF = 'seahub.urls' SITE_ROOT_URLCONF = 'seahub.urls'

View File

@@ -1,4 +1,4 @@
{% extends base_template %} {% extends "myhome_base.html" %}
{% load seahub_tags avatar_tags %} {% load seahub_tags avatar_tags %}
{% load url from future %} {% load url from future %}