(function () { "use strict"; angular.module('shared') .factory('StudentsUtil', ['NameUtil', 'TeachersUtil', '_', function (NameUtil, TeachersUtil, _) { var service = { rosterFormatStudentName: rosterFormatStudentName, rosterSortableStudentName: rosterSortableStudentName, formatHomeroomTeacherName: formatHomeroomTeacherName, getShared: getShared, getHomeroom: getHomeroom, studentHasName: studentHasName, }; return service; //Implementation function rosterFormatStudentName(student, byLastName) { return NameUtil.formatName(student.student_first_name, student.student_last_name, byLastName); } function rosterSortableStudentName(student, byLastName) { return NameUtil.formatUserName(student.student_first_name, student.student_last_name, student.screen_name, byLastName); } function formatHomeroomTeacherName(student) { TeachersUtil.formatTeacherName(student.homeroom_member_first_name, homeroom_member_last_name, homeroom_member_username) } function getShared(students) { return _.filter(students, function (student) { return student.is_shared; }); } function getHomeroom(students) { return _.filter(students, function (student) { return !student.is_shared; }); } function studentHasName(student) { return NameUtil.hasName(student.student_first_name, student.student_last_name); } }]) })();