def _add_admin(self, **kwargs): netid = kwargs['net_id'] regid = kwargs['reg_id'] self._log.info('ADD: %s is %s in %s' % (netid, kwargs['role'], kwargs['account_id'])) try: User.objects.get(reg_id=regid) except User.DoesNotExist: try: person = get_person_by_netid(netid) self._log.info('Provisioning admin: %s (%s)' % ( person.uwnetid, person.uwregid)) try: user = get_user_by_sis_id(person.uwregid) except DataFailureException as err: if err.status == 404: user = create_user(CanvasUser( name=user_fullname(person), login_id=person.uwnetid, sis_user_id=person.uwregid, email=user_email(person))) User.objects.add_user(person) except Exception, err: self._log.info('Skipped admin: %s (%s)' % (netid, err)) return
def _get_user_from_login(self, login): user = AddUser(login=login) try: try: person = get_person_by_gmail_id(login) user.login = person.login_id except UserPolicyException: person = get_person_by_netid(login) user.login = person.uwnetid user.email = user_email(person) user.name = user_fullname(person) user.regid = user_sis_id(person) if user.regid in self._course_users: user.name = self._course_users[user.regid].name user.status = 'present' user.comment = 'Already in course' except DataFailureException as ex: if ex.status != 401: raise except UserPolicyException as ex: user.status = 'invalid' user.comment = "%s" % self._prettify(str(ex)) return user
def __init__(self, user, status="active"): self.key = user_sis_id(user) self.data = [ self.key, user.uwnetid if hasattr(user, "uwnetid") else user.login_id, None, None, None, user_fullname(user), None, None, user_email(user), status, ]
def section_long_name(section): short_name = section_short_name(section) if section.course_title_long is not None and len(section.course_title_long): name = "%s: %s" % (short_name, titleize(section.course_title_long.encode("ascii", "ignore"))) else: name = short_name if section.is_independent_study: for person in section.get_instructors(): if person.uwregid == section.independent_study_instructor_regid: name = "%s (%s)" % (name, user_fullname(person)) break return name
def __init__(self, user, status='active'): self.key = user_sis_id(user) name = user_fullname(user) if len(name) == 2: first_name = name[0] last_name = name[1] full_name = None else: first_name = None last_name = None full_name = name[0] self.data = [ self.key, user.uwnetid if hasattr(user, 'uwnetid') else user.login_id, None, first_name, last_name, full_name, None, None, user_email(user), status]