Page MenuHomePhabricator

Example data generation should create renewal requests with a range of request dates
Closed, ResolvedPublic

Description

Task

At https://github.com/WikipediaLibrary/TWLight/blob/master/TWLight/applications/management/commands/applications_example_data.py#L191 we renew a selection of applications. Because we use renew() and don't modify the application any further, all renewals are created on the date the data is generated. Instead, after renewing we should go back and modify the dates such that the renewals actually appear to have taken place some time between now and the time the application was first made.

To do this:

  • Below the for loop which renews the applications, pull the list of applications which are renewals with Application.objects.filter(status=Application.PENDING, parent__isnull=False)
  • Loop through this queryset and edit the submission date for each object to be a date between when the parent application was sent and today's date, e.g:
parent_application = Application.objects.get(pk=application.parent)
app_date = parent_application.date_closed

renewal_date = Faker(
    random.choice(settings.FAKER_LOCALES)
).date_time_between(start_date=app_date, end_date="now", tzinfo=None)
application.date_created = renewal_date
application.save()

Good first bug

This task has been placed in the good first task category. This means it has been scoped and written in a way that makes it simpler for folks who haven’t contributed to the tool’s development or open source software in the past.

If that’s you, welcome! Please feel free to ask questions here about this specific task or the codebase more generally. We’ll be more than happy to help you and clarify the steps needed to complete the task, whether that’s setting up the repository, implementing the necessary changes, or pushing your changes to Github.

If you have experience contributing to this project or similar ones, please consider leaving this one for someone new, and taking a look at the Open Tasks column of the workboard for another task. Also feel free to help out if you see unanswered questions here!

How to contribute

Assign yourself to this task: Click the ‘Add Action’ dropdown menu below and then select Assign / Claim. The box should fill your username in automatically, then click Submit!

To submit your changes, you should fork the repository and create a new branch. After pushing your changes to your Github branch, you can open a pull request. Please link your pull request in a comment here when it has been submitted. Experienced contributors to the project will review your code and either provide feedback or merge it in!

Event Timeline

That looks about right @Rohan-cod! Please file a pull request with your changes :)

I have sent a pr T205531. Please review :).

jsn.sherman added a subscriber: jsn.sherman.

@Rohan-cod 's code has been deployed.