예제 #1
0
    def test_make(self):
        """Test make method."""
        user = mocks.create_user()
        parent_inst = mocks.create_institution()
        parent_inst.admin = user.key
        user.add_institution_admin(parent_inst.key)
        user.put()
        parent_inst.put()
        second_user = mocks.create_user()

        data = {
            'institution_key': parent_inst.key.urlsafe(),
            'admin_key': user.key.urlsafe(),
            'invitee': second_user.email[0],
            'suggestion_institution_name': 'test'
        }

        invite = InviteInstitutionChildren.create(data)
        invite.put()

        institution = parent_inst.make(InviteInstitutionChildren.INST_PROPS_TO_MAKE)
        expected_json = {
            'admin_name': invite.admin_key.get().name,
            'sender_name': invite.sender_name,
            'key': invite.key.urlsafe(),
            'institution_admin': parent_inst.make(['name']),
            'institution': institution,
            'invitee': invite.invitee,
            'suggestion_institution_name': invite.suggestion_institution_name,
            'stub_institution': Institution.make(invite.stub_institution_key.get(), ['name', 'key', 'state']),
            'type_of_invite': 'INSTITUTION_CHILDREN',
            'status': 'sent'
        }

        self.assertEquals(expected_json, invite.make())
예제 #2
0
def parentToJson(obj):
    """Return json with parent institution."""
    if(obj.parent_institution):
        parent_institution = obj.parent_institution.get()
        institution_parent_json = Institution.make(parent_institution, [
            'name', 'key', 'state', 'invite', 'photo_url', 'acronym'])
        institution_parent_json['children_institutions'] = childrenToJson(parent_institution)
        return institution_parent_json
예제 #3
0
def childrenToJson(obj):
    """Return the array with json from institution that are obj children."""
    json = [
        Institution.make(institution.get(), [
            'name', 'photo_url', 'key', 'state', 'invite',
            'parent_institution', 'acronym'
        ]) for institution in obj.children_institutions
    ]
    return json
예제 #4
0
    def get(self, user, url_string):
        """Handle GET Requests."""
        obj_key = ndb.Key(urlsafe=url_string)
        obj = obj_key.get()
        Utils._assert(obj.state == 'inactive',
                      "The institution has been deleted",
                      NotAuthorizedException)
        assert type(obj) is Institution, "Key is not an Institution"
        institution_json = Utils.toJson(obj, host=self.request.host)
        if (obj.admin):
            institution_json['admin'] = adminToJson(obj.admin.get())
        if (obj.invite):
            institution_json['invite'] = Institution.make(obj, ["invite"])
        institution_json['sent_invitations'] = getSentInvitations(obj.key)
        institution_json['parent_institution'] = parentToJson(obj)
        institution_json['children_institutions'] = childrenToJson(obj)
        institution_json['cover_photo'] = obj.cover_photo

        self.response.write(json.dumps(institution_json))