def get_DadosFuncdetails_byInstance(self,id_instance):
        if not isinstance(id_instance,unicode):
            # id_instance = unicode(id_instance.username)
            id_instance = unicode(id_instance)

        tools = UtilMyvindula()
        data = self.store.find(ModelsDadosFuncdetails,
                               ModelsDadosFuncdetails.username==id_instance,
                               ModelsDadosFuncdetails.deleted==False)

        if data.count() > 0:
            D={}
            D['username'] = id_instance

            for item in data:
                try:
                    valor = tools.decodePickle(item.value)
                except:
                    valor = item.value
                
                D[item.campo.name] = valor

            return D
        else:
            return {}
def envia_email_user_convidado(context,is_edit=True):
    tools = UtilMyvindula()
    list_user = [context.getOwner().getUserName()]
    list_user += context.getConvidados()

    titulo_compromisso = context.Title()
    link_agenda = '%s/minha-agenda' % context.portal_url()
    data_compromisso =  '%s às %s' %(context.start_datetime.strftime('%d/%m/%Y %H:%M'),
                                     context.end_datetime.strftime('%d/%m/%Y %H:%M'))

    if is_edit:
        assunto = 'O Compromisso %s foi editado.' % titulo_compromisso
    else:
        assunto = 'O Compromisso %s foi criado.' % titulo_compromisso

    msg = '''Olá, %s você acaba de ser convidado a participar do compromisso %s,
             que será realizado no pedíodo de  %s. <br/> 
            
             Para maiores informações acesse o <a href="%s"> link </a>.''' 

    for username in list_user:
        obj_user = tools.get_prefs_user(username)
        email = obj_user.get('email')

        if email:
            tools.envia_email(context, msg %(obj_user.get('name',username),
                                             titulo_compromisso,
                                             data_compromisso,
                                             link_agenda), assunto, email)
Example #3
0
    def get_user(self,instance_id):
        username_field = self.get_value_field(instance_id,'username')
        tool = UtilMyvindula()
        if username_field:
            obj_user = tool.get_prefs_user(username_field.value)
            return obj_user

        return {}
Example #4
0
    def get_department(self):
        OUs_uid = eval(self.get('vin_myvindula_department') or '[]')
        result = []
        for OU_uid in OUs_uid:
            OU = UtilMyvindula().lookupObject(OU_uid)
            if OU:
                result.append({'title': OU.getSiglaunidade() or OU.Title(),
                                'url' : OU.absolute_url(),
                                'obj': OU })

        return result
    def get_unidade_organizacional_text(self):
        tools = UtilMyvindula()
        caminho = tools.portal_url.getPortalPath()
        data = tools.catalog(portal_type='OrganizationalStructure',
                      sort_on = 'sortable_title',
                      path=caminho)

        if data:
            unidades = []
            for unidade in data:
                unidades.append([unidade.UID,unidade.Title])
            return unidades
        else:
            return []
    def getEditEvent(self):
        form = self.request.form
        D = {}
        D['name'] = ''
        D['obs'] = ''
        D['qtd_pessoas'] = ''
        D['mail'] = ''
        D['phone'] = ''
        D['local'] = ''
        D['id_edit'] = ''

        D['recurrent'] = ''
        D['frequency'] = ''
        D['end_date'] = ''

        if form.get('id_edit'):
            pc = getToolByName(self.context, 'portal_catalog')
            reserve_edit = pc(portal_type=('Event', 'EventReserve'),
                              id=form.get('id_edit'))
            if reserve_edit:
                obj = reserve_edit[0].getObject()
                D['name'] = obj.contact_name()
                D['mail'] = obj.contact_email()
                D['phone'] = obj.contact_phone()
                D['obs'] = obj.Description()
                D['local'] = obj.getLocation()
                D['id_edit'] = obj.id
                D['qtd_pessoas'] = obj.getAttendees()

                if obj.portal_type == 'EventReserve':
                    D['recurrent'] = obj.getRecurrent()
                    D['frequency'] = obj.getFrequency()
                    D['end_date'] = obj.getEnd_dateRecurrent()

        else:
            ms = self.context.portal_membership
            user_login = ms.getAuthenticatedMember().getUserName()
            urser_bd = UtilMyvindula().get_prefs_user(user_login)
            if urser_bd:
                D['mail'] = urser_bd.get('email', '')
                D['phone'] = urser_bd.get('phone_number', '') or urser_bd.get(
                    'cell_phone', '')

        return D
    def getEditEvent(self):
        form = self.request.form
        D = {}
        D['name'] = ''
        D['obs'] = ''
        D['qtd_pessoas']=''
        D['mail'] = ''
        D['phone'] = '' 
        D['local'] = ''
        D['id_edit'] = ''

        D['recurrent'] = ''
        D['frequency'] = ''
        D['end_date'] = ''

        if form.get('id_edit'):
            pc = getToolByName(self.context, 'portal_catalog')
            reserve_edit = pc(portal_type=('Event','EventReserve'), id=form.get('id_edit'))
            if reserve_edit:
                obj = reserve_edit[0].getObject()
                D['name'] = obj.contact_name()
                D['mail'] = obj.contact_email()
                D['phone'] = obj.contact_phone()
                D['obs'] = obj.Description()
                D['local'] = obj.getLocation()
                D['id_edit'] = obj.id
                D['qtd_pessoas'] = obj.getAttendees()

                if obj.portal_type == 'EventReserve':
                    D['recurrent'] = obj.getRecurrent()
                    D['frequency'] = obj.getFrequency()
                    D['end_date'] = obj.getEnd_dateRecurrent()

        else:
            ms = self.context.portal_membership
            user_login = ms.getAuthenticatedMember().getUserName()
            urser_bd = UtilMyvindula().get_prefs_user(user_login)
            if urser_bd:
                D['mail'] = urser_bd.get('email','')
                D['phone'] = urser_bd.get('phone_number','') or urser_bd.get('cell_phone','')
        
        return D 
    def createUserProfile(self,data):
        tool = UtilMyvindula()
        username = data.get(u'username')
        created = False
        #Removendo valor do dicionario para criar os valores
        data.pop(u'username')
        #Recebe o dicionario de dados do usuario e cria o perfil
        for field in data.keys():
            field_config = ModelsConfgMyvindula().get_configuration_By_fields(field)
            if field_config:
                field_id = field_config.id
            else:
                #Caso nao exista o field chamado, loga o erro e deixa passar
                tool.setLogger('info',"User schema field unkown: %s" % field)
                continue

            value = tool.Convert_utf8(data[field])

            str_data = datetime.now().strftime('%Y-%m-%d|%H:%M:%S')

            hash = md5('ModelsDadosFuncdetails'+str(username)+str(field_id)+str_data).hexdigest()

            value_object = ModelsDadosFuncdetails(**{'username':username,
                                                     'field_id':field_id,
                                                     'value':value,
                                                     'hash' : unicode(hash),
                                                     'date_created':datetime.now(),
                                                     'date_created':datetime.now(),
                                                     'date_modified':datetime.now(),
                                                     'blocked':False})

            tool.setLogger('info',"User data stored: %s - %s - %s" % (username,
                                                                      field,
                                                                      value))
            self.store.add(value_object)
            created = True

        if created:
            self.store.commit()
            self.store.flush()
            tool.setLogger('info',"User created on myvindula: %s" % username)

            site = getSite()
            session = site.REQUEST.SESSION
            token = session.get('user_token')

            uri = 'vindula-api/myvindula/run-log/%s/%s/%s' % (token, 'UserObject', username)
            url = 'http://%s:%s/%s' %(HA_VINDULAPP_HOST,HA_VINDULAPP_PORT,uri)
            result = requests.get(url)
Example #9
0
    def getDataFieldByUser(self, field):
        tool = UtilMyvindula()
        username = self.get_username_login().decode('utf-8')

        return tool.get_prefs_user(username).get(field, '')
Example #10
0
    def get_email_user_login(self):
        tool = UtilMyvindula()
        obj_user = tool.get_prefs_user(self.get_username_login())

        return obj_user.get('email', 'none')
Example #11
0
 def getDataFieldByUser(self, field):
     tool = UtilMyvindula()
     username = self.get_username_login().decode('utf-8')
     
     return tool.get_prefs_user(username).get(field,'')
Example #12
0
    def get_email_user_login(self):
        tool = UtilMyvindula()
        obj_user = tool.get_prefs_user(self.get_username_login())

        return obj_user.get('email','none')