Ejemplo n.º 1
0
    def _job(self,o):
        if o.job:
            return o.job.pk
        else:
            return ''
    _job.short_description = "Job"
    _job.admin_order_field = "job__pk"

    def has_add_permission(self,request):
        return False

    def has_delete_permission(self,request,obj=None):
        return False

    def get_search_results(self,request,queryset,search_term):
        try:
            #import ipdb; ipdb.set_trace()
            job_id = int(search_term)
            return self.model.objects.filter(job_id = job_id).order_by("start_time"),False
        except:
            return super(JobLogAdmin,self).get_search_results(request,queryset,search_term)

    class Media:
        js = ('/static/js/admin-model-readonly.js',)

site.register(Job, JobAdmin)
#site.register(FailingJob, FailingJobAdmin)
site.register(RunningJob, RunningJobAdmin)
site.register(EffectiveJob, EffectiveJobAdmin)
site.register(JobLog, JobLogAdmin)
Ejemplo n.º 2
0
        try:
            server = WmsServer.objects.get(pk = search_term)
            return self.model.objects.filter(server = server).order_by("name"),False
        except:
            return super(AbstractWmsLayerAdmin,self).get_search_results(request,queryset,search_term)

    actions = ['publish','empty_gwc','unpublish']
    def get_actions(self, request):
        #import ipdb;ipdb.set_trace()
        actions = super(AbstractWmsLayerAdmin, self).get_actions(request)
        del actions['delete_selected']
        return actions 

class WmsLayerAdmin(AbstractWmsLayerAdmin):
    pass

class PublishedWmsLayerAdmin(AbstractWmsLayerAdmin):
    def get_queryset(self,request):
        qs = super(PublishedWmsLayerAdmin,self).get_queryset(request)
        return qs.filter(status__in = [ResourceStatus.PUBLISHED,ResourceStatus.UPDATED])

class InterestedWmsLayerAdmin(AbstractWmsLayerAdmin):
    def get_queryset(self,request):
        qs = super(InterestedWmsLayerAdmin,self).get_queryset(request)
        return qs.exclude(status = ResourceStatus.NEW,last_modify_time = None)

site.register(WmsServer, WmsServerAdmin)
site.register(WmsLayer, WmsLayerAdmin)
site.register(PublishedWmsLayer, PublishedWmsLayerAdmin)
site.register(InterestedWmsLayer, InterestedWmsLayerAdmin)
Ejemplo n.º 3
0
class Application_LayersAdmin(VersionAdmin):
    list_display = ("application", "_publish", "_wmslayer", "order")
    #actions = [instantiate]
    search_fields = ["application__name", "publish__name", "wmslayer__name"]

    form = Application_LayersForm

    ordering = ['application', 'order', 'publish__name', 'wmslayer__name']

    def _publish(self, o):
        if o.publish:
            return "<a href='/tablemanager/publish/{0}/'>{1}</a>".format(
                o.publish.pk, o.publish.name)
        else:
            return ""
    _publish.allow_tags = True
    _publish.short_description = "Publish"

    def _wmslayer(self, o):
        if o.wmslayer:
            return "<a href='/wmsmanager/wmslayer/{0}/'>{1}</a>".format(
                o.wmslayer.pk, o.wmslayer.name)
        else:
            return ""
    _wmslayer.allow_tags = True
    _wmslayer.short_description = "WMS Layer"

site.register(Application, ApplicationAdmin)
site.register(Application_Layers, Application_LayersAdmin)
Ejemplo n.º 4
0
    _sync_message.short_description = "Sync Message"

    def has_add_permission(self, request):
        return False


class TaskSyncStatusAdmin(admin.ModelAdmin):
    list_display = ("id", "slave_server", "task_type", "task_name", "action",
                    "sync_succeed", "sync_time")
    readonly_fields = ("id", "slave_server", "task_type", "task_name",
                       "action", "sync_succeed", "sync_time", "_sync_message")
    search_fields = ("slave_server__name", "task_type", "task_name")
    list_filter = ("slave_server", )

    def _sync_message(self, o):
        if o.sync_message:
            return "<p style='white-space:pre'>" + o.sync_message + "</p>"
        else:
            return ''

    _sync_message.allow_tags = True
    _sync_message.short_description = "Sync Message"

    def has_add_permission(self, request):
        return False


site.register(SlaveServer, SlaveServerAdmin)
site.register(PublishSyncStatus, PublishSyncStatusAdmin)
site.register(TaskSyncStatus, TaskSyncStatusAdmin)
Ejemplo n.º 5
0
        if failed_objects or warning_message:
            if failed_objects:
                if warning_message:
                    messages.warning(request, mark_safe("<ul><li>{0}</li><li>Some selected layers are processed failed:<ul>{1}</ul></li></ul>".format(warning_message,"".join(["<li>{0} : {1}</li>".format(o[0],o[1]) for o in failed_objects]))))
                else:
                    messages.warning(request, mark_safe("Some selected layers are processed failed:<ul>{0}</ul>".format("".join(["<li>{0} : {1}</li>".format(o[0],o[1]) for o in failed_objects]))))
            else:
                messages.warning(request, mark_safe(warning_message))
        else:
            messages.success(request, "All selected layers are processed successfully.")

    def get_search_results(self,request,queryset,search_term):
        try:
            datasource = Datasource.objects.get(pk = search_term)
            return self.model.objects.filter(datasource = datasource).order_by("name"),False
        except:
            return super(SqlViewLayerAdmin,self).get_search_results(request,queryset,search_term)

    actions = ['publish','empty_gwc','unpublish','refresh']
    def get_actions(self, request):
        #import ipdb;ipdb.set_trace()
        actions = super(SqlViewLayerAdmin, self).get_actions(request)
        return actions 


site.register(Datasource, DatasourceAdmin)
site.register(Layer, LayerAdmin)
site.register(SqlViewLayer, SqlViewLayerAdmin)
site.register(PublishedLayer, PublishedLayerAdmin)
Ejemplo n.º 6
0
    actions = ['publish', 'empty_gwc', 'unpublish']

    def get_actions(self, request):
        #import ipdb;ipdb.set_trace()
        actions = super(AbstractWmsLayerAdmin, self).get_actions(request)
        del actions['delete_selected']
        return actions


class WmsLayerAdmin(AbstractWmsLayerAdmin):
    pass


class PublishedWmsLayerAdmin(AbstractWmsLayerAdmin):
    def get_queryset(self, request):
        qs = super(PublishedWmsLayerAdmin, self).get_queryset(request)
        return qs.filter(
            status__in=[ResourceStatus.PUBLISHED, ResourceStatus.UPDATED])


class InterestedWmsLayerAdmin(AbstractWmsLayerAdmin):
    def get_queryset(self, request):
        qs = super(InterestedWmsLayerAdmin, self).get_queryset(request)
        return qs.exclude(status=ResourceStatus.NEW, last_modify_time=None)


site.register(WmsServer, WmsServerAdmin)
site.register(WmsLayer, WmsLayerAdmin)
site.register(PublishedWmsLayer, PublishedWmsLayerAdmin)
site.register(InterestedWmsLayer, InterestedWmsLayerAdmin)
Ejemplo n.º 7
0
                return "<a href='/tablemanager/publish/?q={1}'>{0}:{1}</a>".format(*o.task_name.split(':'))
            elif o.task_type == "wms store":
                return "<a href='/wmsmanager/wmsserver/?q={1}'>{0}:{1}</a>".format(*o.task_name.split(':'))
            elif o.task_type == "wms layer":
                return "<a href='/wmsmanager/interestedwmslayer/?q={1}'>{0}:{1}</a>".format(*o.task_name.split(':'))
            elif o.task_type == "layergroup":
                return "<a href='/layergroup/layergroup/?q={1}'>{0}:{1}</a>".format(*o.task_name.split(':'))
            else:
                return o.task_name
        else:
            return ""

    _task_name.allow_tags = True
    _task_name.short_description = "Task name"

    def _sync_message(self,o):
        if o.sync_message:
            return "<p style='white-space:pre'>" + o.sync_message + "</p>"
        else:
            return ''

    _sync_message.allow_tags = True
    _sync_message.short_description = "Sync Message"

    def has_add_permission(self,request):
        return False

site.register(SlaveServer, SlaveServerAdmin)
site.register(PublishSyncStatus, PublishSyncStatusAdmin)
site.register(TaskSyncStatus, TaskSyncStatusAdmin)
Ejemplo n.º 8
0
            result = JobStatemachine.create_job(publish.id,Manually.instance(),job_batch_id)
            if not result[0]:
                failed_objects.append(("{0}:{1}".format(publish.workspace.name,publish.name),result[1]))

        if failed_objects:
            messages.warning(request, mark_safe("Create job failed for some selected publishs:<ul>{0}</ul>".format("".join(["<li>{0} : {1}</li>".format(o[0],o[1]) for o in failed_objects]))))
        else:
            messages.success(request, "Create job successfully for all selected publishs")

    create_harvest_job.short_description = "Create Harvest Job Manually"
    
    actions = ['enable_publish','disable_publish','create_harvest_job','publish_meta_data']
    def get_actions(self, request):
        #import ipdb;ipdb.set_trace()
        actions = super(PublishAdmin, self).get_actions(request)
        self.default_delete_action = actions['delete_selected']
        del actions['delete_selected']
        actions['delete_selected'] = (PublishAdmin.custom_delete_selected,self.default_delete_action[1],self.default_delete_action[2])
        return actions 

    
site.register(Workspace, WorkspaceAdmin)
site.register(ForeignServer, ForeignServerAdmin)
site.register(ForeignTable, ForeignTableAdmin)
site.register(Input, InputAdmin)
site.register(Publish, PublishAdmin)
site.register(Normalise, NormaliseAdmin)
site.register(NormalTable, NormalTableAdmin)
site.register(PublishChannel, PublishChannelAdmin)
site.register(DataSource, DataSourceAdmin)
Ejemplo n.º 9
0
        self.default_delete_action = actions['delete_selected']
        del actions['delete_selected']
        actions['delete_selected'] = (LayerGroupAdmin.custom_delete_selected,self.default_delete_action[1],self.default_delete_action[2])
        return actions 

class LayerGroupLayersAdmin(admin.ModelAdmin):
    list_display = ("id","_group","order" ,"_wmslayer")
    readonly_fields = ()
    search_fields = ["group__name","layer__name"]
    ordering = ["group","order"]

    form = LayerGroupLayersForm

    def _group(self,o):
        return "<a href='/layergroup/layergroup/{0}/'>{1}</a>".format(o.group.pk,o.group.name)

    _group.allow_tags = True
    _group.short_description = "Group"

    def _wmslayer(self,o):
        if o.layer:
            return "<a href='/wmsmanager/wmslayer/{0}'>{1}</a>".format(o.layer.pk,o.layer.name)
        else:
            return ""
    _wmslayer.allow_tags = True
    _wmslayer.short_description = "WMS Layer"
    _wmslayer.admin_order_field = "layer__name"

site.register(LayerGroup, LayerGroupAdmin)
site.register(LayerGroupLayers, LayerGroupLayersAdmin)
Ejemplo n.º 10
0
class SyncLogAdmin(admin.ModelAdmin):
    list_display = ("sync_time", "automatic", "load_status", "commit_status",
                    "push_status", "end_time")
    readonly_fields = ("sync_time", "automatic", "load_status",
                       "commit_status", "push_status", "end_time", "_message")
    actions = None

    def _message(self, o):
        if o.message:
            return "<p style='white-space:pre'>" + o.message + "</p>"
        else:
            return ''

    _message.allow_tags = True
    _message.short_description = "Message"

    def has_add_permission(self, request):
        return False

    def has_delete_permission(self, request, obj=None):
        return False

    class Media:
        js = ('/static/js/admin-model-readonly.js', )


site.register(User, UserAdmin)
site.register(Role, RoleAdmin)
site.register(SyncLog, SyncLogAdmin)
Ejemplo n.º 11
0
class LayerGroupLayersAdmin(admin.ModelAdmin):
    list_display = ("id", "_group", "order", "_wmslayer")
    readonly_fields = ()
    search_fields = ["group__name", "layer__name"]
    ordering = ["group", "order"]

    form = LayerGroupLayersForm

    def _group(self, o):
        return "<a href='/layergroup/layergroup/{0}/'>{1}</a>".format(
            o.group.pk, o.group.name)

    _group.allow_tags = True
    _group.short_description = "Group"

    def _wmslayer(self, o):
        if o.layer:
            return "<a href='/wmsmanager/wmslayer/{0}'>{1}</a>".format(
                o.layer.pk, o.layer.name)
        else:
            return ""

    _wmslayer.allow_tags = True
    _wmslayer.short_description = "WMS Layer"
    _wmslayer.admin_order_field = "layer__name"


site.register(LayerGroup, LayerGroupAdmin)
site.register(LayerGroupLayers, LayerGroupLayersAdmin)
Ejemplo n.º 12
0
        if failed_objects or warning_message:
            if failed_objects:
                if warning_message:
                    messages.warning(request, mark_safe("<ul><li>{0}</li><li>Some selected publishs are processed failed:<ul>{1}</ul></li></ul>".format(warning_message,"".join(["<li>{0} : {1}</li>".format(o[0],o[1]) for o in failed_objects]))))
                else:
                    messages.warning(request, mark_safe("Some selected publishs are processed failed:<ul>{0}</ul>".format("".join(["<li>{0} : {1}</li>".format(o[0],o[1]) for o in failed_objects]))))
            else:
                messages.warning(request, mark_safe(warning_message))
        else:
            messages.success(request, "All selected publishs are processed successfully.")

    empty_gwc.short_description = "Empty GWC"

    actions = ['enable_publish','disable_publish','create_harvest_job','publish_meta_data','empty_gwc']
    def get_actions(self, request):
        #import ipdb;ipdb.set_trace()
        actions = super(PublishAdmin, self).get_actions(request)
        self.default_delete_action = actions['delete_selected']
        del actions['delete_selected']
        actions['delete_selected'] = (PublishAdmin.custom_delete_selected,self.default_delete_action[1],self.default_delete_action[2])
        return actions 

site.register(Workspace, WorkspaceAdmin)
site.register(ForeignTable, ForeignTableAdmin)
site.register(Input, InputAdmin)
site.register(Publish, PublishAdmin)
site.register(Normalise, NormaliseAdmin)
site.register(NormalTable, NormalTableAdmin)
site.register(PublishChannel, PublishChannelAdmin)
site.register(DataSource, DataSourceAdmin)
Ejemplo n.º 13
0
    class Media:
        js = ('/static/js/admin-model-readonly.js',)

class SyncLogAdmin(admin.ModelAdmin):
    list_display = ("sync_time","automatic", "load_status","commit_status","push_status","end_time")
    readonly_fields = ("sync_time","automatic", "load_status","commit_status","push_status","end_time","_message")
    actions = None

    def _message(self,o):
        if o.message:
            return "<p style='white-space:pre'>" + o.message + "</p>"
        else:
            return ''

    _message.allow_tags = True
    _message.short_description = "Message"

    def has_add_permission(self,request):
        return False

    def has_delete_permission(self,request,obj=None):
        return False

    class Media:
        js = ('/static/js/admin-model-readonly.js',)


site.register(User, UserAdmin)
site.register(Role, RoleAdmin)
site.register(SyncLog, SyncLogAdmin)
Ejemplo n.º 14
0
                messages.warning(request, mark_safe(warning_message))
        else:
            messages.success(request, "All selected layers are processed successfully.")

    def get_search_results(self,request,queryset,search_term):
        try:
            datasource = Datasource.objects.get(pk = search_term)
            return self.model.objects.filter(datasource = datasource).order_by("name"),False
        except:
            return super(AbstractLayerAdmin,self).get_search_results(request,queryset,search_term)

    actions = ['publish','empty_gwc','unpublish','refresh']
    def get_actions(self, request):
        #import ipdb;ipdb.set_trace()
        actions = super(AbstractLayerAdmin, self).get_actions(request)
        del actions['delete_selected']
        return actions 

class LayerAdmin(AbstractLayerAdmin):
    pass

class PublishedLayerAdmin(AbstractLayerAdmin):
    def get_queryset(self,request):
        qs = super(PublishedLayerAdmin,self).get_queryset(request)
        return qs.filter(status__in = ResourceStatus.published_status)


site.register(Datasource, DatasourceAdmin)
site.register(Layer, LayerAdmin)
site.register(PublishedLayer, PublishedLayerAdmin)