--- /dev/null
+/*****************************************************************************
+ * Copyright Igor Barma, Eric Brun, Alexandre Desoubeaux, Christian Martel,
+ * (2 décembre 2008)
+ *
+ * Ce logiciel est un programme informatique servant à l'évaluation des
+ * compétences.
+ *
+ * Ce logiciel est régi par la licence CeCILL soumise au droit français et
+ * respectant les principes de diffusion des logiciels libres. Vous pouvez
+ * utiliser, modifier et/ou redistribuer ce programme sous les conditions
+ * de la licence CeCILL telle que diffusée par le CEA, le CNRS et l'INRIA
+ * sur le site "http://www.cecill.info".
+ *
+ * En contrepartie de l'accessibilité au code source et des droits de copie,
+ * de modification et de redistribution accordés par cette licence, il n'est
+ * offert aux utilisateurs qu'une garantie limitée. Pour les mêmes raisons,
+ * seule une responsabilité restreinte pèse sur l'auteur du programme, le
+ * titulaire des droits patrimoniaux et les concédants successifs.
+ *
+ * A cet égard l'attention de l'utilisateur est attirée sur les risques
+ * associés au chargement, à l'utilisation, à la modification et/ou au
+ * développement et à la reproduction du logiciel par l'utilisateur étant
+ * donné sa spécificité de logiciel libre, qui peut le rendre complexe à
+ * manipuler et qui le réserve donc à des développeurs et des professionnels
+ * avertis possédant des connaissances informatiques approfondies. Les
+ * utilisateurs sont donc invités à charger et tester l'adéquation du
+ * logiciel à leurs besoins dans des conditions permettant d'assurer la
+ * sécurité de leurs systèmes et ou de leurs données et, plus généralement,
+ * à l'utiliser et l'exploiter dans les mêmes conditions de sécurité.
+ *
+ * Le fait que vous puissiez accéder à cet en-tête signifie que vous avez
+ * pris connaissance de la licence CeCILL, et que vous en avez accepté les
+ * termes.
+ *******************************************************************************/
+package com.pentila.evalcomp.client.evalFolder;
+
+import java.util.List;
+
+import com.google.gwt.i18n.client.DateTimeFormat;
+import com.pentila.evalcomp.client.i18n.Messages;
+import com.pentila.evalcomp.client.utilities.Tools;
+import com.pentila.evalcomp.domain.certification.RessourceCert;
+import com.pentila.evalcomp.domain.certification.UserCertInstance;
+import com.smartgwt.client.types.SortDirection;
+import com.smartgwt.client.widgets.grid.CellFormatter;
+import com.smartgwt.client.widgets.grid.ListGrid;
+import com.smartgwt.client.widgets.grid.ListGridField;
+import com.smartgwt.client.widgets.grid.ListGridRecord;
+import com.smartgwt.client.widgets.grid.events.RecordDoubleClickEvent;
+import com.smartgwt.client.widgets.grid.events.RecordDoubleClickHandler;
+import com.smartgwt.client.widgets.layout.VLayout;
+
+/**
+ * The Class RessourceCertPanel.
+ */
+public class RessourceCertPanel extends VLayout {
+
+ /** The grid. */
+ ListGrid grid;
+
+
+ /** The lrc. */
+ private List<RessourceCert> lrc;
+
+
+ /**
+ * Instantiates a new ressource cert panel.
+ *
+ * @param lrc the lrc
+ */
+ public RessourceCertPanel(List<RessourceCert> lrc) {
+ super();
+ this.lrc = lrc;
+ initilizeInterface();
+ }
+
+
+ /**
+ * Initilize interface.
+ */
+ public void initilizeInterface(){
+ //setBorder(false);
+
+ setHeight(200);
+ grid = new ListGrid();
+ grid.setWidth100();
+ grid.setHeight100();
+
+
+
+
+ ListGridField filename = new ListGridField("filename", Messages.getString("Fichier"));
+
+ filename.setCellFormatter(new CellFormatter(){
+
+ public String format(Object value, ListGridRecord record,
+ int rowNum, int colNum) {
+
+
+
+ String res = "";
+ String type = record.getAttributeAsString("type");
+
+
+
+ if (type.equals("" + UserCertInstance.ATTESTATION)){
+ res = "<img src=\"" + Tools.getBaseURL() +"images/" + "attestation-16x16.png" + "\"/>";
+ }else{
+ res = "<img src=\"" + Tools.getBaseURL() +"images/" + "certificate-16x16.png" + "\"/>";
+ }
+
+
+ return res + " " + record.getAttributeAsString("filename");
+
+ }
+
+ });
+
+
+ ListGridField type = new ListGridField("type", Messages.getString("Type"));
+
+ type.setCellFormatter(new CellFormatter(){
+
+ public String format(Object value, ListGridRecord record,
+ int rowNum, int colNum) {
+ String v = (String) value;
+
+ if (v.equals("" + UserCertInstance.ATTESTATION)){
+ return Messages.getString("Attestation");
+ }
+ return Messages.getString("Certificat");
+
+ }
+
+ });
+
+ ListGridField date = new ListGridField("date", Messages.getString("Date"));
+ ListGridField username = new ListGridField("username", Messages.getString("President"));
+
+
+
+
+ grid.setFields(filename, type, date, username);
+
+
+
+
+ grid.sort("filename", SortDirection.ASCENDING);
+
+ addMember(grid);
+
+
+
+ grid.addRecordDoubleClickHandler(new RecordDoubleClickHandler(){
+
+ public void onRecordDoubleClick(RecordDoubleClickEvent event) {
+ String url = "";
+
+ com.smartgwt.client.data.Record r = event.getRecord();
+
+ String pKey = r.getAttributeAsString("pluginKey");
+ String path = Tools.encodePath(r.getAttributeAsString("ressourceKey"));
+ String filename = r.getAttributeAsString("filename");
+ url = Tools.getRessourceAccessURL() + "?pluginKey="
+ + pKey + "&ressourceKey="
+ + path + "&mode=";
+
+ Tools.displayRessourceUrl(url, "", filename, "");
+ }
+
+ });
+
+
+
+
+
+ }
+
+ /**
+ * Update.
+ */
+ public void update(){
+ ListGridRecord[] array = new ListGridRecord[lrc.size()];
+
+ int i = 0;
+
+ DateTimeFormat fmt = DateTimeFormat.getFormat("dd/MM/yyyy");
+
+
+
+ for (RessourceCert rc : lrc){
+
+ UserCertInstance uci = rc.getUserCertInstance();
+ String username = uci.getOfficer().getLastname() + " " + uci.getOfficer().getFirstname();
+
+
+ ListGridRecord lgr = new ListGridRecord();
+
+ lgr.setAttribute("filename", rc.getName());
+ lgr.setAttribute("type", ""+uci.getType());
+ lgr.setAttribute("date", fmt.format(uci.getDate()));
+ lgr.setAttribute("username", username);
+ lgr.setAttribute("pluginKey", rc.getPluginKey());
+ lgr.setAttribute("ressourceKey", rc.getPath());
+
+
+ array[i++] = lgr;
+
+ }
+
+
+
+ grid.setData(array);
+ }
+
+
+
+
+}