Exemplo n.º 1
0
    def copy_collections(self, collection_ids):
        result = {'status': -1, 'message': ''}
        try:
            for doc2 in self.get_shared_search_collections():
                if doc2.id in collection_ids:
                    name = doc2.name + '-copy'
                    copy_doc = doc2.doc.get().copy(name=name, owner=self.user)

                    doc2.pk = None
                    doc2.id = None
                    doc2.uuid = str(uuid.uuid4())
                    doc2.name = name
                    doc2.owner = self.user
                    doc2.save()

                    doc2.doc.all().delete()
                    doc2.doc.add(copy_doc)
                    doc2.save()

                    copy = Collection2(self.user, document=doc2)
                    copy.data['collection']['label'] = name

                    doc2.update_data({'collection': copy.data['collection']})
                    doc2.save()
            result['status'] = 0
        except Exception, e:
            print e
            LOG.warn('Error copying collection: %s' % e)
            result['message'] = unicode(str(e), "utf8")
Exemplo n.º 2
0
def new_search(request, is_embeddable=False):
  collections = SearchController(request.user).get_all_indexes()
  if not collections:
    return no_collections(request)

  collection = Collection2(user=request.user, name=collections[0])
  query = {'qs': [{'q': ''}], 'fqs': [], 'start': 0}

  template = 'search.mako'
  if is_embeddable:
    template = 'search_embeddable.mako'

  return render(template, request, {
    'collection': collection,
    'query': query,
    'initial': json.dumps({
         'collections': collections,
         'layout': [
              {"size":2,"rows":[{"widgets":[]}],"drops":["temp"],"klass":"card card-home card-column span2"},
              {"size":10,"rows":[{"widgets":[
                  {"size":12,"name":"Filter Bar","widgetType":"filter-widget", "id":"99923aef-b233-9420-96c6-15d48293532b",
                   "properties":{},"offset":0,"isLoading":True,"klass":"card card-widget span12"}]},
                                 {"widgets":[
                  {"size":12,"name":"Grid Results","widgetType":"resultset-widget", "id":"14023aef-b233-9420-96c6-15d48293532b",
                   "properties":{},"offset":0,"isLoading":True,"klass":"card card-widget span12"}]}],
                 "drops":["temp"],"klass":"card card-home card-column span10"},
         ],
         'is_latest': LATEST.get(),
     }),
    'is_owner': True,
    'can_edit_index': can_edit_index(request.user)
  })
Exemplo n.º 3
0
def browse(request, name, is_mobile=False):
  collections = SearchController(request.user).get_all_indexes()
  if not collections:
    return no_collections(request)

  collection = Collection2(user=request.user, name=name)
  query = {'qs': [{'q': ''}], 'fqs': [], 'start': 0}

  template = 'search.mako'
  if is_mobile:
    template = 'search_m.mako'

  return render(template, request, {
    'collection': collection,
    'query': query,
    'initial': json.dumps({
      'autoLoad': True,
      'collections': collections,
      'layout': [
          {"size":12,"rows":[{"widgets":[
              {"size":12,"name":"Grid Results","id":"52f07188-f30f-1296-2450-f77e02e1a5c0","widgetType":"resultset-widget",
               "properties":{},"offset":0,"isLoading":True,"klass":"card card-widget span12"}]}],
          "drops":["temp"],"klass":"card card-home card-column span10"}
      ],
      'is_latest': LATEST.get()
    }),
    'is_owner': True,
    'can_edit_index': can_edit_index(request.user),
    'mobile': is_mobile
  })
Exemplo n.º 4
0
def new_search(request):
    collections = SearchController(request.user).get_all_indexes()
    if not collections:
        return no_collections(request)

    collection = Collection2(user=request.user, name=collections[0])
    query = {'qs': [{'q': ''}], 'fqs': [], 'start': 0}

    return render(
        'search.mako', request, {
            'collection':
            collection,
            'query':
            query,
            'initial':
            json.dumps({
                'collections':
                collections,
                'layout': [
                    {
                        "size": 2,
                        "rows": [{
                            "widgets": []
                        }],
                        "drops": ["temp"],
                        "klass": "card card-home card-column span2"
                    },
                    {
                        "size":
                        10,
                        "rows": [{
                            "widgets": [{
                                "size": 12,
                                "name": "Filter Bar",
                                "widgetType": "filter-widget",
                                "properties": {},
                                "offset": 0,
                                "isLoading": True,
                                "klass": "card card-widget span12"
                            }]
                        }, {
                            "widgets": [{
                                "size": 12,
                                "name": "Grid Results",
                                "widgetType": "resultset-widget",
                                "properties": {},
                                "offset": 0,
                                "isLoading": True,
                                "klass": "card card-widget span12"
                            }]
                        }],
                        "drops": ["temp"],
                        "klass":
                        "card card-home card-column span10"
                    },
                ]
            }),
            'is_owner':
            True
        })
Exemplo n.º 5
0
  def copy_collections(self, collection_ids):
    result = {'status': -1, 'message': ''}
    try:
      for doc2 in self.get_shared_search_collections():
        if doc2.id in collection_ids:
          name = doc2.name + '-copy'

          doc2.pk = None
          doc2.id = None
          doc2.uuid = str(uuid.uuid4())
          doc2.name = name
          doc2.owner = self.user
          doc2.save()

          copy_doc = Document.objects.link(doc2,
              owner=copy.owner,
              name=copy.name,
              description=copy.description)

          copy = Collection2(self.user, document=doc2)
          copy.data['collection']['label'] = name

          doc2.update_data({'collection': copy.data['collection']})
          doc2.save()
      result['status'] = 0
    except Exception, e:
      LOG.exception('Error copying collection')
      result['message'] = unicode(str(e), "utf8")
Exemplo n.º 6
0
    def copy_collections(self, collection_ids):
        result = {'status': -1, 'message': ''}
        try:
            for collection in self.get_shared_search_collections().filter(
                    id__in=collection_ids):
                doc2 = Document2.objects.get(type='search-dashboard',
                                             id=collection.id)

                name = doc2.name + '-copy'
                copy_doc = doc2.doc.get().copy(name=name, owner=self.user)

                doc2.pk = None
                doc2.id = None
                doc2.uuid = str(uuid.uuid4())
                doc2.name = name
                doc2.owner = self.user
                doc2.save()

                doc2.doc.all().delete()
                doc2.doc.add(copy_doc)
                doc2.save()

                copy = Collection2(document=doc2)
                copy['collection']['label'] = name

                doc2.update_data({'collection': copy['collection']})
                doc2.save()
            result['status'] = 0
        except Exception, e:
            LOG.warn('Error copying collection: %s' % e)
            result['message'] = unicode(str(e), "utf8")
Exemplo n.º 7
0
    def test_query(self):
        collection = Collection2(user=self.user, name='log_analytics_demo')
        collection = json.loads(collection.get_json(self.user))

        query = {'qs': [{'q': ''}], 'fqs': [], 'start': 0}

        SolrApi(SOLR_URL.get(), self.user).query(collection['collection'],
                                                 query)
Exemplo n.º 8
0
def index(request):
  hue_collections = SearchController(request.user).get_search_collections()
  collection_id = request.GET.get('collection')

  if not hue_collections or not collection_id:
    return admin_collections(request, True)

  try:
    collection_doc = Document2.objects.get(id=collection_id)
    collection_doc.doc.get().can_read_or_exception(request.user)
    collection = Collection2(request.user, document=collection_doc)
  except Exception, e:
    raise PopupException(e, title=_("Dashboard does not exist or you don't have the permission to access it."))
Exemplo n.º 9
0
def get_collection(request):
  result = {'status': -1, 'message': ''}

  try:
    name = request.POST['name']

    collection = Collection2(request.user, name=name)
    collection_json = collection.get_json(request.user)

    result['collection'] = json.loads(collection_json)
    result['status'] = 0

  except Exception, e:
    result['message'] = force_unicode(e)
Exemplo n.º 10
0
  def copy_collections(self, collection_ids):
    result = {'status': -1, 'message': ''}
    try:
      for doc2 in self.get_shared_search_collections():
        if doc2.id in collection_ids:
          doc2 = Document2.objects.get(uuid=doc2.uuid)
          doc = doc2.doc.get()

          name = doc2.name + '-copy'
          doc2 = doc2.copy(name=name, owner=self.user)

          doc.copy(content_object=doc2, name=name, owner=self.user)

          collection = Collection2(self.user, document=doc2)
          collection.data['collection']['label'] = name

          doc2.update_data({'collection': collection.data['collection']})
          doc2.save()
      result['status'] = 0
    except Exception, e:
      LOG.exception('Error copying collection')
      result['message'] = unicode(str(e), "utf8")