Uploaded image for project: 'Moodle'
  1. Moodle
  2. MDL-19277

A function to add a new active filter to after deleting all active filters

XMLWordPrintable

    • Icon: New Feature New Feature
    • Resolution: Inactive
    • Icon: Major Major
    • None
    • 1.9.5
    • Administration, Usability
    • None
    • MOODLE_19_STABLE
    • Easy

      In 'Site Administration"[Users][Accounts]-[Browse List of Users],
      When we search the user newly, at first we must delete old active filters by pushing "Remove all filters".
      We had developed a method to omit this troublesome work by adding new check box.
      Let you try the new feature!

      Patches for Moodle1.9 are as follows;
      (adding one statement and one block, commenting out one statement only!)

      (a) user/filters/lib.php

      class user_filtering, function user_filtering()

      foreach ($fieldnames as $fieldname=>$advanced) {
      if ($field = $this->get_field($fieldname, $advanced))

      { $this->_fields[$fieldname] = $field; }

      }

      // fist the new filter form
      $this->_addform = new user_add_filter_form($baseurl, array('fields'=>$this->_fields, 'extraparams'=>$extraparams));
      if ($adddata = $this->_addform->get_data(false)) {
      // (Shirai): add from here
      if (!empty($adddata->removealladd) && ($adddata->removealladd)) $SESSION->user_filtering = array();
      // (Shirai): Add to here
      foreach($this->_fields as $fname=>$field) {
      $data = $field->check_data($adddata);
      if ($data === false)

      { continue; // nothing new }

      if (!array_key_exists($fname, $SESSION->user_filtering))

      { $SESSION->user_filtering[$fname] = array(); }

      $SESSION->user_filtering[$fname][] = $data;
      }

      (b) user/filters/user_filter_forms.php

      class user_add_filter_form, function definition()

      function definition() {
      $mform =& $this->_form;
      $fields = $this->_customdata['fields'];
      $extraparams = $this->_customdata['extraparams'];

      $mform->addElement('header', 'newfilter', get_string('newfilter','filters'));

      foreach($fields as $ft)

      { $ft->setupForm($mform); }

      // in case we wasnt to track some page params
      if ($extraparams) {
      foreach ($extraparams as $key=>$value)

      { $mform->addElement('hidden', $key, $value); }

      }

      // Add button
      // (Shirai): comment out this line
      // $mform->addElement('submit', 'addfilter', get_string('addfilter','filters'));
      // (Shirai): add from here
      $objs = array();
      $objs[] = &$mform->createElement('submit', 'addfilter', get_string('addfilter', 'filters'));
      $objs[] = &$mform->createElement('checkbox', 'removealladd', null, 'Add filter after removing all');
      $mform->addElement('group', 'addfiltergrp', '', $objs, ' ', false);
      $mform->setDefault('removealladd', '0');
      // (Shirai): add from here

      // Don't use last advanced state
      $mform->setShowAdvanced(false);
      }
      }

        1. ManipulatingActiveFilters.jpg
          37 kB
          Tatsuya Shirai
        2. NewInterface20090723.jpg
          88 kB
          Tatsuya Shirai
        3. Robb_Filter_suggestion.jpg
          23 kB
          Thomas Robb

            Unassigned Unassigned
            shirai Tatsuya Shirai
            Votes:
            1 Vote for this issue
            Watchers:
            3 Start watching this issue

              Created:
              Updated:
              Resolved:

                Error rendering 'clockify-timesheets-time-tracking-reports:timer-sidebar'. Please contact your Jira administrators.