예제 #1
0
 def validate_python(self, field_dict, state):
     from hubspace.controllers import permission_or_owner
     user_id = field_dict['id']
     user = User.get(user_id)
     if permission_or_owner(user.homeplace, None, 'manage_users'):
         if 'active' not in field_dict or field_dict['active'] == False:
             if identity.current.user.id == user_id:
                 raise Invalid("You Cannot Deactivate Your Own Profile", field_dict, state, error_dict={'active':"You Cannot Deactivate Your Own Profile"})
예제 #2
0
 def _get_invoice(self):
     return User.get(self.userID)
예제 #3
0
 def get_churn_stats(self):
     """
     -> [((2009, 3), 13, 4), ((2009, 4), 2, 5), ...]
                     ^ members left         ^ members back
     """
     tariff_ids = (resource.id for resource in self.location.resources if resource.type == 'tariff')
     dateptr = get_last_months_limits(self.start)[0]
     tariff_usages = (ru for ru in self.get_usages_for_period(dateptr, self.end) if ru.resourceID in tariff_ids)
     prev_month = get_last_months_limits(dateptr)
     stats = []
     while dateptr <= self.end:
         current_month = get_this_months_limits(dateptr)
         members_then = set(ru.userID for ru in get_usages_for_period(self.location.id, *prev_month))
         members_now = set(ru.userID for ru in get_usages_for_period(self.location.id, *current_month))
         members_left = len(members_then.difference(members_now))
         members_back = len([m_id for m_id in members_now.difference(members_then) if User.get(m_id).created < prev_month[0]])
         stats.append(("%s %s" % (calendar.month_abbr[dateptr.month], dateptr.year), (members_left, members_back)))
         dateptr = current_month[-1] + datetime.timedelta(1)
         prev_month = current_month
     return stats
예제 #4
0
 def _get_user(self):
     return User.get(self.userID)