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)
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 {}
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)
def getDataFieldByUser(self, field): tool = UtilMyvindula() username = self.get_username_login().decode('utf-8') return tool.get_prefs_user(username).get(field, '')
def get_email_user_login(self): tool = UtilMyvindula() obj_user = tool.get_prefs_user(self.get_username_login()) return obj_user.get('email', 'none')
def getDataFieldByUser(self, field): tool = UtilMyvindula() username = self.get_username_login().decode('utf-8') return tool.get_prefs_user(username).get(field,'')
def get_email_user_login(self): tool = UtilMyvindula() obj_user = tool.get_prefs_user(self.get_username_login()) return obj_user.get('email','none')