Revision db9a498c snf-astakos-app/astakos/im/models.py

b/snf-astakos-app/astakos/im/models.py
668 668
        return mark_safe(message + u' '+ msg_extra)
669 669

  
670 670
    def owns_project(self, project):
671
        return project.user_status(self) == 100
671
        return project.owner == self
672 672

  
673 673
    def is_project_member(self, project):
674 674
        return project.user_status(self) in [0,1,2,3]
......
1135 1135
        return self.filter(q)
1136 1136

  
1137 1137

  
1138
PROJECT_STATE_DISPLAY = {
1139
    'Pending': _('Pending review'),
1140
    'Approved': _('Active'),
1141
    'Replaced': _('Replaced'),
1142
    'Unknown': _('Unknown')
1143
}
1144

  
1145
USER_STATUS_DISPLAY = {
1146
    100: _('Owner'),
1147
      0: _('Join requested'),
1148
      1: _('Pending'),
1149
      2: _('Accepted member'),
1150
      3: _('Removing'),
1151
      4: _('Removed'),
1152
     -1: _('Not a member'),
1153
}
1154

  
1138 1155
class ProjectApplication(models.Model):
1139 1156
    PENDING, APPROVED, REPLACED, UNKNOWN = 'Pending', 'Approved', 'Replaced', 'Unknown'
1140 1157
    applicant               =   models.ForeignKey(
......
1177 1194
    def __unicode__(self):
1178 1195
        return "%s applied by %s" % (self.name, self.applicant)
1179 1196

  
1197
    def state_display(self):
1198
        return PROJECT_STATE_DISPLAY.get(self.state, _('Unknown'))
1199

  
1180 1200
    def add_resource_policy(self, service, resource, uplimit):
1181 1201
        """Raises ObjectDoesNotExist, IntegrityError"""
1182 1202
        q = self.projectresourcegrant_set
......
1193 1213
        4   REMOVED
1194 1214
       -1   User has no association with the project
1195 1215
        """
1196
        if user == self.owner:
1197
            status = 100
1198
        else:
1199
            try:
1200
                membership = self.project.projectmembership_set.get(person=user)
1201
                status = membership.state
1202
            except Project.DoesNotExist:
1203
                status = -1
1204
            except ProjectMembership.DoesNotExist:
1205
                status = -1
1216
        try:
1217
            membership = self.project.projectmembership_set.get(person=user)
1218
            status = membership.state
1219
        except Project.DoesNotExist:
1220
            status = -1
1221
        except ProjectMembership.DoesNotExist:
1222
            status = -1
1206 1223

  
1207 1224
        return status
1208 1225

  
1226
    def user_status_display(self, user):
1227
        return USER_STATUS_DISPLAY.get(self.user_status(user), _('Unknown'))
1228

  
1209 1229
    def members_count(self):
1210 1230
        return self.project.approved_memberships.count()
1211 1231

  

Also available in: Unified diff