diff --git a/groupmanagement/admin.py b/groupmanagement/admin.py index c89f1c75..27e1ae99 100644 --- a/groupmanagement/admin.py +++ b/groupmanagement/admin.py @@ -3,8 +3,10 @@ from django.contrib import admin from models import GroupDescription from models import GroupRequest from models import HiddenGroup +from models import OpenGroup admin.site.register(GroupDescription) admin.site.register(GroupRequest) admin.site.register(HiddenGroup) +admin.site.register(OpenGroup) diff --git a/groupmanagement/models.py b/groupmanagement/models.py index d6ca4ffe..93776a48 100644 --- a/groupmanagement/models.py +++ b/groupmanagement/models.py @@ -28,3 +28,9 @@ class HiddenGroup(models.Model): def __str__(self): return self.group.name + " - Hidden" + +class OpenGroup(models.Model): + group = models.OneToOneField(Group) + + def __str__(self): + return self.group.name + " - Open" diff --git a/groupmanagement/views.py b/groupmanagement/views.py index c916a935..6aec1e54 100755 --- a/groupmanagement/views.py +++ b/groupmanagement/views.py @@ -9,6 +9,7 @@ from django.contrib.auth.models import Group from models import GroupDescription from models import GroupRequest from models import HiddenGroup +from models import OpenGroup from authentication.managers import AuthServicesInfoManager from eveonline.managers import EveManager @@ -145,10 +146,15 @@ def groups_view(request): @login_required def group_request_add(request, group_id): logger.debug("group_request_add called by user %s for group id %s" % (request.user, group_id)) + group = Group.objects.get(id=group_id) + if OpenGroup.objects.filter(group=group).exists(): + logger.info("%s joining %s as is an open group" % (request.user, group)) + request.user.groups.add(group) + return HttpResponseRedirect("/groups") auth_info = AuthServicesInfoManager.get_auth_service_info(request.user) grouprequest = GroupRequest() grouprequest.status = 'pending' - grouprequest.group = Group.objects.get(id=group_id) + grouprequest.group = group grouprequest.user = request.user grouprequest.main_char = EveManager.get_character_by_id(auth_info.main_char_id) grouprequest.leave_request = False @@ -161,10 +167,15 @@ def group_request_add(request, group_id): @login_required def group_request_leave(request, group_id): logger.debug("group_request_leave called by user %s for group id %s" % (request.user, group_id)) + group = Group.objects.get(id=group_id) + if OpenGroup.objects.filter(group=group).exists(): + logger.info("%s leaving %s as is an open group" % (request.user, group)) + request.user.groups.remove(group) + return HttpResponseRedirect("/groups") auth_info = AuthServicesInfoManager.get_auth_service_info(request.user) grouprequest = GroupRequest() grouprequest.status = 'pending' - grouprequest.group = Group.objects.get(id=group_id) + grouprequest.group = group grouprequest.user = request.user grouprequest.main_char = EveManager.get_character_by_id(auth_info.main_char_id) grouprequest.leave_request = True diff --git a/stock/templates/public/base.html b/stock/templates/public/base.html index 279743d0..13374967 100755 --- a/stock/templates/public/base.html +++ b/stock/templates/public/base.html @@ -106,7 +106,7 @@ {% endif %} - {% if not perms.auth.member and not perms.auth.blue_member or perms.auth.human_resources %} + {% if not perms.auth.member or perms.auth.human_resources %}
Details | +Objective | +System | +Structure | +Eve Time | +Local Time | +Creator | + {% if perms.auth.timer_management %} +Action | + {% endif %} +
---|---|---|---|---|---|---|---|
{{ timer.details }} | +
+ {% ifequal timer.objective "Hostile" %}
+
+ Hostile
+
+ {% endifequal %}
+ {% ifequal timer.objective "Friendly" %}
+
+ Friendly
+
+ {% endifequal %}
+ {% ifequal timer.objective "Neutral" %}
+
+ Neutral
+
+ {% endifequal %}
+ |
+ {{ timer.system }} {{ timer.planet_moon }} + | +
+ {% ifequal timer.structure "I-HUB" %}
+
+ I-HUB
+
+ {% endifequal %}
+ {% ifequal timer.structure "POCO" %}
+
+ POCO
+
+ {% endifequal %}
+ {% ifequal timer.structure "POS[S]" %}
+
+ POS [S]
+
+ {% endifequal %}
+ {% ifequal timer.structure "POS[M]" %}
+
+ POS [M]
+
+ {% endifequal %}
+ {% ifequal timer.structure "POS[L]" %}
+
+ POS [L]
+
+ {% endifequal %}
+ {% ifequal timer.structure "Station" %}
+
+ Station
+
+ {% endifequal %}
+ {% ifequal timer.structure "TCU" %}
+
+ TCU
+
+ {% endifequal %}
+ {% ifequal timer.structure "Other" %}
+
+ Other
+
+ {% endifequal %}
+ |
+ {{ timer.eve_time | date:"Y-m-d H:i" }} | ++ | {{ timer.eve_character.character_name }} | + {% if perms.auth.timer_management %} ++ + + + | + {% endif %} +