1. 22 Oct, 2019 5 commits
  2. 18 Jul, 2019 1 commit
  3. 28 May, 2019 2 commits
  4. 10 May, 2019 1 commit
  5. 06 Mar, 2019 1 commit
  6. 05 Mar, 2019 1 commit
    • Arkadiusz Hiler's avatar
      views: Fix typo in dictionary key · cf1de39f
      Arkadiusz Hiler authored
      
      
      One extra "s" in "messages", which was causing the following exception
      when bulk updating patches with no patches selected:
      
        File "/srv/patchwork.freedesktop.org/lib/apache2/../../patchwork/views/__init__.py" in process_multiplepatch_form
          157.         context['messsages'] += ["No patches selected; nothing updated"]
      
        Exception Type: KeyError
        Exception Value: 'messsages'
      Signed-off-by: default avatarArkadiusz Hiler <arkadiusz.hiler@intel.com>
      cf1de39f
  7. 04 Mar, 2019 1 commit
  8. 28 Feb, 2019 1 commit
  9. 13 Feb, 2019 2 commits
  10. 04 Jan, 2019 1 commit
  11. 03 Jan, 2019 1 commit
  12. 02 Jan, 2019 1 commit
  13. 07 Dec, 2018 1 commit
    • Arkadiusz Hiler's avatar
      API: Add endpoint for finding patches via msg-ids · dd89ff2e
      Arkadiusz Hiler authored
      
      
      the endpoint is: /api/1.0/msgids/$MSG_ID/
      msg-id works both with and without <>
      
      output:
      [{'patch_id': 112223,
        'project_id': 9,
        'series_id': 12938,
        'revisions': [1,2]},
       {'patch_id': 112224,
        'project_id': 18,
        'series_id': 12937,
        'revisions': [1]}]
      
      The implementation is not using django-rest-framework because the
      generated routes disallow dots in the identifiers and requires adding
      much more boilerplate to have it working.
      Signed-off-by: default avatarArkadiusz Hiler <arkadiusz.hiler@intel.com>
      dd89ff2e
  14. 05 Dec, 2018 1 commit
  15. 27 Nov, 2018 1 commit
    • Arkadiusz Hiler's avatar
      api: Make /newrevision/ copy a revision and mark it as rerun · a159dcdc
      Arkadiusz Hiler authored
      
      
      Up until this patch, rerunning was just creating a 'newrevision' event
      for the existing revision, effectively queuing it again. Any incoming
      results would overwrite the existing ones.
      
      Now, whenever rerun is hit, the last revision will be duplicated (no
      results overwriting!), bumping "Last Update" time for the series. We
      also mark such series as a rerun so we will be able to display it for
      the users / expose it in the API.
      Signed-off-by: default avatarArkadiusz Hiler <arkadiusz.hiler@intel.com>
      a159dcdc
  16. 01 Jun, 2018 1 commit
  17. 30 May, 2018 1 commit
  18. 29 May, 2018 1 commit
  19. 23 May, 2018 1 commit
    • Arkadiusz Hiler's avatar
      mbox: Use the 'From' header from the incoming email · 63b2762b
      Arkadiusz Hiler authored
      
      
      Currently all the patchwork-generated mboxes uses the name and email
      address extracted from the last patch that person sent. This is strange
      behaviour that leads to problem when a users puts additional information
      (e.g. sponsor) in the header or has changed their legal name.
      
      There's no silver bullet to address all the possible scenarios, and this
      behaviour causes a lot of confusion.
      
      Luckily we store the vanilla email headers the patch was sent out with
      in patch.headers. We can use that to stop the guess game and let the
      people to control how they are called for every patch.
      Signed-off-by: default avatarArkadiusz Hiler <arkadiusz.hiler@intel.com>
      63b2762b
  20. 14 May, 2018 1 commit
  21. 27 Feb, 2018 1 commit
  22. 23 Jan, 2018 1 commit
  23. 16 Jan, 2018 4 commits
  24. 15 Jan, 2018 2 commits
    • Arkadiusz Hiler's avatar
      urls: Use named URLs · 492485df
      Arkadiusz Hiler authored
      
      
      Using the quoted doted path to the view callable object
      (e.g. 'patchwork.views.projects') is going to be deprecated soon.
      Using either the actual callable or a named URL is recommended.
      
      Let future-proof urls.py by using the actual callables there and
      name all the URLs, so we can use the names everywhere else.
      Signed-off-by: default avatarArkadiusz Hiler <arkadiusz.hiler@intel.com>
      492485df
    • Arkadiusz Hiler's avatar
      django-rest-framework: Update to 3.3 · f63f424e
      Arkadiusz Hiler authored
      
      
       * QUERY_PARAMS and DATA are now lower case
      
       * we set date format to ISO8601 in the ModelSerializer itself now, no
         need for subclassing
      
       * there is no WritableField anymore, just use Field
      
       * to_native and from_native got renamed to to_representation and
         to_internal_value respectively
      
       * dropped the field names from the field serializer instantiation if
         the data field is named the same as the python field
      
       * allow_none is now split into allow_blank and allow_null, so use both
      
       * serialized/validated data is now split into sub-dictionaries on dot,
         so use the new notation (e.g. f['a.b'] becomes f['a']['b'])
      
       * some error messages got changed, updated the tests to expect the new
         values
      
       * is_valid_field() is now invoked on raw names, so we do not have to
         accommodate for the mapping introduced by the get_ordering()
      
       * dropped our own implementation of UpdateModelMixin in favor of the
         one provided by the framework, which additionally allowed us to get
         rid of a deprecated save hook
      
       * pagination configuration happens now by subclassing the page handling
         class
      Signed-off-by: default avatarArkadiusz Hiler <arkadiusz.hiler@intel.com>
      f63f424e
  25. 10 Nov, 2017 1 commit
    • Arkadiusz Hiler's avatar
      series: Disable "test [...] again" button when appropriate · 4a03e386
      Arkadiusz Hiler authored
      
      
      Move the button to a div container, so it can be disabled with an
      overlay with a tooltip.
      
      The button is now disabled if the user is not logged in or is not a
      maintainer of the project, with an appropriate tooltip explaining this.
      
      Also juggle fade_{enable,disable} functions so they are exported as a
      part of the pw object, so we can reuse them for disabling the
      before mentioned button.
      Signed-off-by: default avatarArkadiusz Hiler <arkadiusz.hiler@intel.com>
      4a03e386
  26. 29 Oct, 2017 2 commits
    • Arkadiusz Hiler's avatar
      patch: Implement log events for pull requests · 8d3953ef
      Arkadiusz Hiler authored
      
      
      Add new event type, pull-request-new, for logging incoming pull
      requests.
      
      This will allow CI systems to track PRs just as easily as regular
      series.
      
      The change also loosens up constraints imposed on EventLog model - it
      used to assume always having an associated series, which is not true for
      the pull requests. PRs are standalone patches.
      Signed-off-by: default avatarArkadiusz Hiler <arkadiusz.hiler@intel.com>
      8d3953ef
    • Arkadiusz Hiler's avatar
      pep8: Fix compatiblity with the newest revision · 1450948c
      Arkadiusz Hiler authored
      
      
      Rather crude attempt to make things silent again.
      
      patchwork/lock.py:232:13: E741 ambiguous variable name 'l'
      patchwork/filters.py:105:9: E722 do not use bare except'
      patchwork/filters.py:170:9: E722 do not use bare except'
      patchwork/filters.py:352:9: E722 do not use bare except'
      patchwork/models.py:344:9: E722 do not use bare except'
      patchwork/tests/browser.py:26:1: E722 do not use bare except'
      patchwork/tests/test_lock.py:68:9: E741 ambiguous variable name 'l'
      patchwork/bin/parsemail.py:852:5: E741 ambiguous variable name 'l'
      patchwork/bin/parsemail.py:857:5: E741 ambiguous variable name 'l'
      patchwork/bin/parsemail.py:884:5: E722 do not use bare except'
      patchwork/views/api.py:25:1: E722 do not use bare except'
      patchwork/views/bundle.py:76:17: E722 do not use bare except'
      patchwork/views/xmlrpc.py:95:9: E722 do not use bare except'
      patchwork/views/xmlrpc.py:127:9: E722 do not use bare except'
      patchwork/bin/pwclient:271:5: E722 do not use bare except'
      patchwork/bin/pwclient:279:5: E722 do not use bare except'
      patchwork/bin/pwclient:357:5: E722 do not use bare except'
      patchwork/bin/pwclient:549:9: E722 do not use bare except'
      patchwork/bin/pwclient:555:9: E722 do not use bare except'
      patchwork/bin/pwclient:600:9: E722 do not use bare except'
      patchwork/bin/pwclient:650:5: E722 do not use bare except'
      git-pw/git-pw:540:9: E722 do not use bare except'
      git-pw/git-pw:555:9: E722 do not use bare except'
      git-pw/git-pw:567:9: E722 do not use bare except'
      git-pw/git-pw:586:9: E722 do not use bare except'
      
      "except Exception" should be chosen more carefully.
      Signed-off-by: default avatarArkadiusz Hiler <arkadiusz.hiler@intel.com>
      1450948c
  27. 20 Aug, 2017 1 commit
  28. 27 Jul, 2017 1 commit
    • Arkadiusz Hiler's avatar
      templates/patch: Link back to the series · 978434e3
      Arkadiusz Hiler authored
      
      
      It's hard to find the series corresponding to the patch when you have
      only the patch URL - you have to go through the author or through the
      project and try to find an association with the series name.
      
      Series view is also where the results from CI are shown, so this is the
      drill for many people doing the reviews.
      
      Since this is a common issue, let's link the series from the patch page.
      Signed-off-by: default avatarArkadiusz Hiler <arkadiusz.hiler@intel.com>
      978434e3
  29. 10 Jul, 2017 1 commit