LesFruitsDefendus / saskatoon-ng

The new generation Saskatoon harverst management system
GNU Affero General Public License v3.0
10 stars 24 forks source link

Refactor HarvestSerializer #305

Closed mina-atef-00 closed 2 years ago

mina-atef-00 commented 2 years ago

Type of Issue: Code refactor

Expected Behavior:

Current Behavior:

Screenshots/ Code Snippets:

  1. https://github.com/LesFruitsDefendus/saskatoon-ng/blob/f73b62ee643d4b5c5a4a58cbd847eb9e365263c0/saskatoon/harvest/api.py#L58-L66

Related URLs:

e.g. localhost:8000/harvest/<pk>

mina-atef-00 commented 2 years ago

Response output:

{'comments': <QuerySet [<Comment: bruh>]>,

 'distribution': <QuerySet [<HarvestYield: 3.00 lbs of Noix de Grenoble to Nice Owner>,
                            <HarvestYield: 6.00 lbs of Pomme verte to Les Fruits Défendus>,
                            <HarvestYield: 4.00 lbs of Noix de Grenoble to Pick Leader>,
                            <HarvestYield: 2.00 lbs of Pomme verte to Nice Owner>]>,

 'form_comment': <CommentForm bound=False, valid=Unknown, fields=(content)>,

 'form_edit_recipient': <HarvestYieldForm bound=False, valid=Unknown, fields=(harvest;tree;total_in_lb;recipient)>,

 'form_manage_request': <RFPManageForm bound=False, valid=Unknown, fields=(status;notes_from_pickleader)>,

 'form_request': <RequestForm bound=False, valid=Unknown, fields=(number_of_people;picker_first_name;picker_family_name;picker_email;picker_phone;comment;harvest_id;notes_from_pickleader)>,

 'harvest': {'about': '<p>Un tas de belles pommes et de noix de Grenoble au '
                      'coin Mont-Royal et Buillon</p>',
             'changed_by': None,
             'creation_date': '2021-05-26T21:42:50.701000Z',
             'end_date': '2021-06-06T10:00:00Z',
             'end_time': '10:00',
             'equipment_reserved': [1],
             'id': 1,
             'nb_required_pickers': 3,
             'owner_fruit': True,
             'owner_help': True,
             'owner_present': True,
             'pick_leader': 'Pick Leader',
             'pickers': <QuerySet []>,
             'property': OrderedDict([('id', 3),
                                      ('neighborhood',
                                       OrderedDict([('id', 19),
                                                    ('name',
                                                     'Plateau-Mont-Royal')])),
                                      ('city',
                                       OrderedDict([('id', 1),
                                                    ('name', 'Montreal')])),
                                      ('state',
                                       OrderedDict([('id', 1),
                                                    ('name', 'Quebec')])),
                                      ('country',
                                       OrderedDict([('id', 1),
                                                    ('name', 'Canada')])),
                                      ('title',
                                       'Nice Owner at 123 av. Mont-Royal'),
                                      ('harvests',
                                       [OrderedDict([('id', 1),
                                                     ('status', 'Succeeded'),
                                                     ('start_date',
                                                      '2021-06-06T10:00:00Z'),
                                                     ('pick_leader',
                                                      {'actor_id': 3,
                                                       'comments': '',
                                                       'email': 'pick@leader.com',
                                                       'harvests_as_owner': <QuerySet []>,
                                                       'harvests_as_pickleader': <QuerySet [<Harvest: Harvest on 06/06/2021 10:00 for Nice Owner at 123 av. Mont-Royal>]>,
                                                       'harvests_as_volunteer_accepted': <QuerySet []>,
                                                       'harvests_as_volunteer_missed': <QuerySet []>,
                                                       'harvests_as_volunteer_pending': <QuerySet []>,
                                                       'name': 'Pick Leader',
                                                       'neighborhood': OrderedDict([('id',
                                                                                     34),
                                                                                    ('name',
                                                                                     'Autre')]),
                                                       'organizations_as_contact': <QuerySet []>,
                                                       'phone': None,
                                                       'properties': <QuerySet []>})])]),
                                      ('last_succeeded_harvest_date',
                                       datetime.datetime(2021, 6, 6, 10, 0, tzinfo=<UTC>)),
                                      ('address', '123 av. Mont-Royal, apt. 4'),
                                      ('trees',
                                       [OrderedDict([('id', 9),
                                                     ('name', 'Noyer'),
                                                     ('image', None),
                                                     ('fruit_name',
                                                      'Noix de Grenoble'),
                                                     ('season_start',
                                                      '9999-09-01')]),
                                        OrderedDict([('id', 14),
                                                     ('name', 'Pommier vert'),
                                                     ('image',
                                                      'http://127.0.0.1:8000/media/fruits_images/Granny_smith.jpg'),
                                                     ('fruit_name',
                                                      'Pomme verte'),
                                                     ('season_start',
                                                      '9999-08-15')])]),
                                      ('owner',
                                       {'city': 1,
                                        'comments': "Passer par l'arrière "
                                                    'ruelle',
                                        'country': 1,
                                        'email': None,
                                        'language': 'Français',
                                        'name': 'Nice Owner',
                                        'neighborhood': 19,
                                        'phone': '(514) 666-1234',
                                        'pk': 1,
                                        'state': 1}),
                                      ('pending_contact_name', ''),
                                      ('owner_type',
                                       {'is_organization': False,
                                        'is_person': True}),
                                      ('is_active', True),
                                      ('authorized', True),
                                      ('pending', False),
                                      ('pending_contact_first_name', ''),
                                      ('pending_contact_family_name', ''),
                                      ('pending_contact_phone', None),
                                      ('pending_contact_email', None),
                                      ('pending_newsletter', False),
                                      ('pending_recurring', False),
                                      ('geom', None),
                                      ('trees_location', 'Backyard'),
                                      ('trees_accessibility',
                                       "Passer par l'arrière"),
                                      ('avg_nb_required_pickers', 2),
                                      ('public_access', False),
                                      ('neighbor_access', False),
                                      ('compost_bin', True),
                                      ('ladder_available', True),
                                      ('ladder_available_for_outside_picks',
                                       False),
                                      ('harvest_every_year', False),
                                      ('number_of_trees', 2),
                                      ('approximative_maturity_date',
                                       '2021-06-06'),
                                      ('fruits_height', 2),
                                      ('street_number', '123'),
                                      ('street', 'av. Mont-Royal'),
                                      ('complement', 'apt. 4'),
                                      ('postal_code', 'H2T 1V8'),
                                      ('publishable_location',
                                       'Mont-Royal, coin Buillon'),
                                      ('longitude', None),
                                      ('latitude', None),
                                      ('additional_info',
                                       'Je peux aider pour la ceuillète'),
                                      ('changed_by', None)]),
             'publication_date': '2021-05-27T18:43:51Z',
             'start_date': '2021-06-06',
             'start_time': '10:00',
             'status': 'Succeeded',
             'total_distribution': 15.0,
             'trees': [OrderedDict([('id', 9),
                                    ('name', 'Noyer'),
                                    ('image', None),
                                    ('fruit_name', 'Noix de Grenoble'),
                                    ('season_start', '9999-09-01')]),
                       OrderedDict([('id', 14),
                                    ('name', 'Pommier vert'),
                                    ('image',
                                     'http://127.0.0.1:8000/media/fruits_images/Granny_smith.jpg'),
                                    ('fruit_name', 'Pomme verte'),
                                    ('season_start', '9999-08-15')])]},
 'harvest_date': 'Sun. Jun. 6, 2021',

 'harvest_end': '10:00 AM',

 'harvest_start': '10:00 AM',

 'organizations': <QuerySet [<Organization: Les Fruits Défendus>]>,

 'pickers': [<AuthUser: Pick Leader>],

 'property': <Property: Nice Owner at 123 av. Mont-Royal>,

 'requests': <QuerySet []>}
##############################