Exemplo n.º 1
0
class CareerFormViewlet(api.Viewlet):
    api.context(IATNewsItem)
    api.viewletmanager(IBelowContentBody)

    def available(self):
        if self.context.getReferences('rel_careerform'):
            return True
        return False

    def update(self):
        if self.available():
            ref = self.context.getReferences('rel_careerform')[0]
            kennziffer = getattr(self.context, 'kennziffer', '')
            pin = getattr(self.context, 'pin', '')
            mail = getattr(self.context, 'email', '')
            pin = hashlib.sha224(pin).hexdigest()
            self.linkurl = "%s?kennziffer=%s&pin=%s&stellentitel=%s/%s&mykennziffer=%s&empfaenger=%s" % (ref.absolute_url(), 
                                                                                        kennziffer, 
                                                                                        pin,
                                                                                        self.context.title,
                                                                                        kennziffer,
                                                                                        kennziffer,
                                                                                        mail)
            bewerbungsfrist = getattr(self.context, 'bewerbungsfrist')
            if bewerbungsfrist:
                self.bewerbungsfrist = bewerbungsfrist.strftime('%d.%m.%Y')
            else:
                self.bewerbungsfrist = ''
            self.ansprechperson = getattr(self.context, 'ansprechperson')
            self.telefon = getattr(self.context, 'telefon')
Exemplo n.º 2
0
class ResultHautpflege(api.Page):
    api.context(Interface)


    def update(self):
        self.hautpflegemittel = []
        sessiondata = getSessionData(self.request)
        brains = ploneapi.content.find(UID = sessiondata['hautpflege'])
        for i in brains:
            entry = {}
            obj = i.getObject()
            entry['title'] = obj.title
            entry['url'] = obj.absolute_url()
            entry['uid'] = obj.UID()
            entry['image'] = ''
            if obj.bild:
                entry['image'] = '<img src="%s/@@images/bild/thumb">' % obj.absolute_url()
            entry['anwendungsbereich'] = ','.join([anwendungVocabulary.getTerm(i).title for i in obj.anwendungsbereich])
            hersteller = ''
            herstellerurl = ''
            if obj.hersteller:
                if obj.hersteller.to_object:
                    hersteller = obj.hersteller.to_object.title
                    herstellerurl = obj.hersteller.to_object.absolute_url()
            entry['hersteller'] = hersteller
            entry['herstellerurl'] = herstellerurl
            self.hautpflegemittel.append(entry)
Exemplo n.º 3
0
class DelVerifyUser(api.Page):
    api.context(Interface)

    def render(self):
        key = self.request.get('code')
        if not key:
            return u"<h2>Unberechtigter Zugriff</h2><p>Sie sind nicht für den Aufruf dieser Seite berechtigt.</p>"
        data = readMongoUserForDel(key)
        if not data:
            return u"<h2>Fehler</h2><p>Beim Lesen Ihrer Daten ist ein Fehler aufgetreten, bitte versuchen Sie es zu einem späteren Zeitpunkt erneut.</p>"
        sapapi = sapshopapi.getAPI()
        retcode = sapapi.deleteUserVerify(**data)
        if retcode.EX_RETURN == 0:
            url = ploneapi.portal.get().absolute_url() + '/medienportal'
            cookie = {}
            key = setSessionData(self.request, cookie)
            message = u"Wir haben in Ihrem Auftrag die Löschung Ihres Benutzerkontos erfolgreich ausgeführt."
            ploneapi.portal.show_message(message=message,
                                         request=self.request,
                                         type='info')
            return self.response.redirect(url)
        else:
            url = ploneapi.portal.get().absolute_url() + '/medienportal'
            message = u'Bei der Löschung des Benutzerkontos ist ein Fehler aufgetreten. (%s)' % retcode.EX_MESSAGE
            ploneapi.portal.show_message(message=message,
                                         request=self.request,
                                         type='error')
            return self.response.redirect(url)
Exemplo n.º 4
0
class SummaryViewlet(api.Viewlet):
    api.context(IDocument)
    api.viewletmanager(IBelowContent)

    def render(self):
        cleaned = cleanhtml(self.context.text.raw)
        return "<div> %s </div>" % summarize(cleaned)
Exemplo n.º 5
0
class EdiPrintView(api.Page):
    api.context(Interface)

    def formatList(self, field_value):
        html = '<ul>'
        for i in field_value:
            html += '<li>%s</li>' % i
        html += '</ul>'
        return html

    def render(self):
        html = ''
        schema = getUtility(IDexterityFTI,
                            name=self.context.portal_type).lookupSchema()
        for name, field in getFieldsInOrder(schema):
            if name not in ['title', 'description']:
                html += '<h1>%s</h1>' % field.title
                field_value = getattr(self.context, name)
                if field_value:  #fragt das Feld im aktuellen Context ab
                    if isinstance(field, RichText):
                        if field_value.output:
                            html += field_value.output
                    if isinstance(field, TextLine):
                        html += '<p>%s</p>' % field_value
                    if isinstance(field, List):
                        if isinstance(field.value_type, TextLine):
                            html += self.formatList(field_value)
        return html
Exemplo n.º 6
0
class AddGs(api.Form):
    api.context(Interface)
    fields = api.Fields(IGefahrstoffe)

    ignoreRequest = False
    ignoreContent = False

    def update(self):
        self.formurl = self.context.absolute_url() + '/addgs'

    @api.action('speichern')
    def handle_search(self):
        data, errors = self.extractData()
        if errors:
            ploneapi.portal.show_message(
                message='Bitte korrigieren Sie die angezeigten Fehler.',
                request=self.request,
                type="error")
            return
        url = self.context.absolute_url(
        ) + '/gsadder?gefahrstoff=%s&zeit=%s' % (data.get('gefahrstoff'),
                                                 data.get('zeit'))
        return self.redirect(url)

        url = self.context.absolute_url()
        return self.redirect(url)

    @api.action('abbrechen')
    def handel_cancel(self):
        url = self.context.absolute_url()
        return self.redirect(url)
Exemplo n.º 7
0
class HSImport(api.Page):
    api.context(Interface)

    def update(self):
        book = xlrd.open_workbook("/tmp/Listen_Branche_DP.xls")
        sh = book.sheet_by_index(2)
        for rx in range(1, sh.nrows):
            print sh.row(rx)[0].value
            entry = {}
            obj = ploneapi.content.create(type='Hautschutzmittel',
                                          title=sh.row(rx)[0].value,
                                          container=self.context)
            obj.gefaehrdung = [
                'id_chemisch',
            ]
            kategorie = []
            if u'wechsel' in sh.row(rx)[2].value:
                kategorie.append('id_wechselnd')
            if u'wasserunl' in sh.row(rx)[2].value:
                kategorie.append('id_nichtwasserloeslich')
            if u'wasserl' in sh.row(rx)[2].value:
                kategorie.append('id_wasserloeslich')
            obj.kategorie = kategorie
            obj.inhaltsstoffe = [
                x.strip() for x in sh.row(rx)[3].value.split(',')
            ]
            obj.konservierungsmittel = [
                x.strip() for x in sh.row(rx)[4].value.split(',')
            ]
            obj.bemerkungen = sh.row(rx)[5].value
            transaction.commit()

    def render(self):
        return "Fertig"
Exemplo n.º 8
0
class getWartung(api.View):
    api.context(Interface)

    def render(self):
        alsoProvides(self.request, IDisableCSRFProtection)
        ret = {u'wartung': u'es ist ein Fehler aufgetreten'}
        if not ploneapi.user.is_anonymous():
            user = ploneapi.user.get_current()
            if user:
                roles = ploneapi.user.get_roles(user=user)
                if not 'Manager' in roles:
                    self.request.response.status = 403
                    return u"403:Forbidden"
        else:
            self.request.response.status = 401
            return u"401:Unauthorized"

        registry = getUtility(IRegistry)
        wartung = registry[
            'bgetem.medienshop.settings.IMedienportalSettings.wartung']
        if not wartung:
            wartung = False
        ret = {'wartung': wartung}
        payload = jsonlib2.write(ret)
        return payload
Exemplo n.º 9
0
class NotFound(api.View):
    api.context(zExceptions.NotFound)
    api.name("index.html")

    def render(self):
        self.request.response.status = 404
        return u"404:Not Found"
Exemplo n.º 10
0
class medienBestellung(api.Form):
    """Form fuer die Bestellung"""
    api.context(Interface)
    fields = api.Fields(IBestellung)
    fields['bestellung'].allowOrdering = False
    fields['bestellung'].mode = "vue_input_widget"
    grok.implements(IArtikelListe)

    for field in fields:
        field.prefix = ''
    prefix = ''

    @property
    def portal(self):
        return getToolByName(self.context, 'portal_url').getPortalObject()

    def update(self):
        #Lesen des Cookies aus der Session
        cookie = getCartCookie(self.request)

        #Loeschen von Artikeln in der Session wenn im Formular geloescht wird
        if self.request.form.get('bestellung.remove'):
            requestkeys = self.request.keys()
            for i in requestkeys:
                if i.startswith('bestellung.checked'):
                    fieldid = i.split('.')[-1]
                    delart = self.request.get(
                        'bestellung.field.%s.field.artikel' % fieldid)
                    del cookie[delart]
            setCartCookie(cookie, self.request)
            if not cookie:
                return self.request.response.redirect(
                    self.context.absolute_url())

        #Default - Belegung des Formularfeldes Bestellung
        mydefault = []
        for i in cookie:
            mydefault.append(
                Order(artikel=i,
                      bestellnummer=cookie[i]['bestellung'],
                      beschreibung=cookie[i]['artikel'],
                      anzahl=cookie[i]['menge']))
        self.fields.get('bestellung').defaultValue = mydefault

    @api.action('Mit der Bestellung fortfahren')
    def handle_send(self):
        data, errors = self.extractData()
        if errors:
            # print "GOT ERRORS " + str(errors)
            return
        bestellcookie = {}
        for i in data.get('bestellung'):
            artdict = {}
            artdict['artikel'] = i.beschreibung
            artdict['bestellung'] = i.bestellnummer
            artdict['menge'] = i.anzahl
            bestellcookie[i.artikel] = artdict
        setCartCookie(bestellcookie, self.request)
        url = self.context.absolute_url() + '/loginform'
        self.response.redirect(url)
Exemplo n.º 11
0
class HerstellerOrdnerView(api.Page):
    api.context(IHerstellerOrdner)

    def update(self):
        fc = self.context.getFolderContents(
            contentFilter={'sort_on': 'sortable_title'})
        objlist = []
        for i in fc:
            entry = {}
            obj = i.getObject()
            entry["backrefs"] = createPullDownSnippet(
                back_references(obj, 'hersteller'))
            entry["title"] = obj.title
            entry["anschrift"] = createAddressSnippet(obj.anschrift1,
                                                      obj.anschrift2,
                                                      obj.anschrift3, obj.land,
                                                      obj.telefon, obj.telefax)
            entry["anschrift2"] = obj.anschrift2
            entry["anschrift3"] = obj.anschrift3
            entry["url"] = obj.absolute_url()
            entry["homepage"] = obj.homepage
            entry["email"] = obj.email
            if entry["backrefs"]:
                objlist.append(entry)
        self.objlist = objlist
Exemplo n.º 12
0
class VueCart(grok.View):
    api.context(Interface)

    @property
    def portal(self):
        return getToolByName(self.context, 'portal_url').getPortalObject()

    def getShopUrl(self):
        return self.context.absolute_url_path()

    def is_user(self):
        ret = 'anon'
        userdata = getSessionData(self.request)
        if userdata.get('email'):
            if userdata.get('item')[0].get('MITNR'):
                if userdata.get('item')[0].get('VERIF'):
                    ret = 'mitglied'
            else:
                if userdata.get('item')[0].get('VERIF'):
                    ret = 'notmitglied'
        return ret

    def update(self):
        # Lesen des Cookies aus der Session
        self.dev_vue_url = get_vue_url()
        cookie = getCartCookie(self.request)
        self.cart = json.dumps(cookie)
        print self.cart
Exemplo n.º 13
0
class ResultHautschutz(api.Page):
    api.context(Interface)

    def update(self):
        self.hautschutzmittel = []
        sessiondata = getSessionData(self.request)
        pcat = getToolByName(self.context, 'portal_catalog')
        brains = pcat(UID = sessiondata['hautschutz'])
        for i in brains:
            entry = {}
            obj = i.getObject()
            entry['title'] = obj.title
            entry['url'] = obj.absolute_url()
            entry['uid'] = obj.UID()
            entry['image'] = ''
            if obj.bild:
                entry['image'] = '<img src="%s/@@images/bild/thumb">' % obj.absolute_url()
            entry['cat'] = hskategorieVocabulary.getTerm(obj.kategorie[0]).title
            hersteller = ''
            herstellerurl = ''
            if obj.hersteller:
                if obj.hersteller.to_object:
                    hersteller = obj.hersteller.to_object.title
                    herstellerurl = obj.hersteller.to_object.absolute_url()
            entry['hersteller'] = hersteller
            entry['herstellerurl'] = herstellerurl
            self.hautschutzmittel.append(entry)
Exemplo n.º 14
0
class Kompaktarchiv(Page):
    api.context(Interface)
    grok.layer(IAnonymousLayer)

    def update(self):
        folders = [
            u'dezember-2016',
            u'november-2016',
            u'oktober-2016',
            u'september-2016',
        ]
        archiv = []
        for i in folders:
            portal = ploneapi.portal.get()
            obj = getattr(portal, i)
            magazin = {}
            if obj:
                magazin['title'] = obj.description
                magazin['url'] = obj.absolute_url(
                ) + '/index.html/kompakttitelview'
                magazin['imgurl'] = obj.absolute_url(
                ) + '/medien-dieser-ausgabe/titelbild/@@images/image/thumb'
                print magazin['imgurl']
                titelobj = getattr(obj, u'titelstory')
                magazin['storytitle'] = titelobj.title
                archiv.append(magazin)
        self.archiv = archiv
Exemplo n.º 15
0
class Bildrechte(Page):
    api.context(Interface)
    grok.layer(IAnonymousLayer)

    @property
    def portal_catalog(self):
        return getToolByName(self.context, 'portal_catalog')

    def getImageBrains(self):
        folderid = self.context.aq_parent.id
        path = '/magazin/%s/medien-dieser-ausgabe' % folderid
        return self.portal_catalog(path=path, portal_type='Image')

    def update(self):
        brains = self.getImageBrains()
        self.bildrechte = []
        bildrechte = []
        for i in brains:
            entry = {}
            obj = i.getObject()
            if obj.Rights():
                entry['title'] = obj.Description()
                entry['url'] = obj.absolute_url() + '/@@images/image/thumb'
                entry['rights'] = obj.Rights()
                if not obj.id == u'titelbild':
                    bildrechte.append(entry)
        bildrechte.sort()
        self.bildrechte = bildrechte
Exemplo n.º 16
0
class ShopRedaktion(api.Page):
    api.context(Interface)

    def update(self):
        self.artikelliste = []
        self.anzeige = 'Alle Artikel'
        if not self.request.get('medium'):
            allarts = ploneapi.content.find(portal_type='Artikel',
                                            sort_on='Artikelnummer')
        else:
            allarts = ploneapi.content.find(
                portal_type='Artikel',
                Medienart=self.request.get('medium'),
                sort_on='Artikelnummer')
            self.anzeige = bgetemmedienart.getTerm(
                self.request.get('medium')).title
        self.artikelzahl = len(allarts)
        for i in allarts:
            entry = {}
            obj = i.getObject()
            entry['artikelnummer'] = obj.artikelnummer
            entry['title'] = obj.title
            entry['url'] = obj.absolute_url()
            entry['warengruppe'] = u''
            entry['bestand'] = obj.bestand
            if obj.medienart:
                try:
                    entry['warengruppe'] = bgetemmedienart.getTerm(
                        obj.medienart).title
                except:
                    entry['warengruppe'] = obj.medienart
            entry['workflow'] = i.review_state
            entry['warenkorb'] = obj.absolute_url(
            ) + '/@@tocard?redirect=' + self.context.absolute_url()
            self.artikelliste.append(entry)
Exemplo n.º 17
0
class ChangePassword(api.Form):
    api.context(Interface)
    fields = api.Fields(IChangePassword)

    dataValidators = [NewSamePasswordValidator]

    def update(self):
        self.formurl = ploneapi.portal.get().absolute_url(
        ) + '/medienportal/changepassword'

    @api.action(u'Passwort ändern')
    def change_pw(self):
        data, errors = self.extractData()
        if errors:
            return
        del data['new_password2']
        data['email'] = getSessionData(self.request).get('email', '')
        sapapi = sapshopapi.getAPI()
        retcode = sapapi.updatePassword(**data)
        if retcode.EX_RETURN == 0:
            url = ploneapi.portal.get().absolute_url() + '/medienportal'
            message = u'Ihr Passwort wurde erfolgreich geändert.'
            ploneapi.portal.show_message(message=message,
                                         request=self.request,
                                         type='info')
            return self.response.redirect(url)
        else:
            url = ploneapi.portal.get().absolute_url(
            ) + '/medienportal/changepassword'
            message = u'Fehler beim Ändern Ihres Passwortes. (%s)' % retcode.EX_MESSAGE
            ploneapi.portal.show_message(message=message,
                                         request=self.request,
                                         type='error')
            return self.response.redirect(url)
Exemplo n.º 18
0
class ListHautpflegemittel(api.Page):
    api.context(Interface)

    def update(self):
        brains = ploneapi.content.find(portal_type="Hautpflegemittel", sort_on="sortable_title")

        self.hautpflegemittel = []        
        for i in brains:
            entry = {}
            obj = i.getObject()
            entry['title'] = obj.title
            entry['url'] = obj.absolute_url()
            entry['uid'] = obj.UID()
            entry['image'] = ''
            if obj.bild:
                entry['image'] = '<img src="%s/@@images/bild/thumb">' % obj.absolute_url()
            entry['anwendungsbereich'] = ','.join([anwendungVocabulary.getTerm(i).title for i in obj.anwendungsbereich])
            hersteller = ''
            herstellerurl = ''
            if obj.hersteller:
                if obj.hersteller.to_object:
                    hersteller = obj.hersteller.to_object.title
                    herstellerurl = obj.hersteller.to_object.absolute_url()
            entry['hersteller'] = hersteller
            entry['herstellerurl'] = herstellerurl
            self.hautpflegemittel.append(entry)
Exemplo n.º 19
0
class IsExternalLogin(api.View):
    api.context(Interface)

    def render(self):
        if "https://inwi-rue.bghw.de" in self.request.getURL():
            return True
        return False
Exemplo n.º 20
0
class SchutzhandschuhFilter(api.Viewlet):
    api.context(Interface)
    api.viewletmanager(IBelowContentTitle)

    def available(self):
        if ISchutzhandschuhOrdner.providedBy(self.context):
            return True
        return False

    def getHersteller(self):
        fc = self.context.getFolderContents()
        produkthersteller = []
        for i in fc:
            if i.portal_type in [
                    'Schutzhandschuh', 'Hautreinigungsmittel',
                    'Hautpflegemittel', 'Hautschutzmittel',
                    'Desinfektionsmittel'
            ]:
                obj = i.getObject()
                if obj.hersteller:
                    if (obj.hersteller.to_object.UID(),
                            obj.hersteller.to_object.title
                        ) not in produkthersteller:
                        produkthersteller.append(
                            (obj.hersteller.to_object.UID(),
                             obj.hersteller.to_object.title))
        sorted_produkthersteller = sorted(produkthersteller,
                                          key=lambda tup: tup[1])
        return sorted_produkthersteller

    def update(self):
        self.hersteller = self.getHersteller()
Exemplo n.º 21
0
class FAQTestView(api.Page):
    api.context(Interface)

    def update(self):
        pcat = getToolByName(self.context, 'portal_catalog')
        brains = pcat(portal_type='Document', path="/praevention/oft-gestellte-fragen", sort_on='sortable_title', sort_order='ascending')
        objectlist = []
        for i in brains:
            entry = {}
            myobj = i.getObject()
            url = myobj.absolute_url()
            entry['url'] = myobj.Title()
            mywebcodes = myobj.refwebcodes
            if not mywebcodes:
                mywebcodes = []
            entrylist = []
            for i in mywebcodes:
                 newbrains = pcat(Webcode=i, review_state="published")
                 if newbrains:
                     entrylist.append(i)
            myobj.refwebcodes = entrylist
            transaction.commit()
            entry['codes'] = entrylist
            objectlist.append(entry)
        self.objectlist = objectlist
Exemplo n.º 22
0
class RowCountView(api.Page):
    api.context(Interface)

    def zerleghtml(self, field):
        html = field.raw
        return len(html2text.html2text(html))
        
    def update(self):
        pcat = getToolByName(self.context, 'portal_catalog')
        self.praevdocs = 0
        self.praevdoc_chars = 0
        self.glossars = 0
        self.glossars_chars = 0
        self.folders = 0
        self.folders_chars = 0
        self.docs = 0
        self.docs_chars = 0
        brains = pcat(portal_type = 'bgetem.praevention.dokupraevention')
        for i in brains:
            self.praevdocs += 1
            obj = i.getObject()
            self.praevdoc_chars += len(obj.title.encode('utf-8'))
            if obj.ueberschrift:
                self.praevdoc_chars += len(obj.ueberschrift.encode('utf-8'))
            self.praevdoc_chars += len(obj.description.encode('utf-8'))
            if obj.haupttext:
                self.praevdoc_chars += self.zerleghtml(obj.haupttext)
            if obj.details:
                self.praevdoc_chars += self.zerleghtml(obj.details)
            if obj.zusatzinfos:
                self.praevdoc_chars += self.zerleghtml(obj.details)
        brains = pcat(portal_type = 'Folder')
        for i in brains:
            self.folders += 1
            obj = i.getObject()
            self.folders_chars += len(obj.title.encode('utf-8'))
            self.folders_chars += len(obj.description.encode('utf-8'))
            if obj.text:    
                self.folders_chars += self.zerleghtml(obj.text)
        brains = pcat(portal_type = 'Document')
        for i in brains:
            self.docs += 1
            obj = i.getObject()
            self.docs_chars += len(obj.title.encode('utf-8'))
            self.docs_chars += len(obj.description.encode('utf-8'))
            if obj.text:    
                self.docs_chars += self.zerleghtml(obj.text)

        brains = pcat(portal_type = 'PloneGlossaryDefinition')
        for i in brains:
            self.glossars += 1
            obj = i.getObject()
            self.glossars_chars += len(obj.title.encode('utf-8'))
            self.glossars_chars += len(obj.description.encode('utf-8'))
            self.glossars_chars += len(html2text.html2text(obj.getDefinition().decode('utf-8')))
        self.praevdoc_rows = self.praevdoc_chars/55
        self.glossars_rows = self.glossars_chars/55
        self.folders_rows = self.folders_chars/55
        self.docs_rows = self.docs_chars/55
        self.rowsum = self.praevdoc_rows + self.glossars_rows + self.folders_rows + self.docs_rows
Exemplo n.º 23
0
class ListDesinfektionsmittel(api.Page):
    api.context(Interface)

    def update(self):
        brains = ploneapi.content.find(portal_type="Desinfektionsmittel",
                                       sort_on="sortable_title")

        self.desinfektionsmittel = []
        for i in brains:
            entry = {}
            obj = i.getObject()
            entry['title'] = obj.title
            entry['url'] = obj.absolute_url()
            entry['uid'] = obj.UID()
            entry['image'] = ''
            if obj.bild:
                entry[
                    'image'] = '<img src="%s/@@images/bild/thumb">' % obj.absolute_url(
                    )
            entry['anwendungsbereich'] = desinf_anwendung.getTerm(
                obj.anwendungsbereich).title
            hersteller = ''
            herstellerurl = ''
            if obj.hersteller:
                if obj.hersteller.to_object:
                    hersteller = obj.hersteller.to_object.title
                    herstellerurl = obj.hersteller.to_object.absolute_url()
            entry['hersteller'] = hersteller
            entry['herstellerurl'] = herstellerurl
            self.desinfektionsmittel.append(entry)
Exemplo n.º 24
0
class MyTestView(api.Page):
    api.context(Interface)

    def update(self):
        pcat = getToolByName(self.context, 'portal_catalog')
        brains = pcat(portal_type='PloneGlossaryDefinition', sort_on='sortable_title', sort_order='ascending')
        objectlist = []
        for i in brains:
            entry = {}
            myobj = i.getObject()
            url = myobj.absolute_url()
            entry['url'] = myobj.Title()
            myfield = myobj.getField('refwebcodes')
            mywebcodes = myfield.get(myobj)
            entrylist = []
            for i in mywebcodes:
                 newbrains = pcat(Webcode=i, review_state="published")
                 if newbrains:
                     entrylist.append(i)
            if not entrylist:
                suchbegriff = myobj.Title().replace('(','')
                suchbegriff = suchbegriff.replace(')','')
                suchbegriff = suchbegriff.split(' ')
                brains = pcat.searchResults(portal_type=["Folder", "bgetem.praevention.dokupraevention" ], SearchableText=suchbegriff)
                for i in brains:
                    obj = i.getObject()
                    entrylist.append(obj.webcode)
            myfield.set(myobj, entrylist)
            transaction.commit()
            entry['codes'] = entrylist
            objectlist.append(entry)
        self.objectlist = objectlist
Exemplo n.º 25
0
class ResultDesinfektion(api.Page):
    api.context(Interface)

    def update(self):
        self.desinfektionsmittel = []
        sessiondata = getSessionData(self.request)
        brains = ploneapi.content.find(UID=sessiondata['desinfektion'])
        for i in brains:
            entry = {}
            obj = i.getObject()
            entry['title'] = obj.title
            entry['url'] = obj.absolute_url()
            entry['uid'] = obj.UID()
            entry['image'] = ''
            if obj.bild:
                entry[
                    'image'] = '<img src="%s/@@images/bild/thumb">' % obj.absolute_url(
                    )
            entry['anwendungsbereich'] = desinf_anwendung.getTerm(
                obj.anwendungsbereich).title
            hersteller = ''
            herstellerurl = ''
            if obj.hersteller:
                if obj.hersteller.to_object:
                    hersteller = obj.hersteller.to_object.title
                    herstellerurl = obj.hersteller.to_object.absolute_url()
            entry['hersteller'] = hersteller
            entry['herstellerurl'] = herstellerurl
            self.desinfektionsmittel.append(entry)
Exemplo n.º 26
0
class MedienChecker(api.Page):
    api.context(Interface)

    def render(self):
        allarts = ploneapi.content.find(portal_type='Artikel',
                                        sort_on='Artikelnummer')
        artlist = []
        message = u'<h2>Für folgende Artikel wurden Werte des Medienkonzepts zugeordnet:</h2>'
        message += u'<table class="table table-bordered"><thead><th>#</th><th>Bestellnummer</th><th>Medienkonzept</th></thead><tbody>'
        lfd = 1
        for i in allarts:
            obj = i.getObject()
            if obj.medienkonzept:
                message += '<tr><td>%s</td><td><a href="%s">%s</a></td><td>%s</td></tr>' % (
                    lfd, obj.absolute_url(), obj.artikelnummer,
                    obj.medienkonzept)
                lfd += 1
        message += u'</tbody></table>'
        message += u'<h2>Für folgende Artikel wurden bislang noch keine Werte des Medienkonzepts zugeordnet:</h2>'
        message += u'<table class="table table-bordered"><thead><th>#</th><th>Bestellnummer</th><th>Titel</th></thead><tbody>'
        lfd = 1
        for i in allarts:
            obj = i.getObject()
            if not obj.medienkonzept:
                message += '<tr><td>%s</td><td><a href="%s">%s</a></td><td>%s</td></tr>' % (
                    lfd, obj.absolute_url(), obj.artikelnummer, obj.title)
                lfd += 1
        message += u'</tbody></table>'
        return message
Exemplo n.º 27
0
class ZielgruppenChecker(api.Page):
    api.context(Interface)

    def render(self):
        allarts = ploneapi.content.find(portal_type='Artikel',
                                        sort_on='Artikelnummer')
        artlist = []
        message = u'<h2>Für folgende Artikel wurden Zielgruppen zugeordnet:</h2>'
        message += u'<table class="table table-bordered"><thead><th>#</th><th>Bestellnummer</th><th>Zielgruppen</th></thead><tbody>'
        lfd = 1
        for i in allarts:
            obj = i.getObject()
            if obj.zielgruppen:
                submessage = '<ul>'
                for k in obj.zielgruppen:
                    submessage += '<li>%s</li>' % bgetemzielgruppen.getTerm(
                        k).title
                submessage += '</ul>'
                message += '<tr><td>%s</td><td><a href="%s">%s</a></td><td>%s</td></tr>' % (
                    lfd, obj.absolute_url(), obj.artikelnummer, submessage)
                lfd += 1
        message += u'</tbody></table>'
        message += u'<h2>Für folgende Artikel wurden bislang noch keine Zielgruppen zugeordnet:</h2>'
        message += u'<table class="table table-bordered"><thead><th>#</th><th>Bestellnummer</th><th>Titel</th></thead><tbody>'
        lfd = 1
        for i in allarts:
            obj = i.getObject()
            if not obj.zielgruppen:
                message += '<tr><td>%s</td><td><a href="%s">%s</a></td><td>%s</td></tr>' % (
                    lfd, obj.absolute_url(), obj.artikelnummer, obj.title)
                lfd += 1
        message += u'</tbody></table>'
        return message
Exemplo n.º 28
0
class ImageChecker(api.Page):
    api.context(Interface)

    def render(self):
        allarts = ploneapi.content.find(portal_type='Artikel',
                                        sort_on='Artikelnummer')
        artlist = []
        message = u'<h2>Für folgende Artikel wurden Bilder zugeordnet:</h2>'
        message += u'<table class="table table-bordered"><thead><th>#</th><th>Bestellnummer</th><th>Dateiname</th><th>Dateigroesse</th></thead><tbody>'
        lfd = 1
        for i in allarts:
            obj = i.getObject()
            if obj.titelbild:
                message += '<tr><td>%s</td><td><a href="%s">%s</a></td><td>%s</td><td>%s</td></tr>' % (
                    lfd, obj.absolute_url(), obj.artikelnummer,
                    obj.titelbild.filename, obj.titelbild.size)
                lfd += 1
        message += u'</tbody></table>'

        message += u'<h2>Für folgende Artikel wurden bislang keine Bilder zugeordnet:</h2>'
        message += u'<table class="table table-bordered"><thead><th>#</th><th>Bestellnummer</th><th>Titel</th></thead><tbody>'
        lfd = 1
        for i in allarts:
            obj = i.getObject()
            if not obj.titelbild:
                message += '<tr><td>%s</td><td><a href="%s">%s</a></td><td>%s</td></tr>' % (
                    lfd, obj.absolute_url(), obj.artikelnummer, obj.title)
                lfd += 1
        message += u'</tbody></table>'
        return message
Exemplo n.º 29
0
class LearningView(api.Page):
    api.context(Interface)

    def mydiff(self, html_1, html_2):
	diff_html = ""
	theDiffs = difflib.ndiff(html_1.splitlines(), html_2.splitlines())
	for eachDiff in theDiffs:
	    if (eachDiff[0] == "-"):
		diff_html += "<del>%s</del>" % eachDiff[1:].strip()
	    elif (eachDiff[0] == "+"):
		diff_html += "<ins>%s</ins>" % eachDiff[1:].strip()
        return diff_html


    def update(self):
        testhtml = '<html></html>'
        orightml = '<html></html>'
        muster = ploneapi.content.find(Webcode=self.context.muster)
        if muster:
            doc = muster[0].getObject()
            orightml = doc.text.raw

        if self.context.text:
            testhtml = self.context.text.raw

        compare = pagediff(testhtml, orightml)
        soup = BeautifulSoup(compare, 'html.parser')
        dels = soup.find_all('del')
        inss = soup.find_all('ins')

        self.htmldiffs = []
        for i, k in zip(dels, inss):
            self.htmldiffs.append((i, k))
       
        self.comments = []
        if not self.htmldiffs:
            commentdict = {'table': u'Bitte schauen Sie sich die Tabellenkonfiguration an.',
                           'thead': u'Bitte schauen Sie sich die Konfiguration der Kopfzeile an.',
                           'th': u'Bitte schauen Sie sich die Konfiguration der Kopfzellen an.'}
            elements = {}
            elements['table'] = False
            elements['thead'] = False
            elements['th'] = False
            compare = self.mydiff(testhtml, orightml)
            soup = BeautifulSoup(compare, 'html.parser')
            dels = soup.find_all('del')
            inss = soup.find_all('ins')
            diffs = dels + inss
            for i in diffs:
                if 'table' in str(i):
                    elements['table'] = True
                if 'thead' in str(i):
                    elements['thead'] = True
                if 'th' in str(i):
                    elements['th'] = True

            for i in elements:
                if elements[i]:
                    self.comments.append(commentdict[i])
Exemplo n.º 30
0
class MedienImport(api.Page):
    api.context(Interface)

    def readAllArticle(self):
        allarts = ploneapi.content.find(portal_type='Artikel',
                                        sort_on='Artikelnummer')
        normids = []
        for i in allarts:
            obj = i.getObject()
            artikelnummer = obj.artikelnummer
            art = artikelnummer.lower().strip()
            art = art.replace(' ', '')
            art = art.replace('-', '')
            art = art.replace('_', '')
            normids.append((art, artikelnummer))
        return normids

    def update(self):
        normids = self.readAllArticle()
        book = xlrd.open_workbook(basepath + "/medienkonzept.xls")
        sh = book.sheet_by_index(0)
        goodlist = []
        falselist = []
        notfound = []
        doublelist = []
        for rx in range(1, sh.nrows):
            excelartikel = sh.row(rx)[0].value
            if excelartikel:
                normartikel = excelartikel.lower().strip()
                normartikel = normartikel.replace(' ', '')
                normartikel = normartikel.replace('-', '')
                normartikel = normartikel.replace('_', '')
                checklist = []
                for normid in normids:
                    if normid[0] == normartikel:
                        values = []
                        for i in range(1, 4):
                            if sh.row(rx)[i].value.strip().lower() == u'x':
                                values.append(mediendict.get(i))
                        brains = ploneapi.content.find(portal_type='Artikel',
                                                       Artikelnummer=normid[1])
                        if len(brains) == 1:
                            brain = brains[0]
                            obj = brain.getObject()
                            print obj.artikelnummer, values
                            if self.request.get('action'):
                                if values:
                                    obj.medienkonzept = values[0]
                                    import transaction
                                    transaction.savepoint(optimistic=True)
                            goodlist.append(excelartikel)
        for rx in range(1, sh.nrows):
            excelartikel = sh.row(rx)[0].value
            if excelartikel and excelartikel not in goodlist:
                falselist.append((rx + 1, excelartikel))
        self.dataset = sh.nrows - 1
        self.goodlistcount = len(goodlist)
        self.falselistcount = len(falselist)
        self.falselist = falselist