source: llum/trunk/fuentes/llum/DemoteUserWidget.cs @ 376

Last change on this file since 376 was 376, checked in by hectorgh, 4 years ago

adding project files

File size: 4.0 KB
Line 
1
2using System;
3
4namespace llum
5{
6
7
8        [System.ComponentModel.ToolboxItem(true)]
9        public partial class DemoteUserWidget : Gtk.Bin
10        {
11                protected virtual void OnAcceptButtonClicked (object sender, System.EventArgs e)
12                {
13                        llum.Core core=llum.Core.getCore();
14                        System.Collections.Generic.List<string> ret=new System.Collections.Generic.List<string>();
15                        string result;
16                        bool error=false;
17                        foreach(LdapUser user in to_demote_list)
18                        {
19                                        result=core.xmlrpc.del_teacher_from_admins(user.uid);
20                                        ret.Add(user.uid + ":" + result+"\n");
21                                        if(!result.Contains("true"))
22                                                error=true;
23                        }
24                       
25                        if(error)
26                        {
27                                string txt="<span foreground='red'>" + Mono.Unix.Catalog.GetString("Some errors where found when executing the demoting operation:") + "\n";
28                                foreach(string str in ret)     
29                                        txt+=str;
30                               
31                                       
32                                txt+="</span>";
33                        }
34                        else
35                        {
36                                msgLabel.Markup="<b>" + Mono.Unix.Catalog.GetString("Users were succesfully demoted") + "</b>";
37                        }
38                       
39                        acceptButton.Sensitive=false;
40                       
41                }
42               
43               
44                private System.Collections.Generic.List<llum.LdapUser> user_list;
45                private System.Collections.Generic.List<llum.LdapUser> to_demote_list;
46                private string back_to;
47                public DemoteUserWidget (System.Collections.Generic.List<LdapUser> user_list, string back_to)
48                {
49                        this.Build ();
50                        this.back_to=back_to;
51                        this.user_list=user_list;
52                        userListTreeview.Selection.Mode=Gtk.SelectionMode.None;
53                       
54                        Gtk.TreeViewColumn user_id_column;
55                        Gtk.CellRendererText user_id_cell_renderer;
56               
57                        Gtk.TreeViewColumn user_name_column;
58                        Gtk.CellRendererText user_name_cell_renderer;
59               
60                        Gtk.TreeViewColumn user_surname_column;
61                        Gtk.CellRendererText user_surname_cell_renderer;
62               
63                        Gtk.ListStore store;                   
64                       
65                        user_id_column=new Gtk.TreeViewColumn();
66                        user_id_column.Title=Mono.Unix.Catalog.GetString("User ID");
67                        user_id_cell_renderer=new Gtk.CellRendererText();
68                        user_id_column.PackStart(user_id_cell_renderer,true);
69                        user_id_column.AddAttribute(user_id_cell_renderer,"text",0);
70                        userListTreeview.AppendColumn(user_id_column);
71                        store=new Gtk.ListStore(typeof(string),typeof(string),typeof(string));
72                        userListTreeview.Model=store;
73                       
74                        user_name_column=new Gtk.TreeViewColumn();
75                        user_name_column.Title=Mono.Unix.Catalog.GetString("Name");
76                        user_name_cell_renderer=new Gtk.CellRendererText();
77                        user_name_column.PackStart(user_name_cell_renderer,true);
78                        user_name_column.AddAttribute(user_name_cell_renderer,"text",1);
79                        userListTreeview.AppendColumn(user_name_column);
80                       
81                        user_surname_column=new Gtk.TreeViewColumn();
82                        user_surname_column.Title=Mono.Unix.Catalog.GetString("Surname");
83                        user_surname_cell_renderer=new Gtk.CellRendererText();
84                        user_surname_column.PackEnd(user_surname_cell_renderer,true);
85                        user_surname_column.AddAttribute(user_surname_cell_renderer,"text",2);
86                        userListTreeview.AppendColumn(user_surname_column);
87                       
88                       
89                       
90                       
91                        userListTreeview.ShowAll();
92                       
93                        string safe_list="";
94                       
95                        to_demote_list=new System.Collections.Generic.List<llum.LdapUser>();
96                        foreach(llum.LdapUser user in this.user_list)
97                        {
98                                if(user.main_group=="teachers")
99                                {
100                                        store.AppendValues(user.uid,user.name,user.surname);
101                                        to_demote_list.Add(user);       
102                                }
103                                else
104                                {
105                                        if (safe_list!="")
106                                                safe_list+=", ";
107                                       
108                                        safe_list+=user.uid;
109                                       
110                                }
111                        }
112                       
113                        if(safe_list!="")
114                                msgLabel.Markup=Mono.Unix.Catalog.GetString("The following users were removed from the to-be-demoted list as they don't belong to the teachers group") + ":\n" + safe_list;
115                                               
116                        if(to_demote_list.Capacity<1)
117                                acceptButton.Sensitive=false;                   
118                       
119                       
120                }
121                protected virtual void OnCancelButtonClicked (object sender, System.EventArgs e)
122                {
123                        llum.Core core=llum.Core.getCore();
124                       
125                        switch(back_to)
126                        {
127                                case "users":
128                               
129                                        core.search_user=new SearchUser(false);
130                       
131                                        core.mw.setCurrentWidget(core.search_user);                     
132                                        break;
133                               
134                                case "groups":
135                               
136                                        core.search_group_wid=new SearchGroupWidget();
137                       
138                                        core.mw.setCurrentWidget(core.search_group_wid);                       
139                                        break;
140                               
141                        }
142                       
143                       
144
145                       
146                       
147                       
148                       
149                       
150                }
151               
152               
153        }
154}
Note: See TracBrowser for help on using the repository browser.