mirror of
https://github.com/haiwen/seahub.git
synced 2025-09-24 21:07:17 +00:00
Rewrite contacts and wiki, do not import models in package level
This commit is contained in:
@@ -1,5 +0,0 @@
|
||||
# Copyright (c) 2012-2016 Seafile Ltd.
|
||||
from signals import *
|
||||
from handlers import *
|
||||
|
||||
mail_sended.connect(mail_sended_cb, sender=None)
|
||||
|
@@ -1,19 +0,0 @@
|
||||
# Copyright (c) 2012-2016 Seafile Ltd.
|
||||
from signals import mail_sended
|
||||
|
||||
from models import Contact
|
||||
def mail_sended_cb(sender, **kwargs):
|
||||
"""
|
||||
Callback function to add email to contacts.
|
||||
"""
|
||||
|
||||
user = kwargs['user']
|
||||
email = kwargs['email']
|
||||
|
||||
try:
|
||||
Contact.objects.get(user_email=user, contact_email=email)
|
||||
# Already in contacts list, pass.
|
||||
except Contact.DoesNotExist:
|
||||
# Add new contact
|
||||
c = Contact(user_email=user, contact_email=email)
|
||||
c.save()
|
@@ -91,3 +91,23 @@ class ContactEditForm(ModelForm):
|
||||
def clean(self):
|
||||
# This is used to override unique index check
|
||||
return self.cleaned_data
|
||||
|
||||
########## handle signals
|
||||
from django.dispatch import receiver
|
||||
from .signals import mail_sended
|
||||
|
||||
@receiver(mail_sended)
|
||||
def mail_sended_cb(sender, **kwargs):
|
||||
"""
|
||||
Callback function to add email to contacts.
|
||||
"""
|
||||
user = kwargs['user']
|
||||
email = kwargs['email']
|
||||
|
||||
try:
|
||||
Contact.objects.get(user_email=user, contact_email=email)
|
||||
# Already in contacts list, pass.
|
||||
except Contact.DoesNotExist:
|
||||
# Add new contact
|
||||
c = Contact(user_email=user, contact_email=email)
|
||||
c.save()
|
||||
|
@@ -28,10 +28,10 @@ from seahub.auth import REDIRECT_FIELD_NAME
|
||||
from seahub.base.decorators import sys_staff_required, require_POST
|
||||
from seahub.group.utils import validate_group_name, BadGroupNameError, \
|
||||
ConflictGroupNameError
|
||||
from seahub.wiki import get_group_wiki_repo, get_group_wiki_page, \
|
||||
get_wiki_pages
|
||||
from seahub.wiki.models import WikiDoesNotExist, WikiPageMissing, GroupWiki
|
||||
from seahub.wiki.utils import clean_page_name, page_name_to_file_name
|
||||
from seahub.wiki.utils import (clean_page_name, page_name_to_file_name,
|
||||
get_wiki_pages, get_group_wiki_repo,
|
||||
get_group_wiki_page)
|
||||
from seahub.settings import SITE_ROOT, SITE_NAME
|
||||
from seahub.utils import render_error, send_html_email, is_org_context
|
||||
from seahub.views import is_registered_user, check_folder_permission
|
||||
|
@@ -63,7 +63,7 @@ class PersonalWikiTest(TestCase):
|
||||
res = personal_wiki(request)
|
||||
self.assertEqual('/home/wiki/home/', res['Location'])
|
||||
|
||||
@patch('seahub.views.wiki.get_personal_wiki_page')
|
||||
@patch('seahub.views.wiki.utils.get_personal_wiki_page')
|
||||
@patch('seahub.base.models.FileContributors.objects.get_file_contributors')
|
||||
def test_wiki_found(self, mock_get_file_contributors,
|
||||
mock_get_personal_wiki_page):
|
||||
|
@@ -32,10 +32,10 @@ from pysearpc import SearpcError
|
||||
from seahub.auth.decorators import login_required
|
||||
from seahub.base.decorators import user_mods_check
|
||||
from seahub.wiki.models import PersonalWiki, WikiDoesNotExist, WikiPageMissing
|
||||
from seahub.wiki import get_personal_wiki_page, get_personal_wiki_repo, \
|
||||
convert_wiki_link, get_wiki_pages
|
||||
from seahub.wiki.utils import (get_personal_wiki_page,
|
||||
get_personal_wiki_repo, get_wiki_pages,
|
||||
clean_page_name, page_name_to_file_name)
|
||||
from seahub.wiki.forms import WikiCreateForm, WikiNewPageForm
|
||||
from seahub.wiki.utils import clean_page_name, page_name_to_file_name
|
||||
from seahub.utils import render_error
|
||||
from seahub.views import check_folder_permission
|
||||
|
||||
|
@@ -1,7 +0,0 @@
|
||||
# Copyright (c) 2012-2016 Seafile Ltd.
|
||||
# -*- coding: utf-8 -*-
|
||||
|
||||
from utils import get_personal_wiki_page, get_personal_wiki_repo, \
|
||||
convert_wiki_link, get_wiki_pages
|
||||
from utils import (get_group_wiki_repo, get_group_wiki_page,
|
||||
page_name_to_file_name)
|
||||
|
Reference in New Issue
Block a user