File tree Expand file tree Collapse file tree 4 files changed +38
-4
lines changed Expand file tree Collapse file tree 4 files changed +38
-4
lines changed Original file line number Diff line number Diff line change @@ -468,14 +468,16 @@ def update_version(self):
468
468
469
469
@property
470
470
def latest_version (self ):
471
- """Returns the absolutely newest version; status doesn't matter . """
471
+ """Returns the absolutely newest non-beta version . """
472
472
if self .type == amo .ADDON_PERSONA :
473
473
return
474
474
if not self ._latest_version :
475
475
try :
476
- self ._latest_version = self .versions .latest ()
476
+ v = (self .versions .exclude (files__status = amo .STATUS_BETA )
477
+ .latest ())
478
+ self ._latest_version = v
477
479
except Version .DoesNotExist :
478
- pass
480
+ self . _latest_version = None
479
481
480
482
return self ._latest_version
481
483
Original file line number Diff line number Diff line change @@ -165,6 +165,17 @@ def test_latest_version_no_version(self):
165
165
a = Addon .objects .get (pk = 3723 )
166
166
eq_ (a .latest_version , None )
167
167
168
+ def test_latest_version_ignore_beta (self ):
169
+ a = Addon .objects .get (pk = 3615 )
170
+
171
+ v1 = Version .objects .create (addon = a , version = '1.0' )
172
+ f1 = File .objects .create (version = v1 )
173
+ eq_ (a .latest_version .id , v1 .id )
174
+
175
+ v2 = Version .objects .create (addon = a , version = '2.0beta' )
176
+ f2 = File .objects .create (version = v2 , status = amo .STATUS_BETA )
177
+ eq_ (a .latest_version .id , v1 .id ) # Still should be f1
178
+
168
179
def test_current_beta_version (self ):
169
180
a = Addon .objects .get (pk = 5299 )
170
181
eq_ (a .current_beta_version .id , 50000 )
Original file line number Diff line number Diff line change @@ -1498,6 +1498,24 @@ def test_no_items(self):
1498
1498
div = doc ('#review-files-header' ).next ().find ('td' ).eq (1 ).find ('div' )
1499
1499
eq_ (div .text (), "This version has not been reviewed." )
1500
1500
1501
+ def test_hide_beta (self ):
1502
+ version = self .addon .latest_version
1503
+ file = version .files .all ()[0 ]
1504
+ version .pk = None
1505
+ version .version = '0.3beta'
1506
+ version .save ()
1507
+
1508
+ doc = pq (self .client .get (self .url ).content )
1509
+ eq_ (doc ('#review-files tr.listing-header' ).length , 2 )
1510
+
1511
+ file .pk = None
1512
+ file .status = amo .STATUS_BETA
1513
+ file .version = version
1514
+ file .save ()
1515
+
1516
+ doc = pq (self .client .get (self .url ).content )
1517
+ eq_ (doc ('#review-files tr.listing-header' ).length , 1 )
1518
+
1501
1519
def test_listing_link (self ):
1502
1520
response = self .client .get (self .url )
1503
1521
text = pq (response .content ).find ('#actions-addon li a' ).eq (0 ).text ()
Original file line number Diff line number Diff line change @@ -430,9 +430,12 @@ def review(request, addon):
430
430
# We only allow the user to check/uncheck files for "pending"
431
431
allow_unchecking_files = form .helper .review_type == "pending"
432
432
433
- versions = (Version .objects .filter (addon = addon ).order_by ('-created' )
433
+ versions = (Version .objects .filter (addon = addon )
434
+ .exclude (files__status = amo .STATUS_BETA )
435
+ .order_by ('-created' )
434
436
.transform (Version .transformer_activity )
435
437
.transform (Version .transformer ))
438
+
436
439
pager = amo .utils .paginate (request , versions , 5 )
437
440
438
441
num_pages = pager .paginator .num_pages
You can’t perform that action at this time.
0 commit comments