Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fixed crash of sale form when required values are missing #4778

Conversation

NyanKiyoshi
Copy link
Member

Closes #4697

Screenshots

Pull Request Checklist

  1. Privileged views and APIs are guarded by proper permission checks.
  2. All visible strings are translated with proper context.
  3. All data-formatting is locale-aware (dates, numbers, and so on).
  4. Database queries are optimized and the number of queries is constant.
  5. Database migration files are up to date.
  6. The changes are tested.
  7. GraphQL schema and type definitions are up to date.
  8. Changes are mentioned in the changelog.

@NyanKiyoshi NyanKiyoshi force-pushed the fix/dashboard-1.0/sales/update/missing-required-fields branch from 165c48b to e1d8460 Compare September 27, 2019 23:48
Copy link

django-queries commented Sep 27, 2019

Here is the report for e1d8460 (NyanKiyoshi/saleor @ fix/dashboard-1.0/sales/update/missing-required-fields)
Base comparison is e44fcd5.

No differences were found. (click me)

# api.benchmark checkout
  test name                                  	left count 	right count	duplicate count
  -------------------------------------------	-----------	-----------	---------------
  add billing address to checkout            	         38	         38	             20
  add shipping to checkout                   	          7	          7	              0
  checkout payment charge                    	         14	         14	              0
  complete checkout                          	          6	          6	              0
  create checkout                            	         52	         52	             24

# api.benchmark homepage
  test name                                  	left count 	right count	duplicate count
  -------------------------------------------	-----------	-----------	---------------
  retrieve main menu                         	          5	          5	              0
  retrieve product list                      	          4	          4	              0
  retrieve secondary menu                    	          5	          5	              0
  retrieve shop                              	          2	          2	              0

# api.benchmark product
  test name                                  	left count 	right count	duplicate count
  -------------------------------------------	-----------	-----------	---------------
  product details                            	         15	         15	              3
  retrieve product attributes                	         13	         13	              2

# api.benchmark variant
  test name                                  	left count 	right count	duplicate count
  -------------------------------------------	-----------	-----------	---------------
  retrieve variant list                      	         18	         18	              8

# api product sorting attributes
  test name                                  	left count 	right count	duplicate count
  -------------------------------------------	-----------	-----------	---------------
  sort product not having attribute data     	         21	         21	              0

@codecov
Copy link

codecov bot commented Sep 28, 2019

Codecov Report

Merging #4778 into master will increase coverage by <.01%.
The diff coverage is 100%.

Impacted file tree graph

@@            Coverage Diff            @@
##           master   #4778      +/-   ##
=========================================
+ Coverage    91.2%   91.2%   +<.01%     
=========================================
  Files         343     343              
  Lines       20415   20417       +2     
  Branches     1936    1937       +1     
=========================================
+ Hits        18619   18621       +2     
  Misses       1259    1259              
  Partials      537     537
Impacted Files Coverage Δ
saleor/dashboard/discount/forms.py 97.7% <100%> (+0.05%) ⬆️

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update e44fcd5...e1d8460. Read the comment docs.

@@ -59,6 +59,9 @@ def __init__(self, *args, **kwargs):

def clean(self):
cleaned_data = super().clean()
if self.errors:
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Not a big deal, but I think a more common pattern in Django is to use .get to check if there are cleaned values:

discount_type = cleaned_data.get('type')
value = cleaned_data.get("value")

if type and value:
   # stuff 

@maarcingebala maarcingebala merged commit f263382 into saleor:master Sep 30, 2019
@NyanKiyoshi NyanKiyoshi deleted the fix/dashboard-1.0/sales/update/missing-required-fields branch September 30, 2019 07:43
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Cannot set a blank value for a discount in dashboard 1.0
3 participants