示例#1
0
 def __init__(self):
     self.__portal = None
     action = formData.get("verb")
     if action == "create_view":
         fq = [q for q in sessionState.get("fq") if q != 'item_type:"object"']
         if fq == []:
             name = "new"
             desc = "New View"
             query = ""
         else:
             name = ""
             desc = ""
             query = str(" ".join(fq))
         newPortal = Portal(name, desc, query)
         newPortal.setFacetFields(Services.portalManager.default.facetFields)
         newPortal.setQuery(query)
         self.__portal = newPortal
     else:
         portalName = formData.get("portalName")
         print " * settings.py: portalName=%s, portalId=%s" % (portalName, portalId)
         if portalName is None or (formData.get("portalAction") == "Cancel"):
             self.__portal = Services.portalManager.get(portalId)
         else:
             self.__portal = Portal()
             self.__portal.name = portalName
             Services.portalManager.add(self.__portal)
         if formData.get("portalAction") == "Update":
             self.__updatePortal()
         if formData.get("emailAction") == "Update":
             self.__updateEmail()
         if formData.get("backupAction") == "Update":    
             self.__updateBackupPaths()
示例#2
0
    def __activate__(self, context):
        self.velocityContext = context

        self.__portal = None
        action = self.vc("formData").get("verb")
        if action == "create_view":
            fq = [q for q in self.vc("sessionState").get("fq") if q != 'item_type:"object"']
            if fq == []:
                name = "new"
                desc = "New View"
                query = ""
            else:
                name = ""
                desc = ""
                query = str(" ".join(fq))
            newPortal = Portal(name, desc, query)
            newPortal.setFacetFields(Services.portalManager.default.facetFields)
            newPortal.setQuery(query)
            self.__portal = newPortal
        else:
            portalName = self.vc("formData").get("portalName")
            print " * settings.py: portalName=%s, portalId=%s" % (portalName, self.vc("portalId"))
            if portalName is None or (self.vc("formData").get("portalAction") == "Cancel"):
                self.__portal = Services.portalManager.get(self.vc("portalId"))
            else:
                self.__portal = Portal()
                self.__portal.name = portalName
                Services.portalManager.add(self.__portal)
            if self.vc("formData").get("portalAction") == "Update":
                self.__updatePortal()
            if self.vc("formData").get("emailAction") == "Update":
                self.__updateEmail()
示例#3
0
 def __init__(self):
     print " * view.py: formData=%s" % formData
     result = "{}"
     portalManager = Services.getPortalManager()
     func = formData.get("func")
     if func == "create-view":
         id = formData.get("id")
         description = formData.get("description")
         fq = [q for q in sessionState.get("fq") if q != 'item_type:"object"']
         query = str(" OR ".join(fq))
         searchQuery = sessionState.get("searchQuery")
         portal = Portal(id)
         portal.setDescription(description)
         portal.setQuery(query)
         portal.setSearchQuery(searchQuery)
         portal.setFacetFields(portalManager.getDefault().getFacetFields())
         portalManager.add(portal)
         portalManager.save(portal)
         result = '{ url: "%s/%s/home" }' % (contextPath, id)
     elif func == "delete-view":
         print " * view.py: delete portal %s" % portalId
         Services.getPortalManager().remove(portalId)
     writer = response.getPrintWriter("text/plain; charset=UTF-8")
     writer.println(result)
     writer.close()
示例#4
0
 def __activate__(self, context):
     response = context["response"]
     writer = response.getPrintWriter("text/plain; charset=UTF-8")
     auth = context["page"].authentication
     result = JsonSimple()
     obj = result.getJsonObject()
     obj.put("status", "error")
     obj.put("message", "An unknown error has occurred")
     if auth.is_logged_in():
         services = context["Services"]
         formData = context["formData"]
         sessionState = context["sessionState"]
         urlBase = context["urlBase"]
         if urlBase.endswith("/"):
             urlBase = urlBase[:-1]
         func = formData.get("func")
         portalManager = services.portalManager
         if func == "create-view":
             try:
                 fq = [q for q in sessionState.get("fq") if q != 'item_type:"object"']
                 id = formData.get("id")
                 description = formData.get("description")
                 print "Creating view '%s': '%s'" % (id, description)
                 portal = Portal(id)
                 portal.setDescription(formData.get("description"))
                 portal.setQuery(" OR ".join(fq))
                 portal.setSearchQuery(sessionState.get("searchQuery"))
                 portal.setFacetFields(portalManager.default.facetFields)
                 portalManager.add(portal)
                 portalManager.save(portal)
                 obj.put("status", "ok")
                 obj.put("message", "View '%s' successfully created" % id)
                 obj.put("url", "%s/%s/home" % (urlBase, id))
             except Exception, e:
                 response.setStatus(500)
                 obj.put("message", str(e))
         elif func == "delete-view":
             defaultPortal = context["defaultPortal"]
             portalId = formData.get("view")
             if auth.is_admin():
                 if not portalId:
                     response.setStatus(500)
                     obj.put("message", "No view specified to be deleted")
                 elif portalId != defaultPortal:
                     # sanity check: don't delete default portal
                     print "Deleting view '%s'" % portalId
                     try:
                         portalManager.remove(portalId)
                         obj.put("status", "ok")
                         obj.put("message", "View '%s' successfully removed" % portalId)
                         obj.put("url", "%s/%s/home" % (urlBase, defaultPortal))
                     except Exception, e:
                         obj.put("message", str(e))
                 else:
                     response.setStatus(500)
                     obj.put("message", "The default view cannot be deleted")
             else:
                 response.setStatus(403)
                 obj.put("message", "Only administrative users can access this API")