AnsweredAssumed Answered

custom button for different user

Question asked by tavvolley on Aug 18, 2013
Latest reply on Aug 21, 2013 by tavvolley
Salve a tutti mi chiamo rocco e sono un novello di alfresco!!

Vorrei fare alcune domande.
l'architettura su cui ho messo le mani in questi giorni è molto complessa e sto cercando di analizzarla (si tratta della creazione di un amp che una volta installato ti consente di creare un nuovo tipo di sito personalizzato).
Riassumo in breve il funzionamento. In fase di creazione del sito si può scegliere di fare un sito di tipo fatture.
Quando si clicca sul sito di tipo fattura viene aperto il classico sito di alfesco con l'aggiunta di un tasto "fatturazione" su una dashlet.
Cliccando sul bottone fatturazione si apre una nuova pagina di alfresco personalizzata con 5 pulsanti, una tabella…


Quello che dovrei fare io è far visualizzare i pulsanti in base all'utente loggato quando si clicca sul tasto fatturazione.

lo script che devo modificare si trova in tomcat/share/fat/components/fattura/fattura-min.js

l'instestazione del file inizia con :

<import resource="/Company Home/Data Dictionary/Scripts/library.js">


(function()
{
   /**
    * YUI Library aliases
    */
   var Dom = YAHOO.util.Dom,
      Event = YAHOO.util.Event,
      Element = YAHOO.util.Element;
   
   var varsorting = "desc";
//**************************************************************************************
//righe aggiunte
   var username = Alfresco.costants.USERNAME

   model.user = people.getPerson(Alfresco.costants.USERNAME);
        //var test = people.getPerson(Alfresco.costants.USERNAME);
        //ERRORE: ReferenceError: people is not defined
     //model.scriptUser = groups.getUser(username);
        //var test = groups.getUser(username);
        //ERRORE: ReferenceError: groups is not defined
//**************************************************************************************
  
   Event.onAvailable("facture-list", function(){
      
      
      var pesona = new people.getPerson(Alfresco.constants.USERNAME)
      // datatable object
      var source = new YAHOO.util.XHRDataSource(Alfresco.constants.PROXY_URI_RELATIVE+"gest/fat/fatture/list?site="+Alfresco.constants.SITE);
      source.responseType = YAHOO.util.XHRDataSource.TYPE_JSON;
      source.responseSchema = {
          resultsList : "results",
          fields : [
              { key: "noderef" },
         { key: "facture" },
         { key: "date" },
         { key: "owner" },
         { key: "status" },
         { key: "subject" },
         { key: "classification" },
         { key: "document" },
         { key: "note" }
         ],
          metaFields: {
              totalRecords : "total",
              startIndex: "startIndex"
          }
      };

….


ho fatto vari tentativi, ma quando aggiungo le mie righe di codice javascript va in eccezione e non carica la pagina.
<ul>
<li> prima domanda devo utilizzare service o script? quali sono le differenze fondamentali?</li>
<li> ho pensato che l'oggetto people non esista allora ho creato un bean e all'intenro del file fat-context.xml</li>
</ul>
ho aggiunto :


<bean id="peopleScript" class="org.alfresco.repo.jscript.People">
   <propery name="extensionName">
      <value>people</value>
   </property>
</bean>

ma sempre senza nessun successo.
potreste darmi una mano, oppure delle dritte su come fare ? grazie in anticipo.

Outcomes