summaryrefslogtreecommitdiffstats
path: root/install/static/netgroup.js
blob: 295e41366c449a3616699ffbad4efa060ed59549 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
function setupNetgroup(facet){
    netgroupForms.setup(facet);
}

function netgroupAddOptionsFunction (){
    var options = {
        name: $('#pkey').val(),
        description: $('#description').val()
    };
    return options;
}

var netgroupForms = new NetgroupForms();

function NetgroupForms(){
    this.obj='netgroup';
    this.pkeycol = 'cn';
    this.facets = ["details","users","assignusers","groups","assigngroups","hosts","assignhosts","hostgroups","assignhostgroups"];

    this.netgroupSearchColumns = [
        {title:"Netgroup",column:"cn",render:  function(current,cell){
            renderPkeyColumn2('netgroup', 'cn', current,cell);
        }},
        {title:"Description", column:"description",render: renderSimpleColumn}];


    this.details_list =
        [['identity', 'Netgroup Details', [
            ['cn', 'Netgroup Name'],
            ['description', 'Description'],
            ['nisdomainname', 'NIS Domain']]]];

    this.details = new DetailsForm(this.obj,this.details_list,this.pkeycol,
                              this.facets) ;



    this.add_properties =
        [{title: 'Netgroup Name', id: 'pkey', type: 'text'},
         {title: 'Description', id: 'description', type: 'text'}];

    this.add = new EntityBuilder("netgroup",this.add_properties,
                           netgroupAddOptionsFunction);
    this.search =  new SearchForm("netgroup", "find", this.netgroupSearchColumns);

    this.userListColumns = [ {title:"user",column:"memberuser_user", }];
    this.users = new AssociationList(
        this.obj, "users", "assignusers", this.userListColumns, this.facets );

    this.assignusers = new AssociationForm(
        this.obj, "user", "assignuser", this.facets, "uid",
        function(){
            return 'Add Hosts to to  netgroup : '  + qs['pkey'] ;
        },
        BulkAssociator);


    this.groupListColumns = [ {title:"group",column:"memberuser_group", }];
    this.groups = new AssociationList(
        this.obj, "groups", "assigngroups", this.groupListColumns, this.facets );

    this.assigngroups = new AssociationForm(
        this.obj, "group", "assigngroup", this.facets, "cn",
        function(){
            return 'Add Hosts to to  netgroup : '  + qs['pkey'] ;
        },
        BulkAssociator);



    this.hostListColumns = [ {title:"host",column:"memberhost_host", }];

    this.hosts = new AssociationList(
        this.obj, "hosts", "assignhosts", this.hostListColumns, this.facets );

    this.assignhosts = new AssociationForm(
        this.obj, "host", "assignhosts", this.facets, "fqdn",
        function(){
            return 'Add Hosts to to  netgroup : '  + qs['pkey'] ;
        },
        BulkAssociator);


    this.hostgroupListColumns = [ {title:"hostgroup",column:"memberhost_hostgroup", }];

    this.hostgroups = new AssociationList(
        this.obj, "hostgroups", "assignhostgroups", this.hostgroupListColumns, this.facets );

    this.assignhostgroups = new AssociationForm(
        this.obj, "hostgroup", "assignhostgroups", this.facets, "cn",
        function(){
            return 'Add Hostgroups to to  netgroup : '  + qs['pkey'] ;
        },
        BulkAssociator);



    this.unspecified = this.search;
    this.setup = function(facet){
        if (this[facet]){
            this[facet].setup();
        }else{
            this.unspecified.setup();
        }
    }

}