Comments (10)
Anyway, panic over. We thought these had all gone missing completely! But it's all recoverable, phew.
from oztree.
Needs a test writing, I guess.Have you looked for "was_renewed" in the test suite?
from oztree.
Yeah, this is fairly obviously problematic:
Lines 167 to 171 in 59720b8
IIRC we use this function both in expiry and in renewal. We only need to do this bit in the latter.
from oztree.
Thanks @lentinj - Those lines are indeed part of the problem. I've been chatting about this with James. We think there are 2 things wrong:
- "was_renewed" in the expired_reservations table is always set to True when expiring, even when the sponsorship wasn't renewed, simply expired
- The row in the main reservations table should not be deleted on expiry: instead, the user-specific fields should be wiped, but some elements should stay the same (e.g. the visit count). I think we simply didn't make it clear this was required when asking you to code it up.
from oztree.
Yeah (1) is pretty obvious how to sort, and wouldn't take very long.
And yes, I'd not realised about (2). Do we know what fields should be preserved, besides num_views
?
from oztree.
Yeah (1) is pretty obvious how to sort, and wouldn't take very long.
Great
And yes, I'd not realised about (2). Do we know what fields should be preserved, besides
num_views
?
id
, OTT_ID
, name
, num_views
, last_view
, and deactivated
should do it.
from oztree.
Is was_renewed
True for a expire-and-repurchase as well as a renewal? I'm assuming yes.
from oztree.
Gah, somehow I managed to not notice the convenient clear_reservation
() just above that does exactly what we want.
Lines 138 to 144 in 59720b8
(even more annoyingly, I was the one that moved it there in the first place. Ah well.)
But, it doesn't preserve name
or deactivated
. is that a bug? Former is probably not that much of a deal either way, the latter might be.
from oztree.
Either way, the code changes are above. Note the latter also changes get_reservation
to return up-to-date counts with it's reservation row. This shouldn't make a difference in real life since we don't do anything with the counts, but potentially reduces unit-test confusion in future.
from oztree.
@hyanwong The above commit removes as much of the deactivated field as possible without restructuring the database. It's not part of the pull request above but can add it if you still think it's a good plan?
from oztree.
Related Issues (20)
- Remove grunt-curl to get rid of dependabot warnings
- myconf.take('paypal.save_to_tmp_file_dir') should be wrapped with exception handling HOT 2
- JS TypeError in OZentry, when evaluating e.length HOT 10
- unformatted {pic} string in node_details.json HOT 12
- Getting 'Invalid pinpoint' errors with alternate tree. Should life.html be tree agnostic? HOT 2
- Treeviewer stalls if node_details API returns empty data HOT 2
- Clean run results in modifications to en-us.py HOT 15
- web2py installation requires `deposit` and `logs` directories in root folder HOT 3
- Natural view type leaf sponsorship text position error HOT 1
- sponsor_renew_request not redirecting after sending mail HOT 4
- Tour engagement counter HOT 1
- Jumping to search results is broken when URL includes life.html instead of just life HOT 4
- Remove `.html` from internal URL() links. HOT 2
- invalid literal for int() in resolve_pinpoint_to_row HOT 2
- Tour table search: "Illegal mix of collations" HOT 2
- Home page menubars overlap search box with smaller screen HOT 1
- OneZoom site hangs with in a JavaScript infinite loop if tree_startpoints table is empty HOT 7
- Upgrade test suite to use Pytest & selenium 4
- Wikimedia videos not playing HOT 1
- Add a few events to the hard-coded list in endorsements.html
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from oztree.