teams model tweaks and initial dashboard
This commit is contained in:
		
							parent
							
								
									2d9f065232
								
							
						
					
					
						commit
						283ac696ef
					
				
					 2 changed files with 38 additions and 13 deletions
				
			
		|  | @ -8,9 +8,9 @@ from django.contrib.auth.models import Permission, User | |||
| 
 | ||||
| 
 | ||||
| TEAM_ACCESS_CHOICES = [ | ||||
|     (1, "open"), | ||||
|     (2, "by application"), | ||||
|     (3, "by invitation") | ||||
|     ("open", "open"), | ||||
|     ("application", "by application"), | ||||
|     ("invitation", "by invitation") | ||||
| ] | ||||
| 
 | ||||
| 
 | ||||
|  | @ -19,7 +19,7 @@ class Team(models.Model): | |||
|     slug = models.SlugField(unique=True) | ||||
|     name = models.CharField(max_length=100) | ||||
|     description = models.TextField(blank=True) | ||||
|     access = models.IntegerField(choices=TEAM_ACCESS_CHOICES) | ||||
|     access = models.CharField(max_length=20, choices=TEAM_ACCESS_CHOICES) | ||||
|     permissions = models.ManyToManyField(Permission, blank=True) | ||||
|     created = models.DateTimeField(default=datetime.datetime.now, editable=False) | ||||
|      | ||||
|  | @ -28,20 +28,20 @@ class Team(models.Model): | |||
| 
 | ||||
| 
 | ||||
| MEMBERSHIP_STATE_CHOICES = [ | ||||
|     (1, "applied"), | ||||
|     (2, "invited"), | ||||
|     (3, "declined"), | ||||
|     (4, "rejected"), | ||||
|     (5, "member"), | ||||
|     (6, "manager"), | ||||
|     ("applied", "applied"), | ||||
|     ("invited", "invited"), | ||||
|     ("declined", "declined"), | ||||
|     ("rejected", "rejected"), | ||||
|     ("member", "member"), | ||||
|     ("manager", "manager"), | ||||
| ] | ||||
| 
 | ||||
| 
 | ||||
| class Membership(models.Model): | ||||
| 
 | ||||
|     user = models.ForeignKey(User) | ||||
|     team = models.ForeignKey(Team) | ||||
|     state = models.IntegerField(choices=MEMBERSHIP_STATE_CHOICES) | ||||
|     user = models.ForeignKey(User, related_name="memberships") | ||||
|     team = models.ForeignKey(Team, related_name="memberships") | ||||
|     state = models.CharField(max_length=20, choices=MEMBERSHIP_STATE_CHOICES) | ||||
|     message = models.TextField(blank=True) | ||||
| 
 | ||||
| 
 | ||||
|  |  | |||
|  | @ -121,4 +121,29 @@ | |||
|             </p> | ||||
|         </div> | ||||
|     </div> | ||||
| 
 | ||||
|     <div class="dashboard-panel"> | ||||
|         <div class="dashboard-panel-header"> | ||||
|             <i class="icon-group"></i> | ||||
|             <h3>{% trans "Teams" %}</h3> | ||||
|         </div> | ||||
|          | ||||
|         <div class="dashboard-panel-content"> | ||||
|             {% if user.memberships.exists %} | ||||
|                 <h4>Your Teams</h4> | ||||
|                 <ul> | ||||
|                     {% for membership in user.memberships.all %} | ||||
|                         <li> | ||||
|                             {% if membership.state == "manager" %} | ||||
|                                 <a href="#">{{ membership.team.name }}</a> | ||||
|                             {% else %} | ||||
|                                 {{ membership.team.name }} | ||||
|                             {% endif %} | ||||
|                             <span class="badge">{{ membership.get_state_display }}</span> | ||||
|                         </li> | ||||
|                     {% endfor %} | ||||
|                 </ul> | ||||
|             {% endif %} | ||||
|         </div> | ||||
|     </div> | ||||
| {% endblock %} | ||||
|  |  | |||
		Loading…
	
	Add table
		
		Reference in a new issue
	
	 James Tauber
						James Tauber