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

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

adding project files

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