Exemplo n.º 1
0
    def __new__(cls, name, bases, attrs):
        from freenasUI.freeadmin.site import site

        new_class = ModelBase.__new__(cls, name, bases, attrs)
        if new_class._meta.abstract:
            pass
        elif hasattr(new_class, 'FreeAdmin'):
            site.register(new_class, freeadmin=new_class.FreeAdmin)

        return new_class
Exemplo n.º 2
0
    def __new__(cls, name, bases, attrs):
        from freenasUI.freeadmin.site import site

        new_class = ModelBase.__new__(cls, name, bases, attrs)
        if new_class._meta.abstract:
            pass
        elif hasattr(new_class, 'FreeAdmin'):
            site.register(new_class, freeadmin=new_class.FreeAdmin)

        return new_class
Exemplo n.º 3
0
    def __new__(cls, name, bases, attrs):
        from freenasUI.freeadmin.site import site

        bases = list(bases)
        appPool.hook_model_new(name, bases, attrs)
        new_class = ModelBase.__new__(cls, name, tuple(bases), attrs)
        if new_class._meta.abstract:
            pass
        elif hasattr(new_class, 'FreeAdmin'):
            site.register(new_class, freeadmin=new_class.FreeAdmin)

        return new_class
Exemplo n.º 4
0
    def __new__(cls, name, bases, attrs):
        from freenasUI.freeadmin.site import site

        bases = list(bases)
        appPool.hook_model_new(name, bases, attrs)
        new_class = ModelBase.__new__(cls, name, tuple(bases), attrs)
        if new_class._meta.abstract:
            pass
        elif hasattr(new_class, 'FreeAdmin'):
            site.register(new_class, freeadmin=new_class.FreeAdmin)

        return new_class
Exemplo n.º 5
0
        }

        return actions

    def get_datagrid_dblclick(self, request=None):
        func = """
            grid.on(".dgrid-row:dblclick", function(evt) {
                var row = grid.row(evt);
                if (row.data.cert_type_CSR) {
                    editObject('Edit', row.data._CSR_edit_url, [this, ]);
                } else {
                    editObject('Edit', row.data._edit_url, [this, ]);
                }
            });
        """

        return func


class UpdateFAdmin(BaseFreeAdmin):

    deletable = False
    resource_mixin = UpdateResourceMixin


site.register(None, BootStatusFAdmin)
site.register(models.CertificateAuthority, CertificateAuthorityFAdmin)
site.register(models.Certificate, CertificateFAdmin)
site.register(models.Settings, SettingsFAdmin)
site.register(models.Update, UpdateFAdmin)
Exemplo n.º 6
0
        actions['delete'] = self._action_builder(
            'jail_delete',
            label=_("Delete"),
            func='editScaryObject'
        )

        return actions


class NullMountPointFAdmin(BaseFreeAdmin):

    menu_child_of = u"jails"
    icon_model = u"MountPointIcon"
    icon_object = u"MountPointIcon"
    icon_add = u"AddMountPointIcon"
    icon_view = u"ViewMountPointIcon"

    resource = NullMountPointResource

    def get_datagrid_columns(self):
        columns = super(NullMountPointFAdmin,self).get_datagrid_columns()
        columns.insert(3, {
            'name': 'mounted',
            'label': _('Mounted?'),
            'sortable': False,
        })
        return columns

site.register(models.Jails, JailsFAdmin)
site.register(models.NullMountPoint, NullMountPointFAdmin)
Exemplo n.º 7
0
    def get_datagrid_columns(self):
        columns = super(NFSShareFAdmin, self).get_datagrid_columns()
        columns.insert(0, {
            'name': 'nfs_paths',
            'label': _('Paths'),
            'sortable': True,
        })
        return columns


class WebDAVShareFAdmin(BaseFreeAdmin):

    icon_model = "WebDAVShareIcon"
    icon_add = "AddWebDAVShareIcon"
    icon_view = "ViewAllWebDAVSharesIcon"
    icon_object = "WebDAVShareIcon"
    fields = (
        'webdav_name',
        'webdav_comment',
        'webdav_path',
        'webdav_ro',
        'webdav_perm',
    )
    resource_name = 'sharing/webdav'


site.register(models.AFP_Share, AFPShareFAdmin)
site.register(models.CIFS_Share, CIFSShareFAdmin)
site.register(models.NFS_Share, NFSShareFAdmin)
site.register(models.WebDAV_Share, WebDAVShareFAdmin)
Exemplo n.º 8
0
                dojo.addClass(pane2.domNode, [
                 "data_network_LAGGInterfaceMembers" + data.int_name,
                 "objrefresh"
                 ]);
                p.addChild(pane2);
                p.selectChild(pane2);

              }
            }""" % {
                'lagg_members': _('LAGG Members'),
            }
        }
        return actions


class LAGGInterfaceMembersFAdmin(BaseFreeAdmin):

    icon_object = u"LAGGIcon"
    icon_model = u"LAGGIcon"
    resource_mixin = LAGGInterfaceMembersResourceMixin

    def get_datagrid_filters(self, request):
        return {
            "lagg_interfacegroup__id": request.GET.get("id"),
        }


site.register(models.Interfaces, InterfacesFAdmin)
site.register(models.LAGGInterface, LAGGInterfaceFAdmin)
site.register(models.LAGGInterfaceMembers, LAGGInterfaceMembersFAdmin)
Exemplo n.º 9
0
            'on_click':
            """function() {
                var mybtn = this;
                for (var i in grid.selection) {
                    var data = grid.row(i).data;
                    editObject('Delete', data._delete_url, [mybtn,]);
                }  
            }""",
        }

        return actions

    def get_datagrid_dblclick(self, request=None):
        func = """
            grid.on(".dgrid-row:dblclick", function(evt) {
                var row = grid.row(evt);
                if (row.data.cert_type_CSR) {
                    editObject('Edit', row.data._CSR_edit_url, [this, ]);
                } else {
                    editObject('Edit', row.data._edit_url, [this, ]);
                } 
            });
        """

        return func


site.register(models.Settings, SettingsFAdmin)
site.register(models.CertificateAuthority, CertificateAuthorityFAdmin)
site.register(models.Certificate, CertificateFAdmin)
Exemplo n.º 10
0
        columns.append({'name': "keytab_name", 'label': _("Name")})

        return columns

    def get_datagrid_context(self, request):
        context = super(KerberosKeytabFAdmin,
                        self).get_datagrid_context(request)
        context.update(
            {'add_url': reverse('directoryservice_kerberoskeytab_add')})
        return context


class KerberosSettingsFAdmin(BaseFreeAdmin):
    create_modelform = "KerberosSettingsForm"
    edit_modelform = "KerberosSettingsForm"
    icon_object = "SettingsIcon"
    icon_model = "SettingsIcon"
    icon_add = "SettingsIcon"
    icon_view = "SettingsIcon"
    deletable = False
    resource_mixin = KerberosSettingsResourceMixin


site.register(models.ActiveDirectory, ActiveDirectoryFAdmin)
site.register(models.LDAP, LDAPFAdmin)
site.register(models.NIS, NISFAdmin)
site.register(models.KerberosRealm, KerberosRealmFAdmin)
site.register(models.KerberosKeytab, KerberosKeytabFAdmin)
site.register(models.KerberosSettings, KerberosSettingsFAdmin)
Exemplo n.º 11
0
                        query(".grid" + actionName).forEach(function(item, idx) {
                            domStyle.set(item, "display", "none");
                        });
                        break;
                    }
                }
            }""",
        }
        return actions

    def get_datagrid_columns(self):
        columns = super(VMFAdmin, self).get_datagrid_columns()
        columns.insert(
            2, {
                'name':
                'info',
                'label':
                _('Info'),
                'sortable':
                False,
                'formatter':
                """function(value,obj) {
                return value;
            }""",
            })
        return columns


site.register(models.Device, DeviceFAdmin)
site.register(models.VM, VMFAdmin)
Exemplo n.º 12
0
    icon_view = u"ViewAllTargetExtentsIcon"

    resource_mixin = ISCSITargetToExtentResourceMixin


class ISCSITargetExtentFAdmin(BaseFreeAdmin):

    delete_form = "ExtentDelete"
    delete_form_filter = {'iscsi_target_extent_type__exact': 'File'}
    menu_child_of = "services.ISCSI"
    icon_object = u"ExtentIcon"
    icon_model = u"ExtentIcon"
    icon_add = u"AddExtentIcon"
    icon_view = u"ViewAllExtentsIcon"

    resource_mixin = ISCSITargetExtentResourceMixin

    exclude_fields = (
        'id',
        'iscsi_target_extent_filesize',
    )


site.register(models.FTP, FTPFAdmin)
site.register(models.iSCSITarget, ISCSITargetFAdmin)
site.register(models.iSCSITargetPortal, ISCSIPortalFAdmin)
site.register(models.iSCSITargetAuthCredential, ISCSIAuthCredentialFAdmin)
site.register(models.iSCSITargetToExtent, ISCSITargetToExtentFAdmin)
site.register(models.iSCSITargetExtent, ISCSITargetExtentFAdmin)
site.register(models.services, ServicesFAdmin)
Exemplo n.º 13
0
                  href: data._members_url
                });
                dojo.addClass(pane2.domNode, [
                 "data_network_LAGGInterfaceMembers" + data.int_name,
                 "objrefresh"
                 ]);
                p.addChild(pane2);
                p.selectChild(pane2);

              }
            }""" % {
            'lagg_members': _('LAGG Members'),
        }}
        return actions


class LAGGInterfaceMembersFAdmin(BaseFreeAdmin):

    icon_object = u"LAGGIcon"
    icon_model = u"LAGGIcon"
    resource_mixin = LAGGInterfaceMembersResourceMixin

    def get_datagrid_filters(self, request):
        return {
            "lagg_interfacegroup__id": request.GET.get("id"),
            }

site.register(models.Interfaces, InterfacesFAdmin)
site.register(models.LAGGInterface, LAGGInterfaceFAdmin)
site.register(models.LAGGInterfaceMembers, LAGGInterfaceMembersFAdmin)
Exemplo n.º 14
0
from freenasUI.freeadmin.site import site
from freenasUI.sharing import models


class NFSShareFAdmin(BaseFreeAdmin):

    icon_model = u"UNIXShareIcon"
    icon_add = u"AddUNIXShareIcon"
    icon_view = u"ViewAllUNIXSharesIcon"
    icon_object = u"UNIXShareIcon"
    inlines = [
        {
            'form': 'NFS_SharePathForm',
            'prefix': 'path_set'
        },
    ]
    resource = NFSShareResource
    exclude_fields = ('id', )

    def get_datagrid_columns(self):
        columns = super(NFSShareFAdmin, self).get_datagrid_columns()
        columns.insert(0, {
            'name': 'nfs_paths',
            'label': _('Paths'),
            'sortable': False,
        })
        return columns


site.register(models.NFS_Share, NFSShareFAdmin)
Exemplo n.º 15
0
            }""",
        }

        return actions

    def get_datagrid_dblclick(self, request=None):
        func = """
            grid.on(".dgrid-row:dblclick", function(evt) {
                var row = grid.row(evt);
                if (row.data.cert_type_CSR) {
                    editObject('Edit', row.data._CSR_edit_url, [this, ]);
                } else {
                    editObject('Edit', row.data._edit_url, [this, ]);
                } 
            });
        """

        return func


class UpgradeFAdmin(BaseFreeAdmin):

    deletable = False
    resource_mixin = UpgradeResourceMixin


site.register(models.CertificateAuthority, CertificateAuthorityFAdmin)
site.register(models.Certificate, CertificateFAdmin)
site.register(models.Settings, SettingsFAdmin)
site.register(models.Upgrade, UpgradeFAdmin)
Exemplo n.º 16
0
# are met:
# 1. Redistributions of source code must retain the above copyright
#    notice, this list of conditions and the following disclaimer.
# 2. Redistributions in binary form must reproduce the above copyright
#    notice, this list of conditions and the following disclaimer in the
#    documentation and/or other materials provided with the distribution.
#
# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
# WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
# ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY
# DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
# OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
# HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
# STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING
# IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
# POSSIBILITY OF SUCH DAMAGE.
#
#####################################################################
from freenasUI.api import models
from freenasUI.freeadmin.options import BaseFreeAdmin
from freenasUI.freeadmin.site import site


class APIClientFAdmin(BaseFreeAdmin):
    menu_child_of = "system"


site.register(models.APIClient, APIClientFAdmin)
Exemplo n.º 17
0
    icon_object = u"TargetExtentIcon"
    icon_model = u"TargetExtentIcon"
    icon_add = u"AddTargetExtentIcon"
    icon_view = u"ViewAllTargetExtentsIcon"

    resource = ISCSITargetToExtentResource


class ISCSITargetExtentFAdmin(BaseFreeAdmin):

    delete_form = "ExtentDelete"
    delete_form_filter = {'iscsi_target_extent_type__exact': 'File'}
    menu_child_of = "services.ISCSI"
    icon_object = u"ExtentIcon"
    icon_model = u"ExtentIcon"
    icon_add = u"AddExtentIcon"
    icon_view = u"ViewAllExtentsIcon"

    resource = ISCSITargetExtentResource

    exclude_fields = (
        'id',
        'iscsi_target_extent_filesize',
        )


site.register(models.iSCSITargetPortal, ISCSIPortalFAdmin)
site.register(models.iSCSITargetAuthCredential, ISCSIAuthCredentialFAdmin)
site.register(models.iSCSITargetToExtent, ISCSITargetToExtentFAdmin)
site.register(models.iSCSITargetExtent, ISCSITargetExtentFAdmin)
Exemplo n.º 18
0
        'attributes',
    )


class CloudCredentialsFAdmin(BaseFreeAdmin):

    exclude_fields = (
        'id',
        'attributes',
    )

    icon_object = "CloudCredentialsIcon"
    icon_model = "CloudCredentialsIcon"
    icon_add = "CloudCredentialsAddIcon"
    icon_view = "CloudCredentialsViewIcon"


class UpdateFAdmin(BaseFreeAdmin):

    deletable = False
    resource_mixin = UpdateResourceMixin


site.register(None, BootStatusFAdmin)
site.register(models.CertificateAuthority, CertificateAuthorityFAdmin)
site.register(models.Certificate, CertificateFAdmin)
site.register(models.CloudCredentials, CloudCredentialsFAdmin)
site.register(models.ACMEDNSAuthenticator, ACMEDNSAuthenticatorFAdmin)
site.register(models.Settings, SettingsFAdmin)
site.register(models.Update, UpdateFAdmin)
Exemplo n.º 19
0
    icon_view = u"ViewAllExtentsIcon"
    nav_extra = {'order': 15}

    resource_mixin = ISCSITargetExtentResourceMixin

    exclude_fields = (
        'id',
        'iscsi_target_extent_filesize',
        'iscsi_target_extent_naa',
        'iscsi_target_extent_legacy',
    )


class NFSFAdmin(BaseFreeAdmin):

    resource_mixin = NFSResourceMixin
    deletable = False
    icon_model = 'NFSIcon'


site.register(models.FibreChannelToTarget, FibreChannelToTargetFAdmin)
site.register(models.FTP, FTPFAdmin)
site.register(models.iSCSITarget, ISCSITargetFAdmin)
site.register(models.iSCSITargetGroups, ISCSITargetGroupsFAdmin)
site.register(models.iSCSITargetPortal, ISCSIPortalFAdmin)
site.register(models.iSCSITargetAuthCredential, ISCSIAuthCredentialFAdmin)
site.register(models.iSCSITargetToExtent, ISCSITargetToExtentFAdmin)
site.register(models.iSCSITargetExtent, ISCSITargetExtentFAdmin)
site.register(models.NFS, NFSFAdmin)
site.register(models.services, ServicesFAdmin)
Exemplo n.º 20
0
                'lagg_members': _('LAGG Members'),
            }}
        return actions


class LAGGInterfaceMembersFAdmin(BaseFreeAdmin):

    icon_object = u"LAGGIcon"
    icon_model = u"LAGGIcon"
    resource_mixin = LAGGInterfaceMembersResourceMixin

    def get_datagrid_filters(self, request):
        return {
            "lagg_interfacegroup__id": request.GET.get("id"),
        }


class VLANFAdmin(NetworkInterruptMixin, BaseFreeAdmin):

    icon_object = u"VLANIcon"
    icon_model = u"VLANIcon"
    icon_add = u"AddVLANIcon"
    icon_view = u"ViewAllVLANsIcon"


site.register(models.GlobalConfiguration, GlobalConfigurationFAdmin)
site.register(models.Interfaces, InterfacesFAdmin)
site.register(models.VLAN, VLANFAdmin)
site.register(models.LAGGInterface, LAGGInterfaceFAdmin)
site.register(models.LAGGInterfaceMembers, LAGGInterfaceMembersFAdmin)
Exemplo n.º 21
0
#
#####################################################################
import logging

from collections import OrderedDict

from django.utils.html import escapejs
from django.utils.translation import ugettext as _

from freenasUI.api.resources import PluginsResourceMixin
from freenasUI.freeadmin.options import BaseFreeAdmin
from freenasUI.freeadmin.site import site
from freenasUI.plugins import models

log = logging.getLogger('plugins.admin')


class PluginsFAdmin(BaseFreeAdmin):

    icon_model = "PluginsIcon"

    resource_mixin = PluginsResourceMixin

    fields = (
        'plugin_name',
        'plugin_version',
    )


site.register(models.Plugins, PluginsFAdmin)
Exemplo n.º 22
0
        for idx, column in enumerate(human_colums):
            columns.insert(6 + idx, dict(column))
        return columns


class SMARTTestFAdmin(BaseFreeAdmin):

    icon_model = u"SMARTIcon"
    icon_object = u"SMARTIcon"
    icon_add = u"AddSMARTTestIcon"
    icon_view = u"ViewSMARTTestIcon"
    exclude_fields = (
        'id',
        'smarttest_daymonth',
        'smarttest_dayweek',
        'smarttest_hour',
        'smarttest_month',
    )
    resource = SMARTTestResource

    def get_datagrid_columns(self):
        columns = super(SMARTTestFAdmin, self).get_datagrid_columns()
        for idx, column in enumerate(human_colums[1:]):
            columns.insert(3 + idx, dict(column))
        return columns


site.register(models.CronJob, CronJobFAdmin)
site.register(models.Rsync, RsyncFAdmin)
site.register(models.SMARTTest, SMARTTestFAdmin)
Exemplo n.º 23
0
    icon_view = u"ViewAllExtentsIcon"

    resource_mixin = ISCSITargetExtentResourceMixin

    exclude_fields = (
        'id',
        'iscsi_target_extent_filesize',
    )


class NFSFAdmin(BaseFreeAdmin):

    resource_mixin = NFSResourceMixin
    deletable = False
    icon_model = 'NFSIcon'


site.register(models.FTP, FTPFAdmin)

site.register(
    models.iSCSITargetGlobalConfiguration,
    ISCSITargetGlobalConfigurationFAdmin,
)
site.register(models.iSCSITarget, ISCSITargetFAdmin)
site.register(models.iSCSITargetPortal, ISCSIPortalFAdmin)
site.register(models.iSCSITargetAuthCredential, ISCSIAuthCredentialFAdmin)
site.register(models.iSCSITargetToExtent, ISCSITargetToExtentFAdmin)
site.register(models.iSCSITargetExtent, ISCSITargetExtentFAdmin)
site.register(models.NFS, NFSFAdmin)
site.register(models.services, ServicesFAdmin)
Exemplo n.º 24
0
        columns = super(RsyncFAdmin, self).get_datagrid_columns()
        for idx, column in enumerate(human_colums):
            columns.insert(6 + idx, dict(column))
        return columns


class SMARTTestFAdmin(BaseFreeAdmin):

    icon_model = u"SMARTIcon"
    icon_object = u"SMARTIcon"
    icon_add = u"AddSMARTTestIcon"
    icon_view = u"ViewSMARTTestIcon"
    exclude_fields = (
        'id',
        'smarttest_daymonth',
        'smarttest_dayweek',
        'smarttest_hour',
        'smarttest_month',
    )
    resource_mixin = SMARTTestResourceMixin

    def get_datagrid_columns(self):
        columns = super(SMARTTestFAdmin, self).get_datagrid_columns()
        for idx, column in enumerate(human_colums[1:]):
            columns.insert(3 + idx, dict(column))
        return columns

site.register(models.CronJob, CronJobFAdmin)
site.register(models.Rsync, RsyncFAdmin)
site.register(models.SMARTTest, SMARTTestFAdmin)
Exemplo n.º 25
0
                var row = grid.row(evt);
                if (row.data.cert_type_CSR) {
                    editObject('Edit', row.data._CSR_edit_url, [this, ]);
                } else {
                    editObject('Edit', row.data._edit_url, [this, ]);
                } 
            });
        """

        return func


class UpdateFAdmin(BaseFreeAdmin):

    deletable = False
    resource_mixin = UpdateResourceMixin


class VMWarePluginFAdmin(BaseFreeAdmin):
    exclude_fields = (
        'id',
        'password',
    )


site.register(models.CertificateAuthority, CertificateAuthorityFAdmin)
site.register(models.Certificate, CertificateFAdmin)
site.register(models.Settings, SettingsFAdmin)
site.register(models.Update, UpdateFAdmin)
site.register(models.VMWarePlugin, VMWarePluginFAdmin)
Exemplo n.º 26
0
        data = {
            'button_name': label,
            'on_select_after': on_select_after,
            'on_click': on_click,
        }

        return data

    def get_actions(self):

        actions = OrderedDict()
        actions['Members'] = self._action_builder(
            "members",
            label=_('Members'),
        )
        actions['Modify'] = self._action_builder(
            "edit",
            label=_('Modify Group'),
            builtin=False,
        )
        actions['Remove'] = self._action_builder(
            "delete",
            label=_('Delete Group'),
            builtin=False,
        )
        return actions


site.register(models.bsdUsers, BsdUserFAdmin)
site.register(models.bsdGroups, BsdGroupFAdmin)
Exemplo n.º 27
0
                var row = grid.row(evt);
                if (row.data.cert_type_CSR) {
                    editObject('Edit', row.data._CSR_edit_url, [this, ]);
                } else {
                    editObject('Edit', row.data._edit_url, [this, ]);
                } 
            });
        """

        return func


class UpdateFAdmin(BaseFreeAdmin):

    deletable = False
    resource_mixin = UpdateResourceMixin


class VMWarePluginFAdmin(BaseFreeAdmin):
    exclude_fields = (
        'id',
        'password',
    )


site.register(models.CertificateAuthority, CertificateAuthorityFAdmin)
site.register(models.Certificate, CertificateFAdmin)
site.register(models.Settings, SettingsFAdmin)
site.register(models.Update, UpdateFAdmin)
site.register(models.VMWarePlugin, VMWarePluginFAdmin)
Exemplo n.º 28
0
from django.utils.html import escapejs
from django.utils.translation import ugettext as _

from freenasUI.freeadmin.options import BaseFreeAdmin
from freenasUI.freeadmin.site import site
from freenasUI.system import models


class SettingsFAdmin(BaseFreeAdmin):

    deletable = False

    def get_extra_context(self, action):
        try:
            ssl = models.SSL.objects.order_by("-id")[0]
        except:
            ssl = None
        return {
            'ssl': ssl,
        }


site.register(models.Settings, SettingsFAdmin)
Exemplo n.º 29
0
    advanced_fields = (
        'nfs_network',
        'nfs_hosts',
        'nfs_quiet',
        'nfs_maproot_user',
        'nfs_maproot_group',
        'nfs_mapall_user',
        'nfs_mapall_group',
        'nfs_security',
    )
    fields = (
        'nfs_paths',
        'nfs_comment',
        'nfs_alldirs',
        'nfs_ro'
    )

    def get_datagrid_columns(self):
        columns = super(NFSShareFAdmin, self).get_datagrid_columns()
        columns.insert(0, {
            'name': 'nfs_paths',
            'label': _('Paths'),
            'sortable': False,
        })
        return columns


site.register(models.AFP_Share, AFPShareFAdmin)
site.register(models.CIFS_Share, CIFSShareFAdmin)
site.register(models.NFS_Share, NFSShareFAdmin)
Exemplo n.º 30
0
    icon_object = u"TargetExtentIcon"
    icon_model = u"TargetExtentIcon"
    icon_add = u"AddTargetExtentIcon"
    icon_view = u"ViewAllTargetExtentsIcon"

    resource = ISCSITargetToExtentResource


class ISCSITargetExtentFAdmin(BaseFreeAdmin):

    delete_form = "ExtentDelete"
    delete_form_filter = {'iscsi_target_extent_type__exact': 'File'}
    menu_child_of = "services.ISCSI"
    icon_object = u"ExtentIcon"
    icon_model = u"ExtentIcon"
    icon_add = u"AddExtentIcon"
    icon_view = u"ViewAllExtentsIcon"

    resource = ISCSITargetExtentResource

    exclude_fields = (
        'id',
        'iscsi_target_extent_filesize',
    )


site.register(models.iSCSITargetPortal, ISCSIPortalFAdmin)
site.register(models.iSCSITargetAuthCredential, ISCSIAuthCredentialFAdmin)
site.register(models.iSCSITargetToExtent, ISCSITargetToExtentFAdmin)
site.register(models.iSCSITargetExtent, ISCSITargetExtentFAdmin)
Exemplo n.º 31
0
Arquivo: admin.py Projeto: xxz/freenas
            'label': _('Remote Hostname'),
            'sortable': False,
        })
        columns.insert(3, {
            'name': 'repl_status',
            'label': _('Status'),
            'sortable': False,
        })
        return columns


class VMWarePluginFAdmin(BaseFreeAdmin):
    exclude_fields = (
        'id',
        'password',
    )
    icon_model = 'VMSnapshotIcon'
    icon_object = 'VMSnapshotIcon'
    icon_add = 'VMSnapshotIcon'
    icon_view = 'VMSnapshotIcon'



site.register(models.Disk, DiskFAdmin)
site.register(models.Scrub, ScrubFAdmin)
site.register(models.Task, TaskFAdmin)
site.register(models.Volume, VolumeFAdmin)
site.register(models.Replication, ReplicationFAdmin)
site.register(models.VMWarePlugin, VMWarePluginFAdmin)
site.register(None, VolumeStatusFAdmin)
Exemplo n.º 32
0
        columns = []

        columns.append({"name": "keytab_name", "label": _("Name")})

        return columns

    def get_datagrid_context(self, request):
        context = super(KerberosKeytabFAdmin, self).get_datagrid_context(request)
        context.update({"add_url": reverse("directoryservice_kerberoskeytab_add")})
        return context


class KerberosSettingsFAdmin(BaseFreeAdmin):
    create_modelform = "KerberosSettingsForm"
    edit_modelform = "KerberosSettingsForm"
    icon_object = u"SettingsIcon"
    icon_model = u"SettingsIcon"
    icon_add = u"SettingsIcon"
    icon_view = u"SettingsIcon"

    resource_mixin = KerberosSettingsResourceMixin


site.register(models.ActiveDirectory, ActiveDirectoryFAdmin)
site.register(models.LDAP, LDAPFAdmin)
site.register(models.NIS, NISFAdmin)
site.register(models.NT4, NT4FAdmin)
site.register(models.KerberosRealm, KerberosRealmFAdmin)
site.register(models.KerberosKeytab, KerberosKeytabFAdmin)
site.register(models.KerberosSettings, KerberosSettingsFAdmin)
Exemplo n.º 33
0
Arquivo: admin.py Projeto: xxz/freenas
    def get_datagrid_context(self, request):
        context = super(JailTemplateFAdmin, self).get_datagrid_context(request)
        context.update({'add_url': reverse('jail_template_create')})
        return context


class JailMountPointFAdmin(BaseFreeAdmin):

    icon_model = u"MountPointIcon"
    icon_object = u"MountPointIcon"
    icon_add = u"AddMountPointIcon"
    icon_view = u"ViewMountPointIcon"

    resource_mixin = JailMountPointResourceMixin
    resource_name = 'jails/mountpoints'

    def get_datagrid_columns(self):
        columns = super(JailMountPointFAdmin, self).get_datagrid_columns()
        columns.insert(3, {
            'name': 'mounted',
            'label': _('Mounted?'),
            'sortable': False,
        })
        return columns

site.register(models.Jails, JailsFAdmin)
site.register(models.JailsConfiguration, JailsConfigurationFAdmin)
site.register(models.JailTemplate, JailTemplateFAdmin)
site.register(models.JailMountPoint, JailMountPointFAdmin)
Exemplo n.º 34
0
    resource = AvailablePluginsResource

    double_click = {
        'label': _('Install'),
        'field': '_install_url',
    }

    def get_actions(self):
        actions = OrderedDict()
        actions["Install"] = {
            'button_name': _("Install"),
            'on_click': """function() {
                var mybtn = this;
                for (var i in grid.selection) {
                    var data = grid.row(i).data;
                    editObject('Install plugin', data._install_url, [mybtn,]);
                }
            }""",
        }
        return actions

    def get_column_name_extra(self):
        return {
            'formatter': """function(value, obj) {
                return '<img src="/plugins/plugin/available/icon/' + obj['id'] + '/" height="16" width="16"/> &nbsp; ' + value;
            }"""
        }

site.register(models.Plugins, PluginsFAdmin)
site.register(models.Available, AvailableFAdmin)
Exemplo n.º 35
0
            }
        """
        actions['Edit']['on_select_after'] = on_select_after
        actions['Delete']['on_select_after'] = on_select_after

        return actions


class NullMountPointFAdmin(BaseFreeAdmin):

    icon_model = u"MountPointIcon"
    icon_object = u"MountPointIcon"
    icon_add = u"AddMountPointIcon"
    icon_view = u"ViewMountPointIcon"

    resource_mixin = NullMountPointResourceMixin

    def get_datagrid_columns(self):
        columns = super(NullMountPointFAdmin, self).get_datagrid_columns()
        columns.insert(3, {
            'name': 'mounted',
            'label': _('Mounted?'),
            'sortable': False,
        })
        return columns


site.register(models.Jails, JailsFAdmin)
site.register(models.JailTemplate, JailTemplateFAdmin)
site.register(models.NullMountPoint, NullMountPointFAdmin)
Exemplo n.º 36
0
                        query(".grid" + actionName).forEach(function(item, idx) {
                            domStyle.set(item, "display", "none");
                        });
                        break;
                    }
                }
            }""",
        }
        return actions

    def get_datagrid_columns(self):
        columns = super(VMFAdmin, self).get_datagrid_columns()
        columns.insert(2, {
            'name': 'info',
            'label': _('Info'),
            'sortable': False,
            'formatter': """function(value,obj) {
                return value;
            }""",
        })
        return columns

    def get_datagrid_context(self, request):
        return {
            'add_url': reverse('vm_add'),
        }


site.register(models.Device, DeviceFAdmin)
site.register(models.VM, VMFAdmin)
Exemplo n.º 37
0
            }
        }
        return actions

    def get_confirm_message(self, action, **kwargs):
        if (hasattr(notifier, 'failover_status')
                and notifier().failover_status() == 'MASTER'):
            return _('This change will cause a failover event. '
                     'Do you want to proceed?')
        else:
            return _('Network connectivity will be interrupted. '
                     'Do you want to proceed?')


class LAGGInterfaceMembersFAdmin(BaseFreeAdmin):

    icon_object = u"LAGGIcon"
    icon_model = u"LAGGIcon"
    resource_mixin = LAGGInterfaceMembersResourceMixin

    def get_datagrid_filters(self, request):
        return {
            "lagg_interfacegroup__id": request.GET.get("id"),
        }


site.register(models.GlobalConfiguration, GlobalConfigurationFAdmin)
site.register(models.Interfaces, InterfacesFAdmin)
site.register(models.LAGGInterface, LAGGInterfaceFAdmin)
site.register(models.LAGGInterfaceMembers, LAGGInterfaceMembersFAdmin)
Exemplo n.º 38
0
    icon_view = "ViewAllExtentsIcon"
    nav_extra = {'order': 15}

    resource_mixin = ISCSITargetExtentResourceMixin

    exclude_fields = (
        'id',
        'iscsi_target_extent_filesize',
        'iscsi_target_extent_naa',
        'iscsi_target_extent_legacy',
    )


class NFSFAdmin(BaseFreeAdmin):

    resource_mixin = NFSResourceMixin
    deletable = False
    icon_model = 'NFSIcon'


site.register(models.FibreChannelToTarget, FibreChannelToTargetFAdmin)
site.register(models.FTP, FTPFAdmin)
site.register(models.iSCSITarget, ISCSITargetFAdmin)
site.register(models.iSCSITargetGroups, ISCSITargetGroupsFAdmin)
site.register(models.iSCSITargetPortal, ISCSIPortalFAdmin)
site.register(models.iSCSITargetAuthCredential, ISCSIAuthCredentialFAdmin)
site.register(models.iSCSITargetToExtent, ISCSITargetToExtentFAdmin)
site.register(models.iSCSITargetExtent, ISCSITargetExtentFAdmin)
site.register(models.NFS, NFSFAdmin)
site.register(models.services, ServicesFAdmin)
Exemplo n.º 39
0
        'field': '_install_url',
    }

    def get_actions(self):
        actions = OrderedDict()
        actions["Install"] = {
            'button_name':
            _("Install"),
            'on_click':
            """function() {
                var mybtn = this;
                for (var i in grid.selection) {
                    var data = grid.row(i).data;
                    editObject('%s', data._install_url, [mybtn,]);
                }
            }""" % (escapejs(_('Install plugin')), ),
        }
        return actions

    def get_column_name_extra(self):
        return {
            'formatter':
            """function(value, obj) {
                return '<img src="/plugins/plugin/available/icon/' + obj['id'] + '/" height="16" width="16"/> &nbsp; ' + value;
            }"""
        }


site.register(models.Plugins, PluginsFAdmin)
site.register(models.Available, AvailableFAdmin)
Exemplo n.º 40
0

class NFSShareFAdmin(BaseFreeAdmin):

    icon_model = u"UNIXShareIcon"
    icon_add = u"AddUNIXShareIcon"
    icon_view = u"ViewAllUNIXSharesIcon"
    icon_object = u"UNIXShareIcon"
    inlines = [
        {
            'form': 'NFS_SharePathForm',
            'prefix': 'path_set'
        },
    ]
    resource = NFSShareResource
    exclude_fields = (
        'id',
        )

    def get_datagrid_columns(self):
        columns = super(NFSShareFAdmin, self).get_datagrid_columns()
        columns.insert(0, {
            'name': 'nfs_paths',
            'label': _('Paths'),
            'sortable': False,
        })
        return columns


site.register(models.NFS_Share, NFSShareFAdmin)
Exemplo n.º 41
0
        }

        return actions

    def get_datagrid_dblclick(self, request=None):
        func = """
            grid.on(".dgrid-row:dblclick", function(evt) {
                var row = grid.row(evt);
                if (row.data.cert_type_CSR) {
                    editObject('Edit', row.data._CSR_edit_url, [this, ]);
                } else {
                    editObject('Edit', row.data._edit_url, [this, ]);
                }
            });
        """

        return func


class UpdateFAdmin(BaseFreeAdmin):

    deletable = False
    resource_mixin = UpdateResourceMixin


site.register(None, BootStatusFAdmin)
site.register(models.CertificateAuthority, CertificateAuthorityFAdmin)
site.register(models.Certificate, CertificateFAdmin)
site.register(models.Settings, SettingsFAdmin)
site.register(models.Update, UpdateFAdmin)
Exemplo n.º 42
0
    icon_view = u"ViewAllTargetExtentsIcon"

    resource_mixin = ISCSITargetToExtentResourceMixin


class ISCSITargetExtentFAdmin(BaseFreeAdmin):

    delete_form = "ExtentDelete"
    delete_form_filter = {'iscsi_target_extent_type__exact': 'File'}
    menu_child_of = "services.ISCSI"
    icon_object = u"ExtentIcon"
    icon_model = u"ExtentIcon"
    icon_add = u"AddExtentIcon"
    icon_view = u"ViewAllExtentsIcon"

    resource_mixin = ISCSITargetExtentResourceMixin

    exclude_fields = (
        'id',
        'iscsi_target_extent_filesize',
    )


site.register(models.FTP, FTPFAdmin)
site.register(models.iSCSITarget, ISCSITargetFAdmin)
site.register(models.iSCSITargetPortal, ISCSIPortalFAdmin)
site.register(models.iSCSITargetAuthCredential, ISCSIAuthCredentialFAdmin)
site.register(models.iSCSITargetToExtent, ISCSITargetToExtentFAdmin)
site.register(models.iSCSITargetExtent, ISCSITargetExtentFAdmin)
site.register(models.services, ServicesFAdmin)