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

The log helper sets the store incorrectly

XMLWordPrintable

    • MOODLE_400_STABLE, MOODLE_401_STABLE
    • MOODLE_400_STABLE, MOODLE_401_STABLE
    • MDL-76556-401
    • MDL-76556-master
    • Hide
      1. Edit admin/tool/log/classes/helper/store.php and apply the patch:

        ➜  sm git:(MDL-76556-master) ✗ git d
        diff --git a/admin/tool/log/classes/helper/store.php b/admin/tool/log/classes/helper/store.php
        index ea506ca2ae..74e1e12827 100644
        --- a/admin/tool/log/classes/helper/store.php
        +++ b/admin/tool/log/classes/helper/store.php
        @@ -58,6 +58,7 @@ trait store {
                 }
                 $this->component = $parts[0];
                 $this->store = str_replace('logstore_', '', $this->component);
        +        var_dump($this->store);
             }
         
             /**
        

      2. Init phpunit
      3. Run phpunit with this filter:

        vendor/bin/phpunit --filter store_test
        

        1. Confirm that there was no empty strings dumped

      Here's an example of what you might see:

      ➜  sm git:(MDL-76556-master) ✗ vendor/bin/phpunit --filter store_test
      Moodle 4.2dev (Build: 20221201), a8f63b26be0cb1aa3367771045b7b1824cad6897
      Php: 8.0.24, pgsql: 12.12, OS: Darwin 21.6.0 arm64
      PHPUnit 9.5.26 by Sebastian Bergmann and contributors.
       
      .........................................SSS....SSSSSSSSSSSSSSS  63 / 126 ( 50%)
      S....S...........R/Users/nicols/Sites/moodles/sm/moodle/admin/tool/log/classes/helper/store.php:61:
      string(8) "database"
      /Users/nicols/Sites/moodles/sm/moodle/admin/tool/log/classes/helper/store.php:61:
      string(8) "database"
      /Users/nicols/Sites/moodles/sm/moodle/admin/tool/log/classes/helper/store.php:61:
      string(8) "database"
      R/Users/nicols/Sites/moodles/sm/moodle/admin/tool/log/classes/helper/store.php:61:
      string(8) "database"
      /Users/nicols/Sites/moodles/sm/moodle/admin/tool/log/classes/helper/store.php:61:
      string(8) "database"
      /Users/nicols/Sites/moodles/sm/moodle/admin/tool/log/classes/helper/store.php:61:
      string(8) "database"
      .R/Users/nicols/Sites/moodles/sm/moodle/admin/tool/log/classes/helper/store.php:61:
      string(8) "database"
      /Users/nicols/Sites/moodles/sm/moodle/admin/tool/log/classes/helper/store.php:61:
      string(8) "database"
      /Users/nicols/Sites/moodles/sm/moodle/admin/tool/log/classes/helper/store.php:61:
      string(8) "database"
      /Users/nicols/Sites/moodles/sm/moodle/admin/tool/log/classes/helper/store.php:61:
      string(8) "database"
      /Users/nicols/Sites/moodles/sm/moodle/admin/tool/log/classes/helper/store.php:61:
      string(8) "database"
      /Users/nicols/Sites/moodles/sm/moodle/admin/tool/log/classes/helper/store.php:61:
      string(8) "database"
      /Users/nicols/Sites/moodles/sm/moodle/admin/tool/log/classes/helper/store.php:61:
      string(8) "database"
      R/Users/nicols/Sites/moodles/sm/moodle/admin/tool/log/classes/helper/store.php:61:
      string(8) "database"
      R/Users/nicols/Sites/moodles/sm/moodle/admin/tool/log/classes/helper/store.php:61:
      string(6) "legacy"
      /Users/nicols/Sites/moodles/sm/moodle/admin/tool/log/classes/helper/store.php:61:
      string(6) "legacy"
      /Users/nicols/Sites/moodles/sm/moodle/admin/tool/log/classes/helper/store.php:61:
      string(8) "standard"
      .R/Users/nicols/Sites/moodles/sm/moodle/admin/tool/log/classes/helper/store.php:61:
      string(6) "legacy"
      .R/Users/nicols/Sites/moodles/sm/moodle/admin/tool/log/classes/helper/store.php:61:
      string(8) "standard"
      /Users/nicols/Sites/moodles/sm/moodle/admin/tool/log/classes/helper/store.php:61:
      string(8) "standard"
      /Users/nicols/Sites/moodles/sm/moodle/admin/tool/log/classes/helper/store.php:61:
      string(8) "standard"
      R/Users/nicols/Sites/moodles/sm/moodle/admin/tool/log/classes/helper/store.php:61:
      string(8) "standard"
      /Users/nicols/Sites/moodles/sm/moodle/admin/tool/log/classes/helper/store.php:61:
      string(8) "standard"
      /Users/nicols/Sites/moodles/sm/moodle/admin/tool/log/classes/helper/store.php:61:
      string(8) "standard"
      .R/Users/nicols/Sites/moodles/sm/moodle/admin/tool/log/classes/helper/store.php:61:
      string(8) "standard"
      .R/Users/nicols/Sites/moodles/sm/moodle/admin/tool/log/classes/helper/store.php:61:
      string(8) "standard"
      .......R/Users/nicols/Sites/moodles/sm/moodle/admin/tool/log/classes/helper/store.php:61:
      string(8) "standard"
      /Users/nicols/Sites/moodles/sm/moodle/admin/tool/log/classes/helper/store.php:61:
      string(8) "database"
      /Users/nicols/Sites/moodles/sm/moodle/admin/tool/log/classes/helper/store.php:61:
      string(8) "database"
      R/Users/nicols/Sites/moodles/sm/moodle/admin/tool/log/classes/helper/store.php:61:
      string(8) "standard"
      /Users/nicols/Sites/moodles/sm/moodle/admin/tool/log/classes/helper/store.php:61:
      string(8) "database"
      /Users/nicols/Sites/moodles/sm/moodle/admin/tool/log/classes/helper/store.php:61:
      string(8) "database"
      SSR/Users/nicols/Sites/moodles/sm/moodle/admin/tool/log/classes/helper/store.php:61:
      string(8) "database"
      /Users/nicols/Sites/moodles/sm/moodle/admin/tool/log/classes/helper/store.php:61:
      string(8) "database"
      R/Users/nicols/Sites/moodles/sm/moodle/admin/tool/log/classes/helper/store.php:61:
      string(8) "database"
      /Users/nicols/Sites/moodles/sm/moodle/admin/tool/log/classes/helper/store.php:61:
      string(8) "database"
      .................. 126 / 126 (100%)
       
       
      Time: 00:38.090, Memory: 356.00 MB
       
      There were 14 risky tests:
       
      1) logstore_database\store_test::test_log_writing with data set #0 (false)
      This test printed output: /Users/nicols/Sites/moodles/sm/moodle/admin/tool/log/classes/helper/store.php:61:
      string(8) "database"
      /Users/nicols/Sites/moodles/sm/moodle/admin/tool/log/classes/helper/store.php:61:
      string(8) "database"
      /Users/nicols/Sites/moodles/sm/moodle/admin/tool/log/classes/helper/store.php:61:
      string(8) "database"
       
      2) logstore_database\store_test::test_log_writing with data set #1 (true)
      This test printed output: /Users/nicols/Sites/moodles/sm/moodle/admin/tool/log/classes/helper/store.php:61:
      string(8) "database"
      /Users/nicols/Sites/moodles/sm/moodle/admin/tool/log/classes/helper/store.php:61:
      string(8) "database"
      /Users/nicols/Sites/moodles/sm/moodle/admin/tool/log/classes/helper/store.php:61:
      string(8) "database"
       
      3) logstore_database\store_test::test_is_event_ignored
      This test printed output: /Users/nicols/Sites/moodles/sm/moodle/admin/tool/log/classes/helper/store.php:61:
      string(8) "database"
      /Users/nicols/Sites/moodles/sm/moodle/admin/tool/log/classes/helper/store.php:61:
      string(8) "database"
      /Users/nicols/Sites/moodles/sm/moodle/admin/tool/log/classes/helper/store.php:61:
      string(8) "database"
      /Users/nicols/Sites/moodles/sm/moodle/admin/tool/log/classes/helper/store.php:61:
      string(8) "database"
      /Users/nicols/Sites/moodles/sm/moodle/admin/tool/log/classes/helper/store.php:61:
      string(8) "database"
      /Users/nicols/Sites/moodles/sm/moodle/admin/tool/log/classes/helper/store.php:61:
      string(8) "database"
      /Users/nicols/Sites/moodles/sm/moodle/admin/tool/log/classes/helper/store.php:61:
      string(8) "database"
       
      4) logstore_database\store_test::test_get_supported_reports
      This test printed output: /Users/nicols/Sites/moodles/sm/moodle/admin/tool/log/classes/helper/store.php:61:
      string(8) "database"
       
      5) logstore_legacy\store_test::test_log_writing
      This test printed output: /Users/nicols/Sites/moodles/sm/moodle/admin/tool/log/classes/helper/store.php:61:
      string(6) "legacy"
      /Users/nicols/Sites/moodles/sm/moodle/admin/tool/log/classes/helper/store.php:61:
      string(6) "legacy"
      /Users/nicols/Sites/moodles/sm/moodle/admin/tool/log/classes/helper/store.php:61:
      string(8) "standard"
       
      6) logstore_legacy\store_test::test_get_supported_reports
      This test printed output: /Users/nicols/Sites/moodles/sm/moodle/admin/tool/log/classes/helper/store.php:61:
      string(6) "legacy"
       
      7) logstore_standard\store_test::test_log_writing with data set #0 (false)
      This test printed output: /Users/nicols/Sites/moodles/sm/moodle/admin/tool/log/classes/helper/store.php:61:
      string(8) "standard"
      /Users/nicols/Sites/moodles/sm/moodle/admin/tool/log/classes/helper/store.php:61:
      string(8) "standard"
      /Users/nicols/Sites/moodles/sm/moodle/admin/tool/log/classes/helper/store.php:61:
      string(8) "standard"
       
      8) logstore_standard\store_test::test_log_writing with data set #1 (true)
      This test printed output: /Users/nicols/Sites/moodles/sm/moodle/admin/tool/log/classes/helper/store.php:61:
      string(8) "standard"
      /Users/nicols/Sites/moodles/sm/moodle/admin/tool/log/classes/helper/store.php:61:
      string(8) "standard"
      /Users/nicols/Sites/moodles/sm/moodle/admin/tool/log/classes/helper/store.php:61:
      string(8) "standard"
       
      9) logstore_standard\store_test::test_get_supported_reports
      This test printed output: /Users/nicols/Sites/moodles/sm/moodle/admin/tool/log/classes/helper/store.php:61:
      string(8) "standard"
       
      10) logstore_standard\store_test::test_events_traversable
      This test printed output: /Users/nicols/Sites/moodles/sm/moodle/admin/tool/log/classes/helper/store.php:61:
      string(8) "standard"
       
      11) logstore_standard\store_test::test_backup_restore with data set #0 (false)
      This test printed output: /Users/nicols/Sites/moodles/sm/moodle/admin/tool/log/classes/helper/store.php:61:
      string(8) "standard"
      /Users/nicols/Sites/moodles/sm/moodle/admin/tool/log/classes/helper/store.php:61:
      string(8) "database"
      /Users/nicols/Sites/moodles/sm/moodle/admin/tool/log/classes/helper/store.php:61:
      string(8) "database"
       
      12) logstore_standard\store_test::test_backup_restore with data set #1 (true)
      This test printed output: /Users/nicols/Sites/moodles/sm/moodle/admin/tool/log/classes/helper/store.php:61:
      string(8) "standard"
      /Users/nicols/Sites/moodles/sm/moodle/admin/tool/log/classes/helper/store.php:61:
      string(8) "database"
      /Users/nicols/Sites/moodles/sm/moodle/admin/tool/log/classes/helper/store.php:61:
      string(8) "database"
       
      13) mod_h5pactivity\restore_test::test_backup_restore with data set "Activity attempts and restore with userdata" (true, true, array(1, 1, 3), array(1, 1, 3))
      This test printed output: /Users/nicols/Sites/moodles/sm/moodle/admin/tool/log/classes/helper/store.php:61:
      string(8) "database"
      /Users/nicols/Sites/moodles/sm/moodle/admin/tool/log/classes/helper/store.php:61:
      string(8) "database"
       
      14) mod_h5pactivity\restore_test::test_backup_restore with data set "No activity attempts and restore with userdata" (false, true, array(1, 0, 0), array(1, 0, 0))
      This test printed output: /Users/nicols/Sites/moodles/sm/moodle/admin/tool/log/classes/helper/store.php:61:
      string(8) "database"
      /Users/nicols/Sites/moodles/sm/moodle/admin/tool/log/classes/helper/store.php:61:
      string(8) "database"
       
      OK, but incomplete, skipped, or risky tests!
      Tests: 126, Assertions: 1204, Skipped: 22, Risky: 14.
      

      Note: There are no instance of string(0)

      Show
      Edit admin/tool/log/classes/helper/store.php and apply the patch: ➜ sm git:(MDL-76556-master) ✗ git d diff --git a/admin/tool/log/classes/helper/store.php b/admin/tool/log/classes/helper/store.php index ea506ca2ae..74e1e12827 100644 --- a/admin/tool/log/classes/helper/store.php +++ b/admin/tool/log/classes/helper/store.php @@ -58,6 +58,7 @@ trait store { } $this->component = $parts[0]; $this->store = str_replace('logstore_', '', $this->component); + var_dump($this->store); }   /** Init phpunit Run phpunit with this filter: vendor/bin/phpunit --filter store_test Confirm that there was no empty strings dumped Here's an example of what you might see: ➜ sm git:(MDL-76556-master) ✗ vendor/bin/phpunit --filter store_test Moodle 4.2dev (Build: 20221201), a8f63b26be0cb1aa3367771045b7b1824cad6897 Php: 8.0.24, pgsql: 12.12, OS: Darwin 21.6.0 arm64 PHPUnit 9.5.26 by Sebastian Bergmann and contributors.   .........................................SSS....SSSSSSSSSSSSSSS 63 / 126 ( 50%) S....S...........R/Users/nicols/Sites/moodles/sm/moodle/admin/tool/log/classes/helper/store.php:61: string(8) "database" /Users/nicols/Sites/moodles/sm/moodle/admin/tool/log/classes/helper/store.php:61: string(8) "database" /Users/nicols/Sites/moodles/sm/moodle/admin/tool/log/classes/helper/store.php:61: string(8) "database" R/Users/nicols/Sites/moodles/sm/moodle/admin/tool/log/classes/helper/store.php:61: string(8) "database" /Users/nicols/Sites/moodles/sm/moodle/admin/tool/log/classes/helper/store.php:61: string(8) "database" /Users/nicols/Sites/moodles/sm/moodle/admin/tool/log/classes/helper/store.php:61: string(8) "database" .R/Users/nicols/Sites/moodles/sm/moodle/admin/tool/log/classes/helper/store.php:61: string(8) "database" /Users/nicols/Sites/moodles/sm/moodle/admin/tool/log/classes/helper/store.php:61: string(8) "database" /Users/nicols/Sites/moodles/sm/moodle/admin/tool/log/classes/helper/store.php:61: string(8) "database" /Users/nicols/Sites/moodles/sm/moodle/admin/tool/log/classes/helper/store.php:61: string(8) "database" /Users/nicols/Sites/moodles/sm/moodle/admin/tool/log/classes/helper/store.php:61: string(8) "database" /Users/nicols/Sites/moodles/sm/moodle/admin/tool/log/classes/helper/store.php:61: string(8) "database" /Users/nicols/Sites/moodles/sm/moodle/admin/tool/log/classes/helper/store.php:61: string(8) "database" R/Users/nicols/Sites/moodles/sm/moodle/admin/tool/log/classes/helper/store.php:61: string(8) "database" R/Users/nicols/Sites/moodles/sm/moodle/admin/tool/log/classes/helper/store.php:61: string(6) "legacy" /Users/nicols/Sites/moodles/sm/moodle/admin/tool/log/classes/helper/store.php:61: string(6) "legacy" /Users/nicols/Sites/moodles/sm/moodle/admin/tool/log/classes/helper/store.php:61: string(8) "standard" .R/Users/nicols/Sites/moodles/sm/moodle/admin/tool/log/classes/helper/store.php:61: string(6) "legacy" .R/Users/nicols/Sites/moodles/sm/moodle/admin/tool/log/classes/helper/store.php:61: string(8) "standard" /Users/nicols/Sites/moodles/sm/moodle/admin/tool/log/classes/helper/store.php:61: string(8) "standard" /Users/nicols/Sites/moodles/sm/moodle/admin/tool/log/classes/helper/store.php:61: string(8) "standard" R/Users/nicols/Sites/moodles/sm/moodle/admin/tool/log/classes/helper/store.php:61: string(8) "standard" /Users/nicols/Sites/moodles/sm/moodle/admin/tool/log/classes/helper/store.php:61: string(8) "standard" /Users/nicols/Sites/moodles/sm/moodle/admin/tool/log/classes/helper/store.php:61: string(8) "standard" .R/Users/nicols/Sites/moodles/sm/moodle/admin/tool/log/classes/helper/store.php:61: string(8) "standard" .R/Users/nicols/Sites/moodles/sm/moodle/admin/tool/log/classes/helper/store.php:61: string(8) "standard" .......R/Users/nicols/Sites/moodles/sm/moodle/admin/tool/log/classes/helper/store.php:61: string(8) "standard" /Users/nicols/Sites/moodles/sm/moodle/admin/tool/log/classes/helper/store.php:61: string(8) "database" /Users/nicols/Sites/moodles/sm/moodle/admin/tool/log/classes/helper/store.php:61: string(8) "database" R/Users/nicols/Sites/moodles/sm/moodle/admin/tool/log/classes/helper/store.php:61: string(8) "standard" /Users/nicols/Sites/moodles/sm/moodle/admin/tool/log/classes/helper/store.php:61: string(8) "database" /Users/nicols/Sites/moodles/sm/moodle/admin/tool/log/classes/helper/store.php:61: string(8) "database" SSR/Users/nicols/Sites/moodles/sm/moodle/admin/tool/log/classes/helper/store.php:61: string(8) "database" /Users/nicols/Sites/moodles/sm/moodle/admin/tool/log/classes/helper/store.php:61: string(8) "database" R/Users/nicols/Sites/moodles/sm/moodle/admin/tool/log/classes/helper/store.php:61: string(8) "database" /Users/nicols/Sites/moodles/sm/moodle/admin/tool/log/classes/helper/store.php:61: string(8) "database" .................. 126 / 126 (100%)     Time: 00:38.090, Memory: 356.00 MB   There were 14 risky tests:   1) logstore_database\store_test::test_log_writing with data set #0 (false) This test printed output: /Users/nicols/Sites/moodles/sm/moodle/admin/tool/log/classes/helper/store.php:61: string(8) "database" /Users/nicols/Sites/moodles/sm/moodle/admin/tool/log/classes/helper/store.php:61: string(8) "database" /Users/nicols/Sites/moodles/sm/moodle/admin/tool/log/classes/helper/store.php:61: string(8) "database"   2) logstore_database\store_test::test_log_writing with data set #1 (true) This test printed output: /Users/nicols/Sites/moodles/sm/moodle/admin/tool/log/classes/helper/store.php:61: string(8) "database" /Users/nicols/Sites/moodles/sm/moodle/admin/tool/log/classes/helper/store.php:61: string(8) "database" /Users/nicols/Sites/moodles/sm/moodle/admin/tool/log/classes/helper/store.php:61: string(8) "database"   3) logstore_database\store_test::test_is_event_ignored This test printed output: /Users/nicols/Sites/moodles/sm/moodle/admin/tool/log/classes/helper/store.php:61: string(8) "database" /Users/nicols/Sites/moodles/sm/moodle/admin/tool/log/classes/helper/store.php:61: string(8) "database" /Users/nicols/Sites/moodles/sm/moodle/admin/tool/log/classes/helper/store.php:61: string(8) "database" /Users/nicols/Sites/moodles/sm/moodle/admin/tool/log/classes/helper/store.php:61: string(8) "database" /Users/nicols/Sites/moodles/sm/moodle/admin/tool/log/classes/helper/store.php:61: string(8) "database" /Users/nicols/Sites/moodles/sm/moodle/admin/tool/log/classes/helper/store.php:61: string(8) "database" /Users/nicols/Sites/moodles/sm/moodle/admin/tool/log/classes/helper/store.php:61: string(8) "database"   4) logstore_database\store_test::test_get_supported_reports This test printed output: /Users/nicols/Sites/moodles/sm/moodle/admin/tool/log/classes/helper/store.php:61: string(8) "database"   5) logstore_legacy\store_test::test_log_writing This test printed output: /Users/nicols/Sites/moodles/sm/moodle/admin/tool/log/classes/helper/store.php:61: string(6) "legacy" /Users/nicols/Sites/moodles/sm/moodle/admin/tool/log/classes/helper/store.php:61: string(6) "legacy" /Users/nicols/Sites/moodles/sm/moodle/admin/tool/log/classes/helper/store.php:61: string(8) "standard"   6) logstore_legacy\store_test::test_get_supported_reports This test printed output: /Users/nicols/Sites/moodles/sm/moodle/admin/tool/log/classes/helper/store.php:61: string(6) "legacy"   7) logstore_standard\store_test::test_log_writing with data set #0 (false) This test printed output: /Users/nicols/Sites/moodles/sm/moodle/admin/tool/log/classes/helper/store.php:61: string(8) "standard" /Users/nicols/Sites/moodles/sm/moodle/admin/tool/log/classes/helper/store.php:61: string(8) "standard" /Users/nicols/Sites/moodles/sm/moodle/admin/tool/log/classes/helper/store.php:61: string(8) "standard"   8) logstore_standard\store_test::test_log_writing with data set #1 (true) This test printed output: /Users/nicols/Sites/moodles/sm/moodle/admin/tool/log/classes/helper/store.php:61: string(8) "standard" /Users/nicols/Sites/moodles/sm/moodle/admin/tool/log/classes/helper/store.php:61: string(8) "standard" /Users/nicols/Sites/moodles/sm/moodle/admin/tool/log/classes/helper/store.php:61: string(8) "standard"   9) logstore_standard\store_test::test_get_supported_reports This test printed output: /Users/nicols/Sites/moodles/sm/moodle/admin/tool/log/classes/helper/store.php:61: string(8) "standard"   10) logstore_standard\store_test::test_events_traversable This test printed output: /Users/nicols/Sites/moodles/sm/moodle/admin/tool/log/classes/helper/store.php:61: string(8) "standard"   11) logstore_standard\store_test::test_backup_restore with data set #0 (false) This test printed output: /Users/nicols/Sites/moodles/sm/moodle/admin/tool/log/classes/helper/store.php:61: string(8) "standard" /Users/nicols/Sites/moodles/sm/moodle/admin/tool/log/classes/helper/store.php:61: string(8) "database" /Users/nicols/Sites/moodles/sm/moodle/admin/tool/log/classes/helper/store.php:61: string(8) "database"   12) logstore_standard\store_test::test_backup_restore with data set #1 (true) This test printed output: /Users/nicols/Sites/moodles/sm/moodle/admin/tool/log/classes/helper/store.php:61: string(8) "standard" /Users/nicols/Sites/moodles/sm/moodle/admin/tool/log/classes/helper/store.php:61: string(8) "database" /Users/nicols/Sites/moodles/sm/moodle/admin/tool/log/classes/helper/store.php:61: string(8) "database"   13) mod_h5pactivity\restore_test::test_backup_restore with data set "Activity attempts and restore with userdata" (true, true, array(1, 1, 3), array(1, 1, 3)) This test printed output: /Users/nicols/Sites/moodles/sm/moodle/admin/tool/log/classes/helper/store.php:61: string(8) "database" /Users/nicols/Sites/moodles/sm/moodle/admin/tool/log/classes/helper/store.php:61: string(8) "database"   14) mod_h5pactivity\restore_test::test_backup_restore with data set "No activity attempts and restore with userdata" (false, true, array(1, 0, 0), array(1, 0, 0)) This test printed output: /Users/nicols/Sites/moodles/sm/moodle/admin/tool/log/classes/helper/store.php:61: string(8) "database" /Users/nicols/Sites/moodles/sm/moodle/admin/tool/log/classes/helper/store.php:61: string(8) "database"   OK, but incomplete, skipped, or risky tests! Tests: 126, Assertions: 1204, Skipped: 22, Risky: 14. Note: There are no instance of string(0)

              $this->store = str_replace('logstore_', '', $this->store);
      

      This is just wrong. The $this->store is not set before this and is null, so str_replace will complain in 8.1, but before then it's still just wrong.

        1. master.png
          master.png
          143 kB
        2. 401.png
          401.png
          155 kB
        3. 400.png
          400.png
          151 kB

            dobedobedoh Andrew Lyons
            dobedobedoh Andrew Lyons
            Paul Holden Paul Holden
            Jun Pataleta Jun Pataleta
            Ron Carl Alfon Yu Ron Carl Alfon Yu
            Votes:
            0 Vote for this issue
            Watchers:
            4 Start watching this issue

              Created:
              Updated:
              Resolved:

                Estimated:
                Original Estimate - Not Specified
                Not Specified
                Remaining:
                Remaining Estimate - 0 minutes
                0m
                Logged:
                Time Spent - 3 hours, 40 minutes
                3h 40m

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