Package org.olat.core.gui.components.table

Examples of org.olat.core.gui.components.table.TableController


  private void initializeTableController(UserRequest ureq) {
    TableGuiConfiguration tableConfig = new TableGuiConfiguration();
    tableConfig.setTableEmptyMessage(translate("error.no.user.found"));
    tableConfig.setShowAllLinkEnabled(false);
    //use null as listener argument because we are using listenTo(..) from basiccontroller
    tableCtr = new TableController(tableConfig, ureq, getWindowControl(), this.propertyHandlerTranslator, null);
   
    List l = UserDeletionManager.getInstance().getIdentitiesInDeletionProcess(UserDeletionManager.getInstance().getDeleteEmailDuration());
    tdm = new UserDeleteTableModel(l, ureq.getLocale(), isAdministrativeUser);
    tdm.addColumnDescriptors(tableCtr, null,"table.identity.deleteEmail")
    tableCtr.addColumnDescriptor(new StaticColumnDescriptor(ACTION_SINGLESELECT_CHOOSE, "table.header.action", translate("action.activate")));       
View Full Code Here


        tableConfig = new TableGuiConfiguration();
        tableConfig.setDownloadOffered(false);
        tableConfig.setSortingEnabled(false);
        tableConfig.setColumnMovingOffered(false);
        hcTranslator = new HeaderColumnTranslator(getTranslator());
        dataTableCtr = new TableController(tableConfig, ureq, getWindowControl(), hcTranslator, this);
        for(int i = 0;i < numOfValPerLine; i++){
          dataTableCtr.addColumnDescriptor(new DefaultColumnDescriptor("ccc"+(i+1), i, null, ureq.getLocale()));
          // add every name of a column to a list deployed as pulldown to the user for matching column with olat key
          columnNames.add(getTranslator().translate("column", new String[]{""+(i+1)}));
        }
       
        step4VC = createVelocityContainer("bulkstep4");
        step4VC.contextPut("bulkActionDisplayName", bulkActionDisplayName);
        step4VC.contextPut("currentNodeShortTitle", currentNodeShortTitle);
       
        back4 = LinkFactory.createLinkBack(step4VC, this);
       
        dataModel = new GenericObjectArrayTableDataModel(rows, numOfLines);
        // the data model already contains the column for the feedback,
        // which is used at step 6 and not yet shown to the user
        dataTableCtr.setTableDataModel(dataModel);
        step4VC.put("dataTable", dataTableCtr.getInitialComponent());
       
        olatKeys = new ArrayList();
        // adding order is relevant for the "if-else if"-statement below at events from step 5
        olatKeys.add(translate("username"));
        olatKeys.add(translate("form.name.email"));
       
        removeAsListenerAndDispose(bulkStep4Form);
        bulkStep4Form = new BulkStep4Form(ureq, getWindowControl(), olatKeys,columnNames);
        listenTo(bulkStep4Form);
       
        step4VC.put("step4Form", bulkStep4Form.getInitialComponent());
       
        wc.setWizardTitle(translate("wizard.step4.title"));
        wc.setNextWizardStep(translate("wizard.step4.howto"), step4VC);
     
    }
    // events from step 4, preparing step 5
    else if (source == bulkStep4Form && event == Event.DONE_EVENT) {

        selectedColForOlatKey = Integer.parseInt(bulkStep4Form.getSelectedColumn());
        selectedOlatKey = Integer.parseInt(bulkStep4Form.getSelectedOlatKey());
        selectedValueOfOlatKey = (String) olatKeys.get(selectedOlatKey);
       
        step5VC = createVelocityContainer("bulkstep5");
        step5VC.contextPut("bulkActionDisplayName", bulkActionDisplayName);
        step5VC.contextPut("currentNodeShortTitle", currentNodeShortTitle);
       
        back5 = LinkFactory.createLinkBack(step5VC, this);
       
        dataTableCtr = new TableController(tableConfig, ureq, getWindowControl(), hcTranslator, this);
        columnNames = null;
        columnNames = new ArrayList();
        for(int i = 0;i < numOfValPerLine; i++){
          if (i != selectedColForOlatKey){
            dataTableCtr.addColumnDescriptor(new DefaultColumnDescriptor("ccc"+(i+1), i, null, ureq.getLocale()));
            // add every name of a column to a list deployed as pulldown to the user for matching column with bulk action
            columnNames.add(getTranslator().translate("column", new String[]{""+(i+1)}));
          }else{
            dataTableCtr.addColumnDescriptor(new DefaultColumnDescriptor("hhh" + selectedValueOfOlatKey, i, null, ureq.getLocale()));
          }
        }
       
        dataTableCtr.setTableDataModel(dataModel);
        step5VC.put("dataTable", dataTableCtr.getInitialComponent());
       
        removeAsListenerAndDispose(bulkStep5Form);
        bulkStep5Form = new BulkStep5Form(ureq, getWindowControl(), columnNames, bulkActions);
        listenTo(bulkStep5Form);
       
        step5VC.put("step5Form", bulkStep5Form.getInitialComponent());
       
        wc.setWizardTitle(translate("wizard.step5.title"));
        wc.setNextWizardStep(translate("wizard.step5.howto"), step5VC);
    }
    // events from step 5, preparing step 6
    else if (source == bulkStep5Form && event == Event.DONE_EVENT) { // user clicked 'next'-button !!!!!!!
        List rowsFeedbackStep = new ArrayList(rows.size());
        for (Iterator iter = rows.iterator(); iter.hasNext();) {
          Object[] values = (Object[]) iter.next();
          rowsFeedbackStep.add(values.clone());
        }
        String selectedColForBulk = bulkStep5Form.getSelectedColumn();
        int colForBulk = Integer.parseInt(selectedColForBulk);
        // While the user is matching the olatKey with a table column the relation between
        // table indices and pulldown menu indices is ok, but now while matching the bulkaction
        // with a table column the indices are only ok in certain cases, because the user choosen
        // column for the olatKey is not more shown in the second pulldown menu. It means by example
        // if the user choose pulldown index [1] for the olatKey, it really meets the table index[1],
        // then in the next step the pulldown has not more as many indices as before.
        // If the user is now choosing the pulldown index[1] for the bulkaction he would meet the before selected
        // column for the olatKey, if the system id not adding 1 to the index count.
        if (selectedColForOlatKey <= colForBulk) colForBulk++;

        step6VC = createVelocityContainer("bulkstep6");
        finishedButton = LinkFactory.createButtonSmall("finished", step6VC, this);
        step6VC.put("finishedButton", finishedButton);
       
        step6VC.contextPut("bulkActionDisplayName", bulkActionDisplayName);
        step6VC.contextPut("currentNodeShortTitle", currentNodeShortTitle);
       
        back6 = LinkFactory.createLinkBack(step6VC, this);
       
        GenericObjectArrayTableDataModel feedbackDataModel = new GenericObjectArrayTableDataModel(rowsFeedbackStep, numOfLines);
       
        UserManager um = UserManager.getInstance();
        Manager secMgr = ManagerFactory.getManager();
       
        BulkActionModule bam = new BulkActionModule();
        BulkAction ba = (BulkAction) bulkActions.get(bulkType);

        // TODO: as:b may be add additional class hierarchy (ask pb !!!)
        if ((ba instanceof BulkActionSetNodeScore)){
          ((BulkActionSetNodeScore) ba).setCourseNode((AssessableCourseNode)currentCourseNode);
        }else if ((ba instanceof BulkActionSetNodePassed)){
          ((BulkActionSetNodePassed) ba).setCourseNode((AssessableCourseNode)currentCourseNode);
        }else if ((ba instanceof BulkActionSetNodeUserComment)){
          ((BulkActionSetNodeUserComment) ba).setCourseNode((AssessableCourseNode)currentCourseNode);
        }
       
        List identitiesAndTheirAssessments = new ArrayList(feedbackDataModel.getRowCount());
        // read values from the column which the user has defined as olat key (e.g. username)
        // and add them to a list.
        for(int i = 0; i < feedbackDataModel.getRowCount(); i ++ ){
          String val = (String) feedbackDataModel.getValueAt(i, selectedColForOlatKey);
          val = val.trim();
          String assessment = (String) feedbackDataModel.getValueAt(i, colForBulk);
          Identity identity = null;

          if (selectedOlatKey == 0){ // username
              identity = secMgr.findIdentityByName(val);
          }else if (selectedOlatKey == 1) { // email
            identity = um.findIdentityByEmail(val);
          }
          identitiesAndTheirAssessments.add(new Object[]{identity,assessment});
        }
        List bulkResults = bam.apply(identitiesAndTheirAssessments, ba);
       
        // add the bulk results to the data model
        for(int i = 0; i < feedbackDataModel.getRowCount(); i++ ){           
          Object[] feedback = (Object[]) bulkResults.get(i);
          feedbackDataModel.setValueAt(feedback[2],i, numOfValPerLine);
        }
       
        tableConfig.setDownloadOffered(true);
       
        feedbackDataTableCtr = new TableController(tableConfig, ureq, getWindowControl(), hcTranslator, this);
        columnNames = null;
        columnNames = new ArrayList();
        for(int i = 0;i < numOfValPerLine; i++){
          if (i == selectedColForOlatKey){
            feedbackDataTableCtr.addColumnDescriptor(new DefaultColumnDescriptor("hhh" + selectedValueOfOlatKey, i, null, ureq.getLocale()));
View Full Code Here

    tableConfigNodeChoose.setDisplayTableHeader(true);
    tableConfigNodeChoose.setDisplayRowCount(false);
    tableConfigNodeChoose.setPageingEnabled(false);
   
    if(nodeListCtr!=null)nodeListCtr.dispose();
    nodeListCtr = new TableController(tableConfigNodeChoose, ureq, getWindowControl(), getTranslator(), this);
    // table columns   
    nodeListCtr.addColumnDescriptor(new CustomRenderColumnDescriptor("table.header.node", 0,
        null, ureq.getLocale(), ColumnDescriptor.ALIGNMENT_LEFT, new IndentedNodeRenderer()));
    nodeListCtr.addColumnDescriptor(new DefaultColumnDescriptor("table.action.select", 1,
        CMD_SELECT_NODE, ureq.getLocale()));
View Full Code Here

    if (repoTableModelEntries.size() > 1) {
      Translator resourceTrans = Util.createPackageTranslator(RepositoryTableModel.class, ureq.getLocale(), getTranslator());
     
      TableGuiConfiguration tableConfig = new TableGuiConfiguration();   
      if (resourcesCtr != null) resourcesCtr.dispose();
      resourcesCtr = new TableController(tableConfig, ureq, getWindowControl(), resourceTrans, this);
      RepositoryTableModel repoTableModel = new RepositoryTableModel(resourceTrans);
      repoTableModel.setEntries(repoTableModelEntries);
      repoTableModel.addColumnDescriptors(resourcesCtr, null, false);
      resourcesCtr.setTableDataModel(repoTableModel);
      overviewVC.put("otherResources", resourcesCtr.getInitialComponent());
View Full Code Here

    // Init table only once
    if (groupListCtr == null) {
      TableGuiConfiguration tableConfig = new TableGuiConfiguration();
      tableConfig.setTableEmptyMessage(translate("grouplist.no.groups"));
      // init group list filter controller
      groupListCtr = new TableController(tableConfig, ureq, getWindowControl(), this.areaFilters, this.currentAreaFilter,
          translate("grouplist.areafilter.title"), translate("grouplist.areafilter.nofilter"), getTranslator(), this);

      groupListCtr.addColumnDescriptor(new DefaultColumnDescriptor("grouplist.table.name", 0, CMD_GROUP_RUN, ureq.getLocale()));
      groupListCtr.addColumnDescriptor(new DefaultColumnDescriptor("grouplist.table.desc", 1, null, ureq.getLocale()));
      groupListCtr.addColumnDescriptor(new StaticColumnDescriptor(CMD_GROUP_EDIT, "grouplist.table.edit", translate(CMD_GROUP_EDIT)));
View Full Code Here

      if (areaListCtr != null) areaListCtr.dispose();
      TableGuiConfiguration tableConfig = new TableGuiConfiguration();
      tableConfig.setTableEmptyMessage(translate("arealist.no.areas"));
      if (areaListCtr != null) areaListCtr.dispose();
      areaListCtr = new TableController(tableConfig, ureq, getWindowControl(), getTranslator(), this);
      areaListCtr.addColumnDescriptor(new DefaultColumnDescriptor("arealist.table.name", 0, null, ureq.getLocale()));
      areaListCtr.addColumnDescriptor(new DefaultColumnDescriptor("arealist.table.desc", 1, null, ureq.getLocale()));
      areaListCtr.addColumnDescriptor(new StaticColumnDescriptor(CMD_AREA_EDIT, "arealist.table.edit", translate(CMD_AREA_EDIT)));
      if (flags.isEnabled(BGConfigFlags.AREAS_DELETE)) {
        areaListCtr.addColumnDescriptor(new StaticColumnDescriptor(CMD_AREA_DELETE, "arealist.table.delete",
View Full Code Here

   
    this.changeableIdentity = changeableIdentity;   
   
    // init main view container as initial component
    TableGuiConfiguration tableConfig = new TableGuiConfiguration();
    tableCtr = new TableController(tableConfig, ureq, getWindowControl(), getTranslator(), null);
    tableCtr.addColumnDescriptor(new DefaultColumnDescriptor("table.auth.provider", 0, null, ureq.getLocale()));
    tableCtr.addColumnDescriptor(new DefaultColumnDescriptor("table.auth.login", 1, null, ureq.getLocale()));
    tableCtr.addColumnDescriptor(new DefaultColumnDescriptor("table.auth.credential", 2, null, ureq.getLocale()));
    tableCtr.addColumnDescriptor(new StaticColumnDescriptor("delete", "table.header.action", translate("delete")));
    authTableModel = new AuthenticationsTableDataModel(ManagerFactory.getManager().getAuthentications(changeableIdentity));
View Full Code Here

    tableConfig.setDisplayTableHeader(true);
    tableConfig.setDisplayRowCount(false);
    tableConfig.setPageingEnabled(false);
   
    if (nodeListCtr != null) removeAsListenerAndDispose(nodeListCtr);
    nodeListCtr = new TableController(tableConfig, ureq, getWindowControl(), this.getTranslator(), null);
    listenTo(nodeListCtr);
    // table columns   
    nodeListCtr.addColumnDescriptor(new CustomRenderColumnDescriptor("table.header.node", 0,
        null, ureq.getLocale(), ColumnDescriptor.ALIGNMENT_LEFT, new IndentedNodeRenderer()));
    nodeListCtr.addColumnDescriptor(new DefaultColumnDescriptor("table.action.select", 1,
View Full Code Here

    tableConfig.setSortingEnabled(false);
    tableConfig.setDisplayTableHeader(true);
    tableConfig.setDisplayRowCount(false);
    tableConfig.setPageingEnabled(false);
   
    nodeListCtr = new TableController(tableConfig, ureq, getWindowControl(), getTranslator(), this);
    // table columns   
    nodeListCtr.addColumnDescriptor(new CustomRenderColumnDescriptor("table.header.node", 0,
        null, ureq.getLocale(), ColumnDescriptor.ALIGNMENT_LEFT, new IndentedNodeRenderer()));
    nodeListCtr.addColumnDescriptor(new DefaultColumnDescriptor("table.action.select", 1,
        CMD_SELECT_NODE, ureq.getLocale()));
View Full Code Here

  public static TableController createTableControllerFor(TableGuiConfiguration tableConfig, List identities, UserRequest ureq,
      WindowControl wControl, ControllerEventListener tableEventListener, String actionCommand) {
    Locale loc = ureq.getLocale();
    Translator trans = new PackageTranslator(PACKAGE, loc);
    trans = UserManager.getInstance().getPropertyHandlerTranslator(trans);
    TableController tableCtr = new TableController(tableConfig, ureq, wControl, trans, tableEventListener);
    Roles roles = ureq.getUserSession().getRoles();
    boolean isAdministrativeUser = (roles.isAuthor() || roles.isGroupManager() || roles.isUserManager() || roles.isOLATAdmin());
    UserTableDataModel userDataModel = new UserTableDataModel(identities, loc, isAdministrativeUser);
    userDataModel.addColumnDescriptors(tableCtr, actionCommand);
    tableCtr.setTableDataModel(userDataModel);
    return tableCtr;
  }
View Full Code Here

TOP

Related Classes of org.olat.core.gui.components.table.TableController

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.