Changeset 1872


Ignore:
Timestamp:
Jun 8, 2016, 1:21:44 PM (3 years ago)
Author:
joamuran
Message:

fixed ui for images managing

Location:
lmd/trunk/fuentes/admin-center-ltsp.install/lliurex-ltsp/src
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • lmd/trunk/fuentes/admin-center-ltsp.install/lliurex-ltsp/src/images.html

    r1357 r1872  
    7676                  </div>
    7777                                   
    78                   <div class="form-group" id="llx_ltsp_new_image_assistant_arch_selector">
     78                    <div class="form-group" id="llx_ltsp_new_image_assistant_arch_selector">
     79                        <label for="llx_ltsp_new_image_arch" class="col-md-2 control-label">Arch</label>
     80                        <div class="col-md-10">
     81                          <textarea class="form-control" id="llx_ltsp_new_image_arch" type="text" readonly></textarea>
     82                        </div>
     83                    </div>
     84                                   
     85                  <!--div class="form-group" id="llx_ltsp_new_image_assistant_arch_selector">
    7986                    <label class="col-md-2 control-label" i18n>Architecture</label>
    8087             
     
    8289                      <div class="radio radio-primary">
    8390                        <label>
    84                           <input name="optionsRadios_ltsp_arch" id="optionsRadios_ltsp_arch_i386" value="i386" checked="" type="radio">
     91                          <input name="optionsRadios_ltsp_arch" id="optionsRadios_ltsp_arch_i386" value="i386" type="radio">
    8592                          i386 (32 bit)
    8693                        </label>
     
    93100                      </div>
    94101                    </div>
    95                   </div>
     102                  </div-->
    96103                 
    97104                </fieldset>
  • lmd/trunk/fuentes/admin-center-ltsp.install/lliurex-ltsp/src/js/imageManager.js

    r1527 r1872  
    22function ImageManager(){
    33    // Class attributes
    4     this.imageList=new Array();   // Filenames for client images
    5     this.currenttasks=new Array();
     4    this.imageList=[];   // Filenames for client images
     5    //this.currenttasks=new Array();
    66    this.imageMinimalInstalled=null;
    77    this.timer=null;
    88}
    99
    10 ImageManager.prototype.getTaskList=function getTaskList(callback_){
     10/*ImageManager.prototype.getTaskList=function getTaskList(callback_){
    1111    var self=this;
    1212   
     
    2121        callback_();
    2222        })
    23 }
     23}*/
    2424
    2525
     
    6161}
    6262
    63 ImageManager.prototype.checkStatusForImage=function checkStatusForImage(id){
     63/*ImageManager.prototype.checkStatusForImage=function checkStatusForImage(id){
    6464    // Check if any job is running in this id
    6565   
    6666    var self=this;
    67     var retvalue="finished";
    68     for (i in self.currenttasks) {
     67    var retvalue={"status":"finished", "job_id":"None"};
     68    for (var i in self.currenttasks) {
    6969        if ((self.currenttasks[i]).target==id) {
    7070            if (self.currenttasks[i].status=="running" || self.currenttasks[i].status=="broken")
    71                 return self.currenttasks[i].status;
     71                return {"status":self.currenttasks[i].status, "job_id":self.currenttasks[i].job_id};
    7272        }
    7373    }
    7474    return retvalue;
    75 }
    76 
    77 ImageManager.prototype.renderImage=function renderImage(imagefile, callback){
    78     // Creates a container for thin client image, with buttons and status
    79     var self=this;
    80     var credentials="";
    81     var n4dclass="LmdImageManager";
    82     var n4dmethod="getImage";
    83     var arglist=[imagefile];
    84 
    85     Utils.n4d(credentials, n4dclass, n4dmethod, arglist, function(response){
    86         var imageContent=JSON.parse(response);
     75}*/
     76
     77//ImageManager.prototype.renderImage=function renderImage(imagefile, callback=null){
     78ImageManager.prototype.renderImage=function renderImage(imagefile){
     79    // Creates a container for thin client image, with buttons and status   
     80    try{
     81       
     82        var self=this;
     83        var credentials="";
     84        var n4dclass="LmdImageManager";
     85        var n4dmethod="getImage";
     86        var arglist=[imagefile];
     87       
     88        Utils.n4d(credentials, n4dclass, n4dmethod, arglist, function(response){
     89            var imageContent=JSON.parse(response);
     90           
     91           
     92            /* Check if is yet rendered... */
     93           
     94            //var checker=$("#llx-ltsp-imagelist").children().find("[target_id='"+imageContent.id+"']");
     95            var checker=$(".llx-ltsp-image-file[target_id='"+imageContent.id+"']");
     96           
     97            console.log(checker);
     98            if (checker.length>0){
     99                console.log("**"+$(checker).attr("status"));
     100                console.log("!!"+imageContent.task_status);
     101                if($(checker).attr("status")==imageContent.task_status)
     102                {
     103                    console.log("rendered...");
     104                    return 0;
     105                } else {
     106                    // Image is rendered, but status has changed
     107                    // Changing status
     108                    console.log("rendered but changed");
     109                    $(checker).remove(); // Remove for redraw
     110                   
     111                    /*
     112                    console.log(imageContent.task_status);
     113                    if (imageContent.task_status=="DONE"){
     114                        console.log("adding available");
     115                        $(checker).removeClass("llx-ltsp-image-file-wip").removeClass("llx-ltsp-image-file-broken");
     116                        $(checker).addClass("llx-ltsp-image-file-available");
     117                    } else if (imageContent.task_status=="RUNNING"){
     118                        console.log("adding running");
     119                        $(checker).removeClass("llx-ltsp-image-file-available").removeClass("llx-ltsp-image-file-broken");
     120                        $(checker).addClass("llx-ltsp-image-file-wip");
     121                    } else {
     122                        console.log("adding broken");
     123                        $(checker).removeClass("llx-ltsp-image-file-wip").removeClass("llx-ltsp-image-file-available");
     124                        $(checker).addClass("llx-ltsp-image-file-broken");
     125                    }
     126                    */
     127                    $(checker).attr("status", imageContent.task_status); // Adding status
     128                    // return 0;               
     129                } // else
     130            }
     131           
     132            /***************************************************************************/
     133            /*     End checking rendered images, if we are here, we need to render     */
     134            /***************************************************************************/
     135
     136
     137            var picColumn=$(document.createElement("div")).addClass("col-md-1");
     138            var picItem=$(document.createElement("div")).addClass("llx-ltsp-image-picture");
     139            picColumn.append(picItem);
     140            var imgName=$(document.createElement("div")).html(imageContent.name).addClass("ltsp-image-name");
     141            var imgDesc=$(document.createElement("div")).html(imageContent.desc).addClass("ltsp-image-desc");
     142            var descColumn=$(document.createElement("div")).addClass("llx-ltsp-image-desc-div col-md-4");
     143            $(descColumn).append(imgName, imgDesc);
    87144         
    88         var picColumn=$(document.createElement("div")).addClass("col-md-1");           
    89         var picItem=$(document.createElement("div")).addClass("llx-ltsp-image-picture");
    90         picColumn.append(picItem);
    91         var imgName=$(document.createElement("div")).html(imageContent["name"]).addClass("ltsp-image-name");
    92         var imgDesc=$(document.createElement("div")).html(imageContent["desc"]).addClass("ltsp-image-desc");
    93         var descColumn=$(document.createElement("div")).addClass("llx-ltsp-image-desc-div col-md-4");
    94         $(descColumn).append(imgName, imgDesc);
     145            var ImageButtonsColumn=$(document.createElement("div")).addClass("llx-ltsp-image-buttons col-md-6");
     146            var editImgBt=$(document.createElement("button")).attr("type", "button").addClass("btn btn-xs btn-info ltsp-img-bt btn-raised").attr("title", "Edit");
     147            $(editImgBt).html("<i class='material-icons' style='vertical-align:middle;'>cast</i>&nbsp;Edit");
     148            var regenerateImgBt=$(document.createElement("button")).attr("type", "button").addClass("btn btn-info btn-xs ltsp-img-bt").attr("title", "Regenerate");
     149            $(regenerateImgBt).html("<i class='material-icons' style='vertical-align:middle;'>refresh</i>&nbsp;Regenerate");
     150            var imgOptsBt=$(document.createElement("button")).attr("type", "button").addClass("btn btn-xs btn-info ltsp-img-bt").attr("title", "Options");
     151            $(imgOptsBt).html("<i class='material-icons' style='vertical-align:middle;'>edit</i>&nbsp;Options");
     152            var cloneImgBt=$(document.createElement("button")).attr("type", "button").addClass("btn btn-info btn-xs ltsp-img-bt").attr("title", "Clone");
     153            $(cloneImgBt).html("<i class='material-icons' style='vertical-align:middle;'>filter</i>&nbsp;Clone");
     154            var listenImgBt=$(document.createElement("button")).attr("type", "button").addClass("btn btn-info btn-xs ltsp-img-bt").attr("title", "Listen");
     155            $(listenImgBt).html("<i class='material-icons' style='vertical-align:middle;'>pageview</i>&nbsp;Listen");
     156            $(listenImgBt).attr("taskid", imageContent.taskid);
     157            var removeImgBt=$(document.createElement("button")).attr("type", "button").addClass("btn btn-danger btn-xs ltsp-img-bt").attr("title", "Delete");
     158            $(removeImgBt).html("<i class='material-icons' style='vertical-align:middle;'>clear</i>&nbsp;Delete");
     159               
     160            // Adding target ids and binding events
     161            $(editImgBt).attr("target_id", imageContent.id);
     162            $(regenerateImgBt).attr("target_id", imageContent.id);
     163            $(imgOptsBt).attr("target_id", imageContent.id);
     164            $(cloneImgBt).attr("target_id", imageContent.id);
     165            $(removeImgBt).attr("target_id", imageContent.id);
     166            $(listenImgBt).attr("target_id", imageContent.id);
     167           
     168            $(editImgBt).on("click", function(){
     169                alert("Edit "+$(this).attr("target_id"));
     170                });
     171               
     172            $(regenerateImgBt).on("click", function(){
     173                alert("Regenerate "+$(this).attr("target_id"));
     174                });
     175               
     176            $(imgOptsBt).on("click", function(){
     177                alert("Show options for "+$(this).attr("target_id"));
     178                });
     179               
     180            $(cloneImgBt).on("click", function(){
     181                alert("Clone "+$(this).attr("target_id"));
     182                });
    95183                       
    96         var ImageButtonsColumn=$(document.createElement("div")).addClass("llx-ltsp-image-buttons col-md-6");
    97         var editImgBt=$(document.createElement("button")).attr("type", "button").addClass("btn btn-xs btn-info ltsp-img-bt btn-raised").attr("title", "Edit");
    98         $(editImgBt).html("<i class='material-icons' style='vertical-align:middle;'>cast</i>&nbsp;Edit");
    99         var regenerateImgBt=$(document.createElement("button")).attr("type", "button").addClass("btn btn-info btn-xs ltsp-img-bt").attr("title", "Regenerate");
    100         $(regenerateImgBt).html("<i class='material-icons' style='vertical-align:middle;'>refresh</i>&nbsp;Regenerate");
    101         var imgOptsBt=$(document.createElement("button")).attr("type", "button").addClass("btn btn-xs btn-info ltsp-img-bt").attr("title", "Options");
    102         $(imgOptsBt).html("<i class='material-icons' style='vertical-align:middle;'>edit</i>&nbsp;Options");
    103         var cloneImgBt=$(document.createElement("button")).attr("type", "button").addClass("btn btn-info btn-xs ltsp-img-bt").attr("title", "Clone");
    104         $(cloneImgBt).html("<i class='material-icons' style='vertical-align:middle;'>filter</i>&nbsp;Clone");
    105         var listenImgBt=$(document.createElement("button")).attr("type", "button").addClass("btn btn-info btn-xs ltsp-img-bt").attr("title", "Listen");
    106         $(listenImgBt).html("<i class='material-icons' style='vertical-align:middle;'>pageview</i>&nbsp;Listen");
    107         var removeImgBt=$(document.createElement("button")).attr("type", "button").addClass("btn btn-danger btn-xs ltsp-img-bt").attr("title", "Delete");
    108         $(removeImgBt).html("<i class='material-icons' style='vertical-align:middle;'>clear</i>&nbsp;Delete");
    109            
    110         // Adding target ids and binding events
    111         $(editImgBt).attr("target_id", imageContent["id"]);
    112         $(regenerateImgBt).attr("target_id", imageContent["id"]);
    113         $(imgOptsBt).attr("target_id", imageContent["id"]);
    114         $(cloneImgBt).attr("target_id", imageContent["id"]);
    115         $(removeImgBt).attr("target_id", imageContent["id"]);
    116         $(listenImgBt).attr("target_id", imageContent["id"]);
    117 
    118         $(editImgBt).on("click", function(){
    119             alert("Edit "+$(this).attr("target_id"));
     184            $(removeImgBt).on("click", function(){
     185                var targetid=$(this).attr("target_id");
     186                // Ask for confirmation
     187                var text="You are going to delete image "+targetid+". Are you sure?";
     188                bootbox.confirm(text, function(res){
     189                    // Removing image with targetid
     190                    if (res)  self.deleteImage(targetid);
     191                });
    120192            });
     193           
     194           
     195            $(listenImgBt).on("click", function(event){
     196                //var taskid=$(event.target).parent().parent().attr("taskid");
     197                //var taskid=$(event.target).parent().parent();
     198                var taskid=$(event.target).attr("taskid");
     199                console.log(taskid);
     200                Utils.listenJob(taskid);
     201            });
     202           
     203            /*$(listenImgBt).on("click", function(event){
     204                var credentials='';
     205                var n4dclass="LmdServer";
     206                var n4dmethod="add_listener";
     207                console.log($(event.target).parent());
     208                console.log($(event.target).parent().parent().attr("job_id"));
     209                var srv_job_id=$(event.target).parent().parent().attr("job_id");
     210                var target_id=$(event.target).parent().parent().attr("target_id");
     211                //console.log("*************"+srv_job_id);
     212                var arglist=[];
     213                //arglist.push("");
     214               
     215                //Utils.n4dWithLog(credentials, n4dclass, n4dmethod, arglist, function(response){});
     216                //Utils.n4dWithLog(credentials, n4dclass, n4dmethod, arglist, srv_job_id, target_id); // no callback is needed
     217                //Utils.n4dWithLog(credentials, n4dclass, n4dmethod, arglist, srv_job_id, target_id,  function(response){}); // no callback is needed
     218                Utils.n4dWithLog(credentials, n4dclass, n4dmethod, arglist, srv_job_id, target_id); // no callback is needed
     219            });*/
     220           
    121221           
    122         $(regenerateImgBt).on("click", function(){
    123             alert("Regenerate "+$(this).attr("target_id"));
     222   
     223            // Check button type and status...(if there is any task working on it)
     224            //var sfi=self.checkStatusForImage(imageContent.id);
     225           
     226            // Hide extra buttons for minimal image
     227            //console.log("**********************");
     228            //console.log(imageContent);
     229            //console.log("**********************");
     230           
     231                   
     232            /*if (imageContent["status"]==="enabled-non-editable")
     233                $(ImageButtonsColumn).append(removeImgBt);
     234                //else if (imageContent["status"]==="enabled-non-editable")
     235                else $(ImageButtonsColumn).append(removeImgBt, cloneImgBt, regenerateImgBt, editImgBt, imgOptsBt);
     236              */ 
     237                       
     238            var imgFile=$(document.createElement("div"));
     239           
     240            if (imageContent.task_status=="RUNNING") {
     241                    $(imgFile).addClass("llx-ltsp-image-file llx-ltsp-image-file-wip");
     242                    $(ImageButtonsColumn).append(listenImgBt);
     243                }
     244            //else if (imageContent.status || imageContent.task_status=="BROKEN" || imageContent.task_status=="CANCELLED") {
     245            else if (imageContent.task_status=="BROKEN" || imageContent.task_status=="CANCELLED") {
     246                $(imgFile).addClass("llx-ltsp-image-file llx-ltsp-image-file-broken");
     247                if (imageContent.status==="enabled-non-editable")
     248                    $(ImageButtonsColumn).append(removeImgBt);
     249                else $(ImageButtonsColumn).append(removeImgBt, cloneImgBt, regenerateImgBt, editImgBt, imgOptsBt);
     250            }
     251            else{
     252                $(imgFile).addClass("llx-ltsp-image-file llx-ltsp-image-file-available");
     253                if (imageContent.status==="enabled-non-editable")
     254                    $(ImageButtonsColumn).append(removeImgBt);
     255                else $(ImageButtonsColumn).append(removeImgBt, cloneImgBt, regenerateImgBt, editImgBt, imgOptsBt);
     256            }
     257           
     258           
     259            $(imgFile).attr("status", imageContent.task_status); // Adding status
     260            //var imgFile=$(document.createElement("div")).addClass("llx-ltsp-image-file llx-ltsp-image-file-wip");
     261            $(imgFile).attr("target_id", imageContent.id);
     262            $(imgFile).append(picColumn, descColumn, ImageButtonsColumn);   
     263               
     264            $("#llx-ltsp-imagelist").append(imgFile);
     265             
    124266            });
    125            
    126         $(imgOptsBt).on("click", function(){
    127             alert("Show options for "+$(this).attr("target_id"));
    128             });
    129            
    130         $(cloneImgBt).on("click", function(){
    131             alert("Clone "+$(this).attr("target_id"));
    132             });
    133                    
    134         $(removeImgBt).on("click", function(){
    135             var targetid=$(this).attr("target_id");
    136             // Ask for confirmation
    137             var text="You are going to delete image "+targetid+". Are you sure?";
    138             bootbox.confirm(text, function(res){
    139                 // Removing image with targetid
    140                 if (res)  self.deleteImage(targetid);
    141             });
    142         });
    143        
    144         $(listenImgBt).on("click", function(){
    145             var credentials='';
    146             var n4dclass="LmdServer";
    147             var n4dmethod="add_listener";
    148             var arglist=[];
    149             //arglist.push("");
    150            
    151             //Utils.n4dWithLog(credentials, n4dclass, n4dmethod, arglist, function(response){});
    152             Utils.n4dWithLog(credentials, n4dclass, n4dmethod, arglist, null); // no callback is needed
    153         })
    154        
    155 
    156         // Check button type and status...(if there is any task working on it)
    157         var sfi=self.checkStatusForImage(imageContent["id"]);
    158        
    159         // Hide extra buttons for minimal image
    160         //console.log("**********************");
    161         //console.log(imageContent);
    162         //console.log("**********************");
    163        
    164                
    165         /*if (imageContent["status"]==="enabled-non-editable")
    166             $(ImageButtonsColumn).append(removeImgBt);
    167             //else if (imageContent["status"]==="enabled-non-editable")
    168             else $(ImageButtonsColumn).append(removeImgBt, cloneImgBt, regenerateImgBt, editImgBt, imgOptsBt);
    169           */ 
    170            
    171        
    172         var imgFile=$(document.createElement("div"));
    173         if (sfi=="running") {
    174                 $(imgFile).addClass("llx-ltsp-image-file llx-ltsp-image-file-wip");
    175                 $(ImageButtonsColumn).append(listenImgBt);
    176             }
    177         else if (sfi=="broken") {
    178             $(imgFile).addClass("llx-ltsp-image-file llx-ltsp-image-file-broken");
    179             $(ImageButtonsColumn).append(removeImgBt);
    180         }
    181         else{
    182             $(imgFile).addClass("llx-ltsp-image-file llx-ltsp-image-file-available");
    183 
    184             if (imageContent["status"]==="enabled-non-editable")
    185                 $(ImageButtonsColumn).append(removeImgBt);
    186             else $(ImageButtonsColumn).append(removeImgBt, cloneImgBt, regenerateImgBt, editImgBt, imgOptsBt);
    187         }
    188            
    189         $(imgFile).attr("status", sfi); // Adding status       
    190        
    191         //var imgFile=$(document.createElement("div")).addClass("llx-ltsp-image-file llx-ltsp-image-file-wip");
    192         $(imgFile).attr("target_id", imageContent["id"]);
    193         $(imgFile).append(picColumn, descColumn, ImageButtonsColumn);
    194            
    195            
    196         $("#llx-ltsp-imagelist").append(imgFile);
    197            
    198            
    199         /*{"status": "enabled-non-editable",
    200         "fat_ram_threshold": "default",
    201         "name": "Client Lleuger Minim",
    202         "img": "llx-client13.png",
    203         "ldm_session": "gnome-fallback",
    204         "template": "Default by LMD",
    205         "ltsp_fatclient": "false",
    206         "desc": "Minimal thin client -not fat- for Lliurex LTSP.",
    207         "id": "mini-light-client",
    208         "lmd_extra_params":
    209         "XKBLAYOUT=es LDM_LANGUAGE=\"es_ES.UTF-8\" LOCALE_DIR=es_ES"}           
    210         */
    211            
    212         /*
    213         Must Have:
    214             Edita/iniciaSessio(provarLXDE) |
    215             Regenera |
    216             Opcions d'arrencada |
    217             Elimina |
    218             Clona/Exporta
    219         */
    220         });
    221    
    222     // call callback when finished.
    223     callback();
    224 }
     267       
     268       
     269    }catch(e){
     270        alert("exception: "+e);
     271       
     272    }
     273};
    225274
    226275
     
    229278  var self=this;
    230279   
    231     //console.log("RenderImageList");
    232     //console.log(new Date().getTime());
    233     //console.log(self);
    234     for (image in self.imageList) {
    235         var imagefile=self.imageList[image];
    236         self.renderImage(imagefile, null);   
     280    //console.log(self.imageList);
     281    //alert(typeof(self.imageList));
     282    if (typeof(self.imageList)==="undefined") return;
     283    try{
     284        for (var image in self.imageList) {
     285            if(self.imageList.hasOwnProperty(image)){
     286            var imagefile=self.imageList[image];
     287            self.renderImage(imagefile);
     288        } // if
     289      } //for
    237290    }
    238    
    239 }
    240 
    241 ImageManager.prototype.getImageList=function getImageList(callback){
     291    catch(e){
     292        alert("Exception in RenderImageList: "+e);
     293    }
     294   
     295};
     296
     297//ImageManager.prototype.getImageList=function getImageList(callback){
     298ImageManager.prototype.getImageList=function getImageList(){
    242299  // Gets Thin Client Images from server, and callbacks drawing image function when all they are loaded
    243300  var self=this;
     
    253310    //console.log("getImageList");
    254311    //console.log(new Date().getTime());
    255     var imagelist=JSON.parse(response);
     312    //var imagelist=JSON.parse(response);
    256313    //console.log(self);
    257314    //console.log(self.imageList);
    258315    //console.log(callback);
    259     callback(imagelist); // Returns image list
    260     //self.RenderImageList(); // ho fa el callback
    261     });
    262 }
    263 
    264 ImageManager.prototype.checkImageList=function checkImageList(){
    265   // Check if there is any new image in server and its state
    266     var self=this;
     316    //callback(imagelist); // Returns image list
     317    self.imageList=JSON.parse(response);
     318    self.RenderImageList(); // ho fa el callback
     319    });
     320};
     321
     322
     323/*ImageManager.prototype.checkImageList=function checkImageList(){
     324    var self=this;
     325    //var job_id=-1;
     326    self.getImageList(function(){
     327           
     328        });
     329};*/
     330
     331/*ImageManager.prototype.checkImageList=function checkImageList(){
     332    var self=this;
     333    //var job_id=-1;
    267334    self.getImageList(function(tmp_imagelist){
    268335        self.getTaskList(function(){
    269         console.log(self.currenttasks);   
    270         for (i in  tmp_imagelist){
     336            console.log(tmp_imagelist);
     337            console.log(self.currenttasks);
     338        });
     339    });
     340};*/
     341
     342   
     343   
     344                   
     345                   
     346
     347ImageManager.prototype.checkImageList_WTF=function checkImageList_WTF(){
     348  // Check if there is any new image in server and its state
     349    var self=this;
     350    //var job_id=-1;
     351    self.getImageList(function(tmp_imagelist){
     352        self.getTaskList(function(){
     353        //console.log(self.currenttasks);
     354        for (var i in  tmp_imagelist){
     355          if(imagelist.hasOwnProperty(i)){
    271356            var tmp_image=tmp_imagelist[i];
    272357            //console.log("self.imagelist="+self.imageList);
     
    280365            else{
    281366                var target=tmp_image.substr(0,tmp_image.length-5);
    282                 var imagefile=$('[target_id="'+target+'"]');
    283                 if (imagefile.length==0){  // if true, target is in imagelist, but has not been drawn!!
     367                var imagefile=$('.llx-ltsp-image-file[target_id="'+target+'"]');
     368                if (imagefile.length===0){  // if true, target is in imagelist, but has not been drawn!!
    284369                    self.renderImage(tmp_image, function(){});
    285370                }
    286371                else{ // if is drawn, let's check its status
    287372                    var itemstatus=$(imagefile).attr("status");
     373                    console.log("IMAGE FILE");
     374                    console.log($(imagefile));
    288375                    var sfi=self.checkStatusForImage(target);
    289                     if (itemstatus==sfi)
    290                         {console.log("status is the same::::::::::"+itemstatus);}
     376                    if (itemstatus==sfi.status)
     377                        {
     378                            console.log("status is the same::::::::::"+itemstatus);
     379                        }
    291380                    else{ // Cal tornar a pintar l status
    292381                        //$(itemstatus).attr("status", sfi);
     382                          /*console.log("status changed:");
     383                          console.log(target);
     384                          console.log(itemstatus);
     385                          console.log(sfi);
     386                          console.log("\\status changed:");*/
    293387                            $(imagefile).remove();
    294388                            self.renderImage(tmp_image, function(){});
    295389                        }
    296390                    }
    297             }
     391            }
     392          }// if
    298393        }  // for
    299394        }); // getTaskList
     
    403498        for (template in templatelist) {       
    404499            var templatefile=templatelist[template];
    405            
    406500            var credentials="";
    407501            var n4dclass="LmdTemplateManager";
     
    422516
    423517ImageManager.prototype.DrawTemplateIntoAssistant=function DrawTemplateIntoAssistant(template){
    424     var self=this;
    425     //console.log(template);
     518    //var self=this;
     519    template=JSON.parse(template);
    426520    var templateDiv=$(document.createElement("div")).attr("templateFileName", template.meta_inf.name).addClass("llx_ltsp_template_div");
    427521    var img=$(document.createElement("div")).css("background-image", "url(modules/lliurex-ltsp/src/css/img/"+template.default.llx_img+")").addClass("llx_ltsp_template_img");
     
    432526    $(templateDiv).attr("image_client_name", template.default.llx_name);
    433527    $(templateDiv).attr("image_client_desc", template.default.llx_desc);
     528    $(templateDiv).attr("image_client_arch", template.default.arch);
    434529    $(templateDiv).append(img, namedesc);
    435530    $("#llx-ltsp-assistant-image-templates").append(templateDiv);
     
    446541        $("#llx_ltsp_new_image_name").val($(this).attr("image_client_name"));
    447542        $("#llx_ltsp_new_image_desc").val($(this).attr("image_client_desc"));
    448        
     543        $("#llx_ltsp_new_image_arch").val($(this).attr("image_client_arch"));
    449544        });
    450545};
     
    484579                    }
    485580                    else { // Let's rock'n'roll
     581                        //console.log(image_data);
    486582                        self.createImageOnServer(id, image_data);
    487583                    }
     
    510606
    511607ImageManager.prototype.createImageOnServer=function createImageOnServer(id, image_data){
     608    console.log(id);
     609    console.log(image_data);
     610   
    512611    var credentials=[sessionStorage.username , sessionStorage.password];
    513612    var n4dclass="LmdServer";
    514     var n4dmethod="create_image";
     613    var n4dmethod="create_imageWS";
    515614    var arglist=[];
    516615    arglist.push(id);
     
    520619    arglist.push("test.png"); // TO - DO!!!! està al div class llx_ltsp_template_img --> l'hereta del template...
    521620     //id, name, template, description, bgimg, sessionStorage.server],
    522  
    523621    Utils.n4dWithLog(credentials, n4dclass, n4dmethod, arglist, null); // no callback is needed
    524622   
     
    533631
    534632ImageManager.prototype.deployMinimalClient=function deployMinimalClient(){
    535     var self=this;
     633    //var self=this;
    536634    try{           
    537635        var credentials=[sessionStorage.username , sessionStorage.password];
    538636        var n4dclass="LmdServer";
    539         var n4dmethod="deploy_minimal_client";
     637        var n4dmethod="deploy_minimal_clientWS";
    540638        var arglist=[];
    541639        //arglist.push("");
    542         arglist.push(sessionStorage.server);
     640        //arglist.push(sessionStorage.server);
    543641               
    544642       
    545643        //Utils.n4dWithLog(credentials, n4dclass, n4dmethod, arglist, function(response){});
    546644        Utils.n4dWithLog(credentials, n4dclass, n4dmethod, arglist, null); // no callback is needed
     645       
     646       
     647        // Hide minimal image button
     648        $("#llx_ltsp_lliurex_minimal_image").hide();
    547649       
    548650        }catch (error){
    549651                alert(error);
    550652           }
    551         }
     653        };
    552654
    553655ImageManager.prototype.bindEvents=function bindEvents(){
     
    572674       
    573675       
    574     })
     676    });
    575677       
    576678    /* Dialog for create new images UI Evnet Handling */
     
    603705        var image_name=$("#llx_ltsp_new_image_name").val();
    604706        var image_desc=$("#llx_ltsp_new_image_desc").val();
    605         if($("#optionsRadios_ltsp_arch_i386").prop("checked")) arch="i386";
    606         else arch="amd64";
    607        
    608         var arch2=$("#optionsRadios_ltsp_arch_amd64").attr("checked");
     707        var arch=$("#llx_ltsp_new_image_arch").val();
     708        /*if($("#optionsRadios_ltsp_arch_i386").prop("checked")) arch="i386";
     709        else {
     710            // Setting arch to amd64 and template name too
     711            arch="amd64";
     712            template=template.substring(0,template.length-5)+"-"+arch+".json";
     713            }*/
     714       
     715        //var arch2=$("#optionsRadios_ltsp_arch_amd64").attr("checked");
    609716       
    610717        var info_image={"template": template,
     
    612719                        "desc": image_desc,
    613720                        "arch": arch};
     721   
     722        console.log("111111111111111");
     723        console.log(info_image);
    614724       
    615725        self.confirmImageCreation(info_image);
     
    624734    /* Event for component show */
    625735    $("#ltsp_images").on("componentShown", function(e, args){
    626         if (self.timer==null) {
     736        if (self.timer===null) {
    627737            self.timer=setInterval(function(){
    628738                // check for new components in image list
    629739                //console.log("check for new images...");
    630                 self.checkImageList();
     740                //self.checkImageList();
     741                self.getImageList();
    631742               
    632743            }, 5000);
     744            //}, 100000); // To modify!!
    633745        }
    634746    });
     
    658770  */
    659771 
    660   self.checkImageList();
     772  //self.checkImageList();
     773  self.getImageList();
    661774 
    662775  self.checkMinimalImageIsInstalled();
Note: See TracChangeset for help on using the changeset viewer.