1
0
mirror of https://github.com/haiwen/seahub.git synced 2025-05-09 16:38:20 +00:00

Merge branch 11.0

This commit is contained in:
lian 2024-08-13 10:59:48 +08:00
parent 0babffd734
commit 3a55d0d208
72 changed files with 53775 additions and 44381 deletions
locale
ar/LC_MESSAGES
bg/LC_MESSAGES
ca/LC_MESSAGES
cs/LC_MESSAGES
da_DK/LC_MESSAGES
de/LC_MESSAGES
el/LC_MESSAGES
el_GR/LC_MESSAGES
es/LC_MESSAGES
es_AR/LC_MESSAGES
es_MX/LC_MESSAGES
fi/LC_MESSAGES
fr/LC_MESSAGES
he/LC_MESSAGES
hr/LC_MESSAGES
hu/LC_MESSAGES
is/LC_MESSAGES
it/LC_MESSAGES
ja/LC_MESSAGES
ko/LC_MESSAGES
lt/LC_MESSAGES
lv/LC_MESSAGES
lv_LV/LC_MESSAGES
mk/LC_MESSAGES
nb_NO/LC_MESSAGES
nl/LC_MESSAGES
nl_NL/LC_MESSAGES
pl/LC_MESSAGES
pt_BR/LC_MESSAGES
pt_PT/LC_MESSAGES
ru/LC_MESSAGES
sk_SK/LC_MESSAGES
sl_SI/LC_MESSAGES
sv/LC_MESSAGES
th_TH/LC_MESSAGES
tr/LC_MESSAGES
uk/LC_MESSAGES
vi/LC_MESSAGES
zh_CN/LC_MESSAGES
zh_TW/LC_MESSAGES
seahub
api2/endpoints
templates/registration
two_factor/views

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

View File

@ -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)

View File

@ -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>

View File

@ -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