def _wizcb_submit_hdl(wiz, em, step, act, val, req): xcls = cls if isinstance(xcls, str): xcls = _name_to_class(xcls) sess = DBSession() fieldIDs = json.loads(val['field_id']) templateName = val['template'] templId = val['templ_id'] for fid in fieldIDs: resvalue = { 'templ_id': templId, 'field_id': fid, 'template': templateName, 'field': sess.query(PDNSFieldType).filter( PDNSFieldType.id == fid).first() } em = ExtModel(xcls) obj = xcls() em.set_values(obj, resvalue, req, True) sess.add(obj) sess.flush() print("TROLOLO") return {'do': 'close', 'reload': True}
def get_cfg(self, model, req, **kwargs): if isinstance(self.model, str): self.model = ExtModel(_name_to_class(self.model)) ret = [] col = self.model.get_column(self.field) colfld = col.get_editor_cfg(req, in_form=True, initval=self.value) if colfld: colfld['name'] = self.name coldef = col.default(req) if (kwargs.get('use_defaults', False)) and (coldef is not None) and (not self.value): colfld['value'] = coldef if self.extra_config: colfld.update(self.extra_config) ret = [colfld] extra = col.append_field() while extra: ecol = self.model.get_column(extra) ecolfld = ecol.get_editor_cfg(req, in_form=True, initval=self.value) if ecolfld: ecoldef = ecol.default(req) if (kwargs.get('use_defaults', False)) and (ecoldef is not None) and (not self.value): ecolfld['value'] = ecoldef ret.append(ecolfld) extra = ecol.append_field() else: break return ret
def _wizcb_submit_hdl(wiz, em, step, act, val, req): xcls = cls if isinstance(xcls, str): xcls = _name_to_class(xcls) sess = DBSession() cfg = get_current_registry().settings fieldIDs = json.loads(val['field_id']) fieldlist = val['field'] templateName = val['template'] templId = val['templ_id'] for fid in fieldIDs: resvalue = {'templ_id' : templId, 'field_id' : fid, 'template' : templateName, 'field' : sess.query(PDNSFieldType).filter(PDNSFieldType.id==fid).first() } em = ExtModel(xcls) obj = xcls() em.set_values(obj, resvalue, req, True) sess.add(obj) sess.flush() print("TROLOLO") return { 'do' : 'close', 'reload' : True }
def get_cfg(self, model, req, **kwargs): if isinstance(self.model, str): self.model = ExtModel(_name_to_class(self.model)) ret = [] col = self.model.get_column(self.field) colfld = col.get_editor_cfg(req, in_form=True, initval=self.value) if colfld: colfld['name'] = self.name coldef = col.default(req) if (kwargs.get('use_defaults', False)) and (coldef is not None) and (not self.value): colfld['value'] = coldef if self.extra_config: colfld.update(self.extra_config) ret = [colfld] extra = col.append_field() while extra: ecol = self.model.get_column(extra) ecolfld = ecol.get_editor_cfg(req, in_form=True, initval=self.value) if ecolfld: ecoldef = ecol.default(req) if (kwargs.get('use_defaults', False)) and ( ecoldef is not None) and (not self.value): ecolfld['value'] = ecoldef ret.append(ecolfld) extra = ecol.append_field() else: break return ret
def _wizcb_submit_hdl(wiz, em, step, act, val, req): xcls = cls if isinstance(xcls, str): xcls = _name_to_class(xcls) sess = DBSession() em = ExtModel(xcls) obj = xcls() em.set_values(obj, val, req, True) sess.add(obj) return { 'do' : 'close', 'reload' : True }
def _wizcb_submit_hdl(wiz, em, step, act, val, req): xcls = cls if isinstance(xcls, str): xcls = _name_to_class(xcls) sess = DBSession() cfg = get_current_registry().settings mailer = get_mailer(req) userIDs = json.loads(val['userid']) userlist = val['user'] templateName = val['template'] templId = val['templid'] receiver = None sender = cfg.get('netprofile.mailing.sender', '*****@*****.**') sendername = cfg.get('sender.name', 'localadmin') mailhost = cfg.get('mail.host', 'localhost') for userid in userIDs: resvalue = {'userid' : userid} user = sess.query(AccessEntity).filter(AccessEntity.id==userid).first() subscr = sess.query(MailingSubscription).filter(MailingSubscription.userid==userid).first() #a long try-except statement to check if user is in mailing list try: if subscr.issubscribed is True: templateBody = sess.query(MailingTemplate).filter(MailingTemplate.id==templId).first().body resvalue['user'] = user resvalue['template'] = templateBody resvalue['templid'] = templId if user.parent: try: receiver = user.parent.email except AttributeError: #raise error here print("################### USER'S PARENT HAVE NO EMAIL ATTRIBUTE #######################") if receiver is not None: msg_text = Attachment(data=templateBody, content_type='text/plain; charset=\'utf-8\'', disposition='inline', transfer_encoding='quoted-printable' ) msg_html = Attachment(data=templateBody, content_type='text/html; charset=\'utf-8\'', disposition='inline', transfer_encoding='quoted-printable' ) message = Message( subject=(templateName), sender=sender, recipients=(receiver,), body=msg_text, html=msg_html ) mailer.send(message) resvalue['letteruid'] = hashlib.md5((templateBody + user.nick + str(datetime.datetime.now())).encode()).hexdigest() em = ExtModel(xcls) obj = xcls() em.set_values(obj, resvalue, req, True) sess.add(obj) sess.flush() else: print("################### USER HAVE NO EMAIL #######################") except AttributeError: print("########################## USER NOT IN SUBSCR LIST ###########################") return { 'do' : 'close', 'reload' : True }