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 = [ | TEAM_ACCESS_CHOICES = [ | ||||||
|     (1, "open"), |     ("open", "open"), | ||||||
|     (2, "by application"), |     ("application", "by application"), | ||||||
|     (3, "by invitation") |     ("invitation", "by invitation") | ||||||
| ] | ] | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
|  | @ -19,7 +19,7 @@ class Team(models.Model): | ||||||
|     slug = models.SlugField(unique=True) |     slug = models.SlugField(unique=True) | ||||||
|     name = models.CharField(max_length=100) |     name = models.CharField(max_length=100) | ||||||
|     description = models.TextField(blank=True) |     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) |     permissions = models.ManyToManyField(Permission, blank=True) | ||||||
|     created = models.DateTimeField(default=datetime.datetime.now, editable=False) |     created = models.DateTimeField(default=datetime.datetime.now, editable=False) | ||||||
|      |      | ||||||
|  | @ -28,20 +28,20 @@ class Team(models.Model): | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
| MEMBERSHIP_STATE_CHOICES = [ | MEMBERSHIP_STATE_CHOICES = [ | ||||||
|     (1, "applied"), |     ("applied", "applied"), | ||||||
|     (2, "invited"), |     ("invited", "invited"), | ||||||
|     (3, "declined"), |     ("declined", "declined"), | ||||||
|     (4, "rejected"), |     ("rejected", "rejected"), | ||||||
|     (5, "member"), |     ("member", "member"), | ||||||
|     (6, "manager"), |     ("manager", "manager"), | ||||||
| ] | ] | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
| class Membership(models.Model): | class Membership(models.Model): | ||||||
| 
 | 
 | ||||||
|     user = models.ForeignKey(User) |     user = models.ForeignKey(User, related_name="memberships") | ||||||
|     team = models.ForeignKey(Team) |     team = models.ForeignKey(Team, related_name="memberships") | ||||||
|     state = models.IntegerField(choices=MEMBERSHIP_STATE_CHOICES) |     state = models.CharField(max_length=20, choices=MEMBERSHIP_STATE_CHOICES) | ||||||
|     message = models.TextField(blank=True) |     message = models.TextField(blank=True) | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
|  |  | ||||||
|  | @ -121,4 +121,29 @@ | ||||||
|             </p> |             </p> | ||||||
|         </div> |         </div> | ||||||
|     </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 %} | {% endblock %} | ||||||
|  |  | ||||||
		Loading…
	
	Add table
		
		Reference in a new issue
	
	 James Tauber
						James Tauber