예제 #1
0
def initModels(cls):
    """Init the models."""
    # new User user
    cls.user = User()
    cls.user.name = 'user'
    cls.user.state = "active"
    cls.user.email = ['*****@*****.**']
    cls.user.institutions = []
    cls.user.follows = []
    cls.user.institutions_admin = []
    cls.user.posts = []
    cls.user.put()
    # new User second_user
    cls.second_user = User()
    cls.second_user.name = 'second_user'
    cls.second_user.email = ['*****@*****.**']
    cls.second_user.state = "active"
    cls.second_user.institutions = []
    cls.second_user.follows = []
    cls.second_user.institutions_admin = []
    cls.second_user.posts = []
    cls.second_user.put()
    # new Institution institution
    cls.institution = Institution()
    cls.institution.name = 'institution'
    cls.institution.state = "active"
    cls.institution.email = '*****@*****.**'
    cls.institution.members = [cls.user.key]
    cls.institution.followers = [cls.user.key, cls.second_user.key]
    cls.institution.posts = []
    cls.institution.admin = cls.user.key
    cls.institution.put()
    # another institution
    cls.other_institution = Institution()
    cls.other_institution.name = 'other_institution'
    cls.other_institution.state = 'active'
    cls.other_institution.email = '*****@*****.**'
    cls.other_institution.members = [cls.user.key]
    cls.other_institution.followers = [cls.user.key]
    cls.other_institution.posts = []
    cls.other_institution.admin = cls.user.key
    cls.other_institution.put()

    cls.user.institutions = [cls.institution.key, cls.other_institution.key]
    cls.user.institutions_admin = [
        cls.institution.key, cls.other_institution.key
    ]
    cls.user.follows = [cls.other_institution.key, cls.institution.key]
    cls.user.put()
    cls.second_user.follows = [cls.institution.key]
    cls.second_user.put()
예제 #2
0
def initModels(cls):
    """Init the models."""
    # new User user
    cls.user = User()
    cls.user.name = 'user'
    cls.user.email = ['*****@*****.**']
    cls.user.put()

    # new Institution
    cls.institution = Institution()
    cls.institution.name = 'institution'
    cls.institution.members = [cls.user.key]
    cls.institution.followers = [cls.user.key]
    cls.institution.admin = cls.user.key
    cls.institution.put()

    # POST of user To institution
    cls.post_user = {
        'title': "Novo edital do institution",
        'text': "At vero eos et accusamus et iusto odio",
        'institution': cls.institution.key.urlsafe()
    }
    cls.post_aux = {
        'title': "Post Auxiliar",
        'text': "At vero eos et accusamus et iusto",
        'institution': cls.institution.key.urlsafe()
    }
    cls.user.follows = [cls.institution.key]
    cls.user.put()

    cls.user.add_institution(cls.institution.key)
예제 #3
0
def initModels(cls):
    """Init the models."""
    # new User user
    cls.user = User()
    cls.user.name = 'user name'
    cls.user.photo_url = 'urlphoto'
    cls.user.cpf = '089.675.908-90'
    cls.user.email = ['*****@*****.**']
    cls.user.put()
    # new Institution CERTBIO
    cls.certbio = Institution()
    cls.certbio.name = 'CERTBIO'
    cls.certbio.photo_url = 'urlphoto'
    cls.certbio.members = [cls.user.key]
    cls.certbio.followers = [cls.user.key]
    cls.certbio.admin = cls.user.key
    cls.certbio.put()
    """ Update User."""
    cls.user.add_institution(cls.certbio.key)
    cls.user.follows = [cls.certbio.key]
    cls.user.put()

    # Events
    cls.event = Event()
    cls.event.title = "New Event"
    cls.event.author_key = cls.user.key
    cls.event.author_name = cls.user.name
    cls.event.author_photo = cls.user.photo_url
    cls.event.institution_key = cls.certbio.key
    cls.event.institution_name = cls.certbio.name
    cls.event.institution_image = cls.certbio.photo_url
    cls.event.start_time = datetime.datetime.now()
    cls.event.end_time = datetime.datetime.now()
    cls.event.local = "Event location"
    cls.event.put()
예제 #4
0
def initModels(cls):
    """Init the models."""
    # new Institution
    cls.institution = Institution()
    cls.institution.name = 'Test institution'
    cls.institution.put()
    # new User
    cls.user = User()
    cls.user.name = "Test user"
    cls.user.state = "active"
    cls.user.email = ['*****@*****.**']
    cls.user.put()
    # new second_user
    cls.second_user = User()
    cls.second_user.name = 'Second User Test'
    cls.second_user.state = "active"
    cls.second_user.email = ['*****@*****.**']
    cls.second_user.put()
    # new Post
    cls.post = Post()
    cls.post.subscribers = [cls.second_user.key]
    cls.post.author = cls.second_user.key
    cls.post.institution = cls.institution.key
    cls.post.state = 'published'
    cls.post.put()
예제 #5
0
파일: admin.py 프로젝트: RonnyldoSilva/web
def createInstitution(data, user):
    """Create a new Institution."""

    institutionImage = "http://www.plataformacis.org/images/background01.jpg"
    institution = Institution()
    institution.name = data.get('name')
    institution.acronym = data.get('acronym')
    institution.cnpj = data.get('cnpj')
    institution.legal_nature = data.get('legal_nature')
    institution.address = data.get('address')
    institution.state = data.get('state')
    institution.description = data.get('description')
    institution.phone_number = data.get('phone_number')
    institution.email = data.get('email')
    institution.photo_url = data.get('photo_url') or institutionImage
    institution.admin = user.key
    institution.state = data.get('state')
    institution.leader = data.get('leader')
    institution.institutional_email = data.get('institutional_email')
    institution.actuation_area = data.get('actuation_area')
    institution.website_url = data.get('website_url')
    institution.members.append(user.key)
    institution.followers.append(user.key)
    institution.put()

    user.add_permission("publish_post", institution.key.urlsafe())
    user.add_permission("publish_survey", institution.key.urlsafe())
    user.institutions.append(institution.key)
    user.institutions_admin.append(institution.key)
    user.follows.append(institution.key)
    user.put()

    return institution
예제 #6
0
def initModels(cls):
    """Init the models."""
    # new User Raoni
    cls.user = User()
    cls.user.name = 'Raoni Smaneoto'
    cls.user.email = ['*****@*****.**']
    cls.user.institutions = []
    cls.user.put()
    # new Institution CERTBIO
    cls.certbio = Institution()
    cls.certbio.name = 'CERTBIO'
    cls.certbio.members = [cls.user.key]
    cls.certbio.followers = [cls.user.key]
    cls.certbio.put()
    cls.user.institutions.append(cls.certbio.key)
    cls.certbio_profile = InstitutionProfile()
    cls.certbio_profile.phone = '(74) 99937-357'
    cls.certbio_profile.email = '*****@*****.**'
    cls.certbio_profile.institution_key = cls.certbio.key.urlsafe()
    cls.certbio_profile.office = "developer"
    cls.certbio_profile.name = cls.certbio.name
    cls.certbio_profile.photo_url = 'photourl'
    cls.certbio_profile.color = 'green'
    cls.user.institution_profiles.append(cls.certbio_profile)
    cls.user.put()
예제 #7
0
def _save_institution(cd):
    institution = Institution()
    institution.id = cd['id'] or None
    institution.observation = cd['observation']
    institution.name = cd['name']
    institution.country = cd['country']
    institution.save()
    return institution
예제 #8
0
def result_to_institution(r):
    inst = Institution(r["institution_uuid"], r["institution_name"],
                       r["institution_country_code"])
    inst.load_contacts()
    inst.load_ip_ranges()
    inst.load_dates()
    inst.load_relations()
    return inst
예제 #9
0
def add_institution():
    if request.method == 'POST':
        info = Institution(college_name=request.data['college_name'],
                           college_short=request.data['college_short'])
        session.add(info)
        session.commit()
        return {'status': 'successfully added institution'}
    else:
        return {'status': 'running'}
예제 #10
0
파일: mocks.py 프로젝트: RonnyldoSilva/web
def create_institution(name=None):
    """Create institution function."""
    institution = Institution()
    inst_hash = getHash(institution)
    institution.name = name or "Inst %s" % inst_hash
    institution.address = create_address()
    institution.description = "description"
    institution.institutional_email = "*****@*****.**" %inst_hash
    institution.put()
    return institution
예제 #11
0
def add_institution():
    info = Institution(name = request.data['college_name'], short = request.data['college_short'])
    session.add(info)
    try:
        session.commit()
    except:
        session.rollback()
        flash(config.UNEXPECTED_ERROR)
    finally:
        session.close()
    return redirect('/dashboard')
예제 #12
0
def initModels(cls):
    """Initialize the models."""
    # admin
    cls.admin = User()
    cls.admin.name = "admin"
    cls.admin.email = ["admin@email"]
    cls.admin.put()

    # user
    cls.user = User()
    cls.user.name = "user"
    cls.user.email = ["user@email"]
    cls.user.put()

    # New institution
    cls.institution = Institution()
    cls.institution.name = "institution"
    cls.institution.admin = cls.admin.key
    cls.institution.members = [cls.admin.key]
    cls.institution.followers = [cls.admin.key]
    cls.institution.put()

    # update admin
    cls.admin.institutions_admin = [cls.institution.key]
    cls.admin.put()

    # New invite
    cls.invite = Invite()
    cls.invite.invitee = cls.user.email[0]
    cls.invite.admin_key = cls.admin.key
    cls.invite.sender_key = cls.admin.key
    cls.invite.sender_name = cls.admin.name
    cls.invite.status = "sent"
    cls.invite.institution_key = cls.institution.key
    cls.invite.put()

    cls.data = {
        "admin_key": cls.admin.key.urlsafe(),
        "is_request": False,
        "institution_key": cls.institution.key.urlsafe(),
        "sender_key": cls.admin.key.urlsafe(),
        "sender_name": cls.admin.name
    }

    cls.expected_invite = Invite()
    cls.expected_invite.admin_key = cls.admin.key
    cls.expected_invite.is_request = False
    cls.expected_invite.institution_key = cls.institution.key
    cls.expected_invite.sender_key = cls.admin.key
    cls.expected_invite.sender_name = cls.admin.name
예제 #13
0
def initModels(cls):
    """Init the models."""
    # new User
    cls.user = User()
    cls.user.name = 'User'
    cls.user.email = ['*****@*****.**']
    cls.user.institutions = []
    cls.user.posts = []
    cls.user.put()

    # new Institution inst test
    cls.institution = Institution()
    cls.institution.name = 'inst test'
    cls.institution.members = [cls.user.key]
    cls.institution.admin = cls.user.key
    cls.institution.put()

    cls.user.institutions = [cls.institution.key]
    cls.user.put()

    cls.options = [
        {'id': 0,
         'text': 'frist option',
         'number_votes': 0,
         'voters': []
         },
        {'id': 1,
         'text': 'second option',
         'number_votes': 0,
         'voters': []
         }]

    cls.data_binary = {
        'title': 'Survey with Binary choice',
        'type_survey': 'binary',
        'deadline': '2020-07-25T12:30:15',
        'options': cls.options
    }

    cls.data_multiple = {
        'title': 'Survey with Multiple choice',
        'type_survey': 'multiple_choice',
        'deadline': '2020-07-25T12:30:15',
        'options': cls.options
    }

    cls.voter = {'name': cls.user.name,
                 'photo_url': cls.user.photo_url,
                 'key': cls.user.key.urlsafe()}
예제 #14
0
def add_institution():
    if request.method == 'POST':
        info = Institution(name=request.data['college_name'],
                           short=request.data['college_short'])
        session.add(info)
        session.commit()
        return {
            'status': 'OK',
            'message': 'SUCCESS',
        }, 200
    else:
        return {
            'status': 'OK',
            'message': 'RUNNING',
        }, 200
def createInstitution(user, data):
    """Cretate a new institution stub."""
    inst_stub = Institution()

    for property in data:
        if property != 'admin':
            setattr(inst_stub, property, data[property])

    if (data.get("photo_url") is None):
        inst_stub.photo_url = "app/images/institution.png"

    inst_stub.address = Address.create(data.get('address'))
    inst_stub.state = 'pending'
    inst_stub.put()

    return inst_stub
예제 #16
0
 def DELETE(self, name):
     """Deletes institution using institution uuid."""
     institution_uuid = web.input().get('institution_uuid')
     try:
         assert institution_uuid
     except AssertionError as error:
         logger.debug(error)
         raise Error(BADPARAMS)
     try:
         result = Institution.get_institution(institution_uuid)[0]
     except:
         raise Error(NOTFOUND,msg="The institution provided does not exist.")
     institution = Institution(result['institution_uuid'],
                 result['institution_name'],result['institution_country_code'])
     institution.delete()
     return [institution.__dict__]
예제 #17
0
 def PUT(self, name):
     """Checks if entry exists using uuid, then modifies it."""
     data = json.loads(web.data())
     institution_uuid = data.get('institution_uuid')
     name = data.get('institution_name')
     country_code = data.get('country_code')
     try:
         assert institution_uuid and name and country_code
     except AssertionError as error:
         logger.debug(error)
         raise Error(BADPARAMS)
     try:
         assert Institution.get_institution(institution_uuid)[0]
     except:
         raise Error(NOTFOUND,msg="The institution provided does not exist.")
     institution = Institution(institution_uuid,name,country_code)
     institution.update()
     return [institution.__dict__]
예제 #18
0
def initModels(cls):
    """Init the models."""
    # new User User
    cls.user = User()
    cls.user.name = 'User'
    cls.user.email = ['*****@*****.**']
    cls.user.put()
    # new Institution SPLAB
    cls.institution = Institution()
    cls.institution.name = 'SPLAB'
    cls.institution.email = '*****@*****.**'
    cls.institution.members = [cls.user.key]
    cls.institution.followers = [cls.user.key]
    cls.institution.admin = cls.user.key
    cls.institution.state = 'active'
    cls.institution.put()
    # Survey post of User To SPLAB
    cls.user_post = SurveyPost()
    cls.user_post.author = cls.user.key
    cls.user_post.institution = cls.institution.key
    cls.user_post.type_survey = 'binary'
    cls.user_post.title = 'Survey with Multiple choice'
    cls.user_post.text = 'Description of survey'
    cls.user_post.number_votes = 0
    cls.user_post.last_modified_by = cls.user.key
    cls.user_post.deadline = datetime.datetime(2020, 07, 25, 12, 30, 15)
    cls.user_post.options = [{
        'id': 0,
        'text': 'first option',
        'number_votes': 0,
        'voters': []
    }, {
        'id': 1,
        'text': 'second option',
        'number_votes': 0,
        'voters': []
    }]
    cls.user_post.put()
예제 #19
0
 def POST(self, name):
     """Inserts new institution."""
     data = json.loads(web.data())
     institution_name = data.get('institution_name')
     country_code = data.get('country_code')
     country_name = data.get('country_name')
     institution_notes = data.get('institution_notes')
     contacts = data.get('contacts')
     ip_ranges = data.get('ip_ranges')
     parent_of = data.get('parent_of')
     child_of = data.get('child_of')
     try:
         assert institution_name
     except AssertionError as error:
         logger.debug(error)
         raise Error(BADPARAMS)
     try:
         country = ""
         if country_name and not country_code:
             country = country_name
             country_code = Country.get_from_name(country_name).first()['country_code']
         elif country_code and not country_name:
             country = country_code
             country_name = Country(country_code).get_names().first()['country_name']
         else:
             raise Error(BADPARAMS,msg="No country provided.")
     except:
         raise Error(BADPARAMS,msg="Country '%s' does not exist." %(country))
     institution_uuid = generate_uuid()
     institution = Institution(institution_uuid,institution_name,
                                                 country_code,
                                                 institution_notes,
                                                 contacts,
                                                 ip_ranges,
                                                 parent_of,
                                                 child_of)
     institution.save()
     return [institution.__dict__]
예제 #20
0
# coding=utf-8
import json
import codecs

from models import Institution, Keyword

institutions = json.load(codecs.open('institutions.json', encoding='utf-8'))
for institution in institutions:
    tem = Institution(
        name=institution['name'],
        short_name=institution['short_name'],
        district=u'深圳市',
        url=institution['url'],
        url_list=institution['url_list'],
        remarks=institution['remarks'],
        item_xpath=institution['item_xpath'],
        title_xpath=institution['title_xpath'],
        url_xpath=institution['url_xpath'],
        pub_date_xpath=institution['pub_date_xpath'],
    )
    keywords = []
    for j in range(1, 4):
        for i in institution['words' + str(j)]:
            try:
                keywords.append(Keyword.objects.get(word=i, type=j))
            except:
                Keyword.objects.create(word=i, type=j)
                keywords.append(Keyword.objects.get(word=i, type=j))
    tem.keywords = keywords
    tem.save()
예제 #21
0
    def setUp(cls):
        """Provide the base for the tests."""
        super(InstitutionHandlerTest, cls).setUp()
        methods = set(cls.webapp2.WSGIApplication.allowed_methods)
        methods.add('PATCH')
        cls.webapp2.WSGIApplication.allowed_methods = frozenset(methods)
        app = cls.webapp2.WSGIApplication(
            [("/api/institutions/(.*)/invites/(.*)", InstitutionHandler),
             ("/api/institutions/(.*)", InstitutionHandler),
             ("/api/queue/add-admin-permissions",
              AddAdminPermissionsInInstitutionHierarchy),
             ('/api/queue/remove-admin-permissions',
              RemoveAdminPermissionsInInstitutionHierarchy),
             ('/api/queue/remove-inst', RemoveInstitutionHandler)],
            debug=True)
        cls.testapp = cls.webtest.TestApp(app)

        # create models
        # new User
        cls.user = mocks.create_user('*****@*****.**')
        cls.user.name = "User"
        # new User Other
        cls.other_user = mocks.create_user('*****@*****.**')
        cls.other_user.state = "pending"
        cls.other_user.put()
        # new Institution FIRST INST
        cls.first_inst = mocks.create_institution()
        cls.first_inst.name = 'FIRST INST'
        cls.first_inst.acronym = 'FIRST INST'
        cls.first_inst.cnpj = '18.104.068/0001-86'
        cls.first_inst.email = '*****@*****.**'
        cls.first_inst.members = [cls.user.key, cls.other_user.key]
        cls.first_inst.followers = [cls.user.key, cls.other_user.key]
        cls.first_inst.admin = cls.user.key
        cls.first_inst.put()
        cls.user.institutions_admin = [cls.first_inst.key]
        cls.user.institutions = [cls.first_inst.key]
        cls.user.follows = [cls.first_inst.key]
        cls.user.add_permission("update_inst", cls.first_inst.key.urlsafe())
        cls.user.add_permission("remove_inst", cls.first_inst.key.urlsafe())
        cls.user.put()
        # new Institution SECOND INST
        cls.second_inst = mocks.create_institution()
        cls.second_inst.name = 'SECOND INST'
        cls.second_inst.acronym = 'SECOND INST'
        cls.second_inst.cnpj = '18.104.068/0000-86'
        cls.second_inst.email = '*****@*****.**'
        cls.second_inst.members = [cls.user.key, cls.other_user.key]
        cls.second_inst.followers = [cls.user.key, cls.other_user.key]
        cls.second_inst.posts = []
        cls.second_inst.admin = None
        cls.second_inst.put()
        # Invite for Other create new inst
        cls.invite = InviteInstitution()
        cls.invite.invitee = '*****@*****.**'
        cls.invite.institution_key = cls.second_inst.key
        cls.invite.admin_key = cls.user.key
        cls.invite.type_of_invite = 'institution'
        cls.invite.suggestion_institution_name = "Nova Inst"
        cls.invite.put()
        # Stub of Institution
        cls.stub = Institution()
        cls.stub.name = 'Nova Inst'
        cls.stub.state = 'pending'
        cls.stub.put()
        # update invite
        cls.invite.stub_institution_key = cls.stub.key
        cls.invite.put()
        # new Institution ECIS
        cls.third_inst = mocks.create_institution()
        cls.third_inst.members = [cls.user.key, cls.other_user.key]
        cls.other_user.add_institution(cls.third_inst.key)
        cls.other_user.follows.append(cls.third_inst.key)
        cls.third_inst.followers = [cls.user.key, cls.other_user.key]
        cls.third_inst.admin = cls.other_user.key
        cls.third_inst.parent_institution = cls.second_inst.key
        cls.third_inst.put()
        cls.second_inst.children_institutions.append(cls.third_inst.key)
        cls.second_inst.put()
        # method post body
        cls.body = {'data': None}
        # create headers
        cls.headers = {
            'Institution-Authorization': cls.first_inst.key.urlsafe()
        }