diff --git a/seahub/options/models.py b/seahub/options/models.py index d77c6e5a24..3ceabd1c4d 100644 --- a/seahub/options/models.py +++ b/seahub/options/models.py @@ -105,18 +105,23 @@ class UserOptionsManager(models.Manager): def is_user_guide_enabled(self, username): """Return ``True`` if user need guide, otherwise ``False``. - + Arguments: - `self`: - `username`: """ - try: - user_option = super(UserOptionsManager, self).get( - email=username, option_key=KEY_USER_GUIDE) - return bool(int(user_option.option_val)) - except UserOptions.DoesNotExist: + rst = super(UserOptionsManager, self).filter( + email=username, option_key=KEY_USER_GUIDE) + rst_len = len(rst) + if rst_len <= 0: # Assume ``user_guide`` is enabled if this optoin is not set. - return True + return True + elif rst_len == 1: + return bool(int(rst[0].option_val)) + else: + for i in range(rst_len - 1): + rst[i].delete() + return bool(int(rst[rst_len - 1].option_val)) def enable_sub_lib(self, username): """ diff --git a/seahub/views/sysadmin.py b/seahub/views/sysadmin.py index 71e34068ac..07811ab017 100644 --- a/seahub/views/sysadmin.py +++ b/seahub/views/sysadmin.py @@ -1908,7 +1908,10 @@ def sys_repo_delete(request, repo_id): return HttpResponseRedirect(next) repo = seafile_api.get_repo(repo_id) - repo_name = repo.name + if repo: # Handle the case that repo is `None`. + repo_name = repo.name + else: + repo_name = '' if MULTI_TENANCY: org_id = seafserv_threaded_rpc.get_org_id_by_repo_id(repo_id)