mirror of
https://github.com/haiwen/seahub.git
synced 2025-08-01 23:38:37 +00:00
Merge branch 11.0
This commit is contained in:
parent
0babffd734
commit
3a55d0d208
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@ -13,6 +13,7 @@ from seahub.api2.authentication import TokenAuthentication
|
||||
from seahub.api2.permissions import CanInviteGuest
|
||||
from seahub.api2.throttling import UserRateThrottle
|
||||
from seahub.api2.utils import api_error
|
||||
from seahub.auth.utils import get_virtual_id_by_email
|
||||
from seahub.invitations.models import Invitation
|
||||
from seahub.base.accounts import User
|
||||
from seahub.base.templatetags.seahub_tags import email2nickname
|
||||
@ -56,6 +57,9 @@ class InvitationView(APIView):
|
||||
@invitation_owner_check
|
||||
def delete(self, request, invitation, format=None):
|
||||
# Delete an invitation.
|
||||
if invitation.accept_time:
|
||||
err_msg = 'The invitation has already been accepted, please revoke it first.'
|
||||
return api_error(status.HTTP_400_BAD_REQUEST, err_msg)
|
||||
invitation.delete()
|
||||
|
||||
return Response({
|
||||
@ -88,9 +92,9 @@ class InvitationRevokeView(APIView):
|
||||
|
||||
email = invitation.accepter
|
||||
inviter = invitation.inviter
|
||||
|
||||
vid = get_virtual_id_by_email(email)
|
||||
try:
|
||||
user = User.objects.get(email)
|
||||
user = User.objects.get(vid)
|
||||
except User.DoesNotExist:
|
||||
error_msg = 'User %s not found.' % email
|
||||
return api_error(status.HTTP_404_NOT_FOUND, error_msg)
|
||||
|
@ -1,6 +1,6 @@
|
||||
{% extends 'email_base.html' %}
|
||||
|
||||
{% load i18n %}
|
||||
{% load i18n seahub_tags %}
|
||||
|
||||
{% block email_con %}
|
||||
|
||||
@ -9,7 +9,7 @@
|
||||
<p style="color:#121214;font-size:14px;">{% trans "Hi," %}</p>
|
||||
|
||||
<p style="font-size:14px;color:#434144;">
|
||||
{% blocktrans with account=email %}To reset the password of your account {{ account }} on {{ site_name }}, please click the following link: {% endblocktrans %}
|
||||
{% blocktrans with account=user.username|email2nickname|escape %}To reset the password of your account {{ account }} on {{ site_name }}, please click the following link: {% endblocktrans %}
|
||||
</p>
|
||||
|
||||
<p>
|
||||
|
@ -187,7 +187,7 @@ class TwoFactorVerifyView(SessionWizardView):
|
||||
)
|
||||
final_form_list.append(form_obj)
|
||||
|
||||
kwargs['remember_me'] = form.cleaned_data['remember_me']
|
||||
kwargs['remember_me'] = form.cleaned_data.get('remember_me', False)
|
||||
done_response = self.done(final_form_list, **kwargs)
|
||||
self.storage.reset()
|
||||
return done_response
|
||||
|
Loading…
Reference in New Issue
Block a user