adding sharing behavior as a team setting
This commit is contained in:
@@ -104,19 +104,27 @@ class Team(models.Model):
|
|||||||
('private','private'),
|
('private','private'),
|
||||||
('open','open'),
|
('open','open'),
|
||||||
)
|
)
|
||||||
|
|
||||||
|
viewchoices = (
|
||||||
|
('coachonly','Coach Only'),
|
||||||
|
('allmembers','All Members')
|
||||||
|
)
|
||||||
|
|
||||||
name = models.CharField(max_length=150,unique=True,verbose_name='Team Name')
|
name = models.CharField(max_length=150,unique=True,verbose_name='Team Name')
|
||||||
notes = models.CharField(blank=True,max_length=200,verbose_name='Team Purpose')
|
notes = models.CharField(blank=True,max_length=200,verbose_name='Team Purpose')
|
||||||
manager = models.ForeignKey(User)
|
manager = models.ForeignKey(User)
|
||||||
private = models.CharField(max_length=30,choices=choices,default='open',
|
private = models.CharField(max_length=30,choices=choices,default='open',
|
||||||
verbose_name='Team Type')
|
verbose_name='Team Type')
|
||||||
|
|
||||||
|
viewing = models.CharField(max_length=30,choices=viewchoices,default='allmembers',verbose_name='Sharing Behavior')
|
||||||
|
|
||||||
def __unicode__(self):
|
def __unicode__(self):
|
||||||
return self.name
|
return self.name
|
||||||
|
|
||||||
class TeamForm(ModelForm):
|
class TeamForm(ModelForm):
|
||||||
class Meta:
|
class Meta:
|
||||||
model = Team
|
model = Team
|
||||||
fields = ['name','notes','private']
|
fields = ['name','notes','private','viewing']
|
||||||
widgets = {
|
widgets = {
|
||||||
'notes': forms.Textarea,
|
'notes': forms.Textarea,
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -43,7 +43,7 @@ def handle_add_workouts_team(ws,t):
|
|||||||
|
|
||||||
return 1
|
return 1
|
||||||
|
|
||||||
def update_team(t,name,manager,private,notes):
|
def update_team(t,name,manager,private,notes,viewing):
|
||||||
if t.manager != manager:
|
if t.manager != manager:
|
||||||
return (0,'You are not the manager of this team')
|
return (0,'You are not the manager of this team')
|
||||||
try:
|
try:
|
||||||
@@ -51,16 +51,17 @@ def update_team(t,name,manager,private,notes):
|
|||||||
t.manager = manager
|
t.manager = manager
|
||||||
t.private = private
|
t.private = private
|
||||||
t.notes = notes
|
t.notes = notes
|
||||||
|
t.viewing = viewing
|
||||||
t.save()
|
t.save()
|
||||||
except IntegrityError:
|
except IntegrityError:
|
||||||
return (0,'Team name duplication')
|
return (0,'Team name duplication')
|
||||||
return (1,'Team Updated')
|
return (1,'Team Updated')
|
||||||
|
|
||||||
def create_team(name,manager,private='open',notes=''):
|
def create_team(name,manager,private='open',notes='',viewing='allmembers'):
|
||||||
# needs some error testing
|
# needs some error testing
|
||||||
try:
|
try:
|
||||||
t = Team(name=name,manager=manager,notes=notes,
|
t = Team(name=name,manager=manager,notes=notes,
|
||||||
private=private)
|
private=private,viewing=viewing)
|
||||||
t.save()
|
t.save()
|
||||||
r = Rower.objects.get(user=manager)
|
r = Rower.objects.get(user=manager)
|
||||||
res = add_member(t.id,r)
|
res = add_member(t.id,r)
|
||||||
|
|||||||
@@ -4,9 +4,11 @@
|
|||||||
{% block title %}New Team{% endblock %}
|
{% block title %}New Team{% endblock %}
|
||||||
|
|
||||||
{% block content %}
|
{% block content %}
|
||||||
<form enctype="multipart/form-data" action="{{ formloc }}" method="post">
|
<div class="grid_12 alpha">
|
||||||
|
<h1>Create a new Team</h1>
|
||||||
|
</div>
|
||||||
<div id="left" class="grid_6 alpha">
|
<div id="left" class="grid_6 alpha">
|
||||||
<h1>Create a new Team</h1>
|
<form enctype="multipart/form-data" action="{{ formloc }}" method="post">
|
||||||
{% if form.errors %}
|
{% if form.errors %}
|
||||||
<p style="color: red;">
|
<p style="color: red;">
|
||||||
Please correct the error{{ form.errors|pluralize }} below.
|
Please correct the error{{ form.errors|pluralize }} below.
|
||||||
@@ -21,7 +23,14 @@
|
|||||||
<input class="button green" type="submit" value="Submit">
|
<input class="button green" type="submit" value="Submit">
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
<div id="right" class="grid_6 omega">
|
||||||
|
<ul>
|
||||||
|
<li>Team Type: A private team is invisible on the Teams Management page, except for its members. The only way to add members is for the manager to send an invitation. An open team is visible for all rowsandall.com users. In addition to the invitation mechanism, any user can request to be added to this team. The team manager will always have to approve membership.</li>
|
||||||
|
<li>Sharing Behavior: When set to "All Members", all members of a team will see each other's workouts. This is the recommended setting. If te sharing bhavior is set to "Coach Only", team members only see their own workouts. The coach sees all team members' workouts.</li>
|
||||||
|
<li>These settings can be changed at any point in time through the Team Edit page</li>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
</form>
|
</form>
|
||||||
|
|||||||
@@ -4,9 +4,11 @@
|
|||||||
{% block title %}New Team{% endblock %}
|
{% block title %}New Team{% endblock %}
|
||||||
|
|
||||||
{% block content %}
|
{% block content %}
|
||||||
<form enctype="multipart/form-data" action="{{ formloc }}" method="post">
|
<div class="grid_12 alpha">
|
||||||
|
<h1>Edit Team {{ team.name }}</h1>
|
||||||
|
</div>
|
||||||
<div id="left" class="grid_6 alpha">
|
<div id="left" class="grid_6 alpha">
|
||||||
<h1>Edit Team {{ team.name }}</h1>
|
<form enctype="multipart/form-data" action="{{ formloc }}" method="post">
|
||||||
{% if form.errors %}
|
{% if form.errors %}
|
||||||
<p style="color: red;">
|
<p style="color: red;">
|
||||||
Please correct the error{{ form.errors|pluralize }} below.
|
Please correct the error{{ form.errors|pluralize }} below.
|
||||||
@@ -21,6 +23,13 @@
|
|||||||
<input class="button green" type="submit" value="Submit">
|
<input class="button green" type="submit" value="Submit">
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
<div id="right" class="grid_6 omega">
|
||||||
|
<ul>
|
||||||
|
<li>Team Type: A private team is invisible on the Teams Management page, except for its members. The only way to add members is for the manager to send an invitation. An open team is visible for all rowsandall.com users. In addition to the invitation mechanism, any user can request to be added to this team. The team manager will always have to approve membership.</li>
|
||||||
|
<li>Sharing Behavior: When set to "All Members", all members of a team will see each other's workouts. This is the recommended setting. If te sharing bhavior is set to "Coach Only", team members only see their own workouts. The coach sees all team members' workouts.</li>
|
||||||
|
<li>These settings can be changed at any point in time through the Team Edit page</li>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -5432,7 +5432,9 @@ def team_edit_view(request,id=0):
|
|||||||
name = cd['name']
|
name = cd['name']
|
||||||
notes = cd['notes']
|
notes = cd['notes']
|
||||||
manager = request.user
|
manager = request.user
|
||||||
private = cd['private']
|
private = cd['private']
|
||||||
|
viewing = cd['viewing']
|
||||||
|
res,message=teams.update_team(t,name,manager,private,notes,
|
||||||
viewing)
|
viewing)
|
||||||
if res:
|
if res:
|
||||||
url = reverse(team_view,
|
url = reverse(team_view,
|
||||||
@@ -5470,7 +5472,9 @@ def team_create_view(request):
|
|||||||
name = cd['name']
|
name = cd['name']
|
||||||
notes = cd['notes']
|
notes = cd['notes']
|
||||||
manager = request.user
|
manager = request.user
|
||||||
private = cd['private']
|
private = cd['private']
|
||||||
|
viewing = cd['viewing']
|
||||||
|
res,message=teams.create_team(name,manager,private,notes,
|
||||||
viewing)
|
viewing)
|
||||||
url = reverse(rower_teams_view)
|
url = reverse(rower_teams_view)
|
||||||
response = HttpResponseRedirect(url)
|
response = HttpResponseRedirect(url)
|
||||||
|
|||||||
Reference in New Issue
Block a user