forked from GithubBackups/healthchecks
When user has no projects, don't auto-create a project.
This commit is contained in:
parent
ac2a120ee8
commit
8dd91b247b
@ -10,9 +10,6 @@ class TeamAccessMiddleware(object):
|
|||||||
return self.get_response(request)
|
return self.get_response(request)
|
||||||
|
|
||||||
profile = Profile.objects.for_user(request.user)
|
profile = Profile.objects.for_user(request.user)
|
||||||
if profile.current_project is None:
|
|
||||||
profile.current_project = profile.get_own_project()
|
|
||||||
profile.save()
|
|
||||||
|
|
||||||
request.profile = profile
|
request.profile = profile
|
||||||
request.project = profile.current_project
|
request.project = profile.current_project
|
||||||
|
@ -193,13 +193,6 @@ class Profile(models.Model):
|
|||||||
self.save()
|
self.save()
|
||||||
return True
|
return True
|
||||||
|
|
||||||
def get_own_project(self):
|
|
||||||
project = self.user.project_set.first()
|
|
||||||
if project is None:
|
|
||||||
project = Project.objects.create(owner=self.user)
|
|
||||||
|
|
||||||
return project
|
|
||||||
|
|
||||||
|
|
||||||
class Project(models.Model):
|
class Project(models.Model):
|
||||||
code = models.UUIDField(default=uuid.uuid4, unique=True)
|
code = models.UUIDField(default=uuid.uuid4, unique=True)
|
||||||
|
@ -204,6 +204,9 @@ def profile(request):
|
|||||||
profile.current_project = None
|
profile.current_project = None
|
||||||
profile.save()
|
profile.save()
|
||||||
|
|
||||||
|
if request.project == project:
|
||||||
|
request.project = None
|
||||||
|
|
||||||
Member.objects.filter(project=project, user=request.user).delete()
|
Member.objects.filter(project=project, user=request.user).delete()
|
||||||
|
|
||||||
ctx["left_project"] = project
|
ctx["left_project"] = project
|
||||||
|
@ -83,7 +83,7 @@ def _get_project_for_user(request, project_code):
|
|||||||
""" Return true if current user has access to the specified account. """
|
""" Return true if current user has access to the specified account. """
|
||||||
|
|
||||||
if request.user.is_superuser:
|
if request.user.is_superuser:
|
||||||
q = Project.objects.all
|
q = Project.objects.all()
|
||||||
else:
|
else:
|
||||||
q = request.profile.projects()
|
q = request.profile.projects()
|
||||||
|
|
||||||
@ -434,7 +434,7 @@ def _get_events(check, limit):
|
|||||||
def log(request, code):
|
def log(request, code):
|
||||||
check = _get_check_for_user(request, code)
|
check = _get_check_for_user(request, code)
|
||||||
|
|
||||||
limit = request.project.owner_profile.ping_log_limit
|
limit = check.project.owner_profile.ping_log_limit
|
||||||
ctx = {
|
ctx = {
|
||||||
"check": check,
|
"check": check,
|
||||||
"events": _get_events(check, limit),
|
"events": _get_events(check, limit),
|
||||||
@ -486,6 +486,7 @@ def status_single(request, code):
|
|||||||
|
|
||||||
|
|
||||||
@login_required
|
@login_required
|
||||||
|
# @project_required
|
||||||
def channels(request):
|
def channels(request):
|
||||||
if request.method == "POST":
|
if request.method == "POST":
|
||||||
code = request.POST["channel"]
|
code = request.POST["channel"]
|
||||||
|
@ -43,4 +43,10 @@ class BaseTestCase(TestCase):
|
|||||||
self.charlie.set_password("password")
|
self.charlie.set_password("password")
|
||||||
self.charlie.save()
|
self.charlie.save()
|
||||||
|
|
||||||
Profile.objects.create(user=self.charlie)
|
self.charlies_project = Project(owner=self.charlie)
|
||||||
|
self.charlies_project.badge_key = self.charlie.username
|
||||||
|
self.charlies_project.save()
|
||||||
|
|
||||||
|
self.charlies_profile = Profile(user=self.charlie)
|
||||||
|
self.charlies_profile.current_project = self.charlies_project
|
||||||
|
self.charlies_profile.save()
|
||||||
|
@ -118,8 +118,10 @@
|
|||||||
<a id="nav-email" href="#" class="dropdown-toggle" data-toggle="dropdown" role="button">
|
<a id="nav-email" href="#" class="dropdown-toggle" data-toggle="dropdown" role="button">
|
||||||
{% if check %}
|
{% if check %}
|
||||||
{{ check.project }}
|
{{ check.project }}
|
||||||
{% else %}
|
{% elif request.project %}
|
||||||
{{ request.project }}
|
{{ request.project }}
|
||||||
|
{% else %}
|
||||||
|
{{ request.user.email }}
|
||||||
{% endif %}
|
{% endif %}
|
||||||
<span class="caret"></span>
|
<span class="caret"></span>
|
||||||
</a>
|
</a>
|
||||||
|
Loading…
x
Reference in New Issue
Block a user