Hi Dave,

Thank you for reviewing my merge request :) I’ve refracted the code and
added the test coverage as described. Please review it and let me know any
suggestions. Merge request can be found in [1]

Meanwhile, I would like to start working on a GSoC project as I’ve got some
decent exposure to Allura code-base now. When going through the projects
list, I’ve found out the project *[COMDEV-254] Allura - personal dashboard*
[2] fits my interests.

But, if there is any high prioritized project other than this, I would
equally interested in accepting it as well. I’m looking forward to know
further information in order to apply for Allura GSoC projects.

[1] https://forge-allura.apache.org/p/allura/git/merge-requests/248/
[2] https://issues.apache.org/jira/browse/COMDEV-254?filter=12343065

Regards!

On Tue, Mar 20, 2018 at 10:14 PM, Dave Brondsema <d...@brondsema.net> wrote:

> No problem!  I'll take a look and post feedback on the merge request.
>
> On 3/20/18 1:36 AM, Deshani Geethika wrote:
> > Hi Dave,
> >
> > Sorry for messing up. I've created a merge request -
> > https://forge-allura.apache.org/p/allura/git/merge-requests/248/
> >
> > Regards!
> >
> > On Mon, Mar 19, 2018 at 9:01 PM, Dave Brondsema <d...@brondsema.net>
> wrote:
> >
> >> Hi Deshani,
> >>
> >> Thanks for the contribution!  Would you mind going to
> >> https://forge-allura.apache.org/p/allura/git/ and doing a fork and
> merge
> >> request
> >> there?  Allura does its own hosting and we prefer to use that.  The
> GitHub
> >> repo
> >> is just a mirror.
> >>
> >> Thanks,
> >>
> >> On 3/18/18 5:24 AM, Deshani Geethika wrote:
> >>> Hi all,
> >>>
> >>> I've added the functionality for bulk delete tickets and created a pull
> >>> request - https://github.com/apache/allura/pull/2
> >>>
> >>> Please review it and provide me any suggestions.
> >>>
> >>> Regards!
> >>>
> >>> On Sun, Mar 18, 2018 at 10:52 AM, Deshani Geethika <
> >>> deshanigeeth...@gmail.com> wrote:
> >>>
> >>>> Hi Dave,
> >>>>
> >>>> Thank you for the information. I'll try it again and let you know
> >>>>
> >>>> Regards!
> >>>> Deshani
> >>>>
> >>>> On Fri, Mar 16, 2018 at 2:52 AM, Dave Brondsema <d...@brondsema.net>
> >>>> wrote:
> >>>>
> >>>>> Hi,
> >>>>>
> >>>>> Your changes look ok just reading them.  What happens when you try
> it?
> >>>>> Do you
> >>>>> get any error?
> >>>>>
> >>>>> One thought is that bulk edit happens as a background task (because
> >>>>> updating
> >>>>> hundreds of tickets could take some time).  Specifically @task
> >> bulk_edit
> >>>>> is what
> >>>>> calls Globals.update_tickets  So make sure you have taskd running.
> And
> >>>>> if it is
> >>>>> running, check to see if bulk_edit task runs and if it has any
> errors.
> >>>>>
> >>>>> Hope that helps,
> >>>>>
> >>>>> On 3/15/18 9:22 AM, Deshani Geethika wrote:
> >>>>>> Hi all,
> >>>>>>
> >>>>>> During last few days, I’ve been playing with Allura code-base and
> >>>>> started
> >>>>>> to work on the issue #8149 Bulk Delete for tickets (
> >>>>>> https://forge-allura.apache.org/p/allura/tickets/8149/)
> >>>>>>
> >>>>>> I have modified the file
> >>>>>> ‘ForgeTracker/forgetracker/templates/tracker_widgets/mass_
> >>>>> edit_form.html’
> >>>>>> and added the following set of lines, which is similar to ‘Private’
> >>>>> field
> >>>>>> with just boolean values.
> >>>>>>
> >>>>>> ………...
> >>>>>>
> >>>>>> <div class="grid-6">
> >>>>>>
> >>>>>>      <label for="deleted" class="cr">Delete:</label>
> >>>>>>
> >>>>>>      <select name="deleted" id="deleted">
> >>>>>>
> >>>>>>            <option value="" selected="selected">Don't
> change</option>
> >>>>>>
> >>>>>>            <option value="True">True</option>
> >>>>>>
> >>>>>>            <option value="False">False</option>
> >>>>>>
> >>>>>>      </select>
> >>>>>>
> >>>>>> </div>
> >>>>>>
> >>>>>> ………...
> >>>>>>
> >>>>>> Then, in ‘model/ticket.py’, class ‘Globals’, method
> ‘update_tickets’,
> >> I
> >>>>>> have added following set of lines.
> >>>>>>
> >>>>>> ……...
> >>>>>>
> >>>>>> private = post_data.get('private')
> >>>>>>
> >>>>>> if private:
> >>>>>>
> >>>>>>        values['private'] = asbool(private)
> >>>>>>
> >>>>>> deleted = post_data.get('deleted')
> >>>>>>
> >>>>>> if deleted:
> >>>>>>
> >>>>>> values['deleted'] = asbool(deleted)
> >>>>>>
> >>>>>> ……...
> >>>>>>
> >>>>>> Here, the value of ‘deleted’, which is submitted from
> >>>>> ‘mass_edit_form.html’
> >>>>>> is read and saved to ‘values’ dictionary.
> >>>>>>
> >>>>>> Then in the same method, as far as I understood, I have to add the
> >>>>>> functionality for mass delete. Also, I’ve found out the ‘delete’
> >> method
> >>>>>> which is implemented to delete a single ticket in
> >>>>>> ‘ForgeTracker/forgetracker/tracker_main.py’
> >>>>>> class.
> >>>>>>
> >>>>>> Therefore, I have imported the ‘delete’ method from above class, and
> >> use
> >>>>>> that method directly to delete tickets one by one (inside the
> tickets
> >>>>> loop)
> >>>>>> as below. I’ve assumed that, if a user needs to delete tickets, then
> >>>>> other
> >>>>>> fields (Private, Owner, Discussion Disabled etc.) are not required
> to
> >> be
> >>>>>> modified. So that, if a ticket is deleted, the loop breaks without
> >>>>> further
> >>>>>> modifying the ticket.
> >>>>>>
> >>>>>> …..
> >>>>>>
> >>>>>> def update_tickets(self, **post_data):
> >>>>>>
> >>>>>>        from forgetracker.tracker_main import get_change_text,
> >> get_label,
> >>>>>> delete
> >>>>>>
> >>>>>> ……….
> >>>>>>
> >>>>>> for ticket in tickets:
> >>>>>>
> >>>>>>   message = ''
> >>>>>>
> >>>>>>   if labels:
> >>>>>>
> >>>>>>         values['labels'] = self.append_new_labels(
> >>>>>>
> >>>>>>             ticket.labels, labels.split(','))
> >>>>>>
> >>>>>>        for k, v in sorted(values.iteritems()):
> >>>>>>
> >>>>>>        if k == 'deleted':
> >>>>>>
> >>>>>>                  if v:
> >>>>>>
> >>>>>>                  ticket.delete()
> >>>>>>
> >>>>>>             break
> >>>>>>
> >>>>>>            elif k == 'assigned_to_id':
> >>>>>>
> >>>>>>                    new_user = User.query.get(_id=v)
> >>>>>>
> >>>>>>                    old_user = User.query.get(_id=getattr(ticket,
> k))
> >>>>>>
> >>>>>>                    if new_user:
> >>>>>>
> >>>>>>                        message += get_change_text(
> >>>>>>
> >>>>>>                                get_label(k),
> >>>>>>
> >>>>>>                                new_user.display_name,
> >>>>>>
> >>>>>>                                old_user.display_name)
> >>>>>>
> >>>>>>
> >>>>>>
> >>>>>>            elif k == 'private' or k == 'discussion_disabled':
> >>>>>>
> >>>>>>                 def _text(val):
> >>>>>>
> >>>>>>                        if val:
> >>>>>>
> >>>>>>                            return 'Yes'
> >>>>>>
> >>>>>>                        else:
> >>>>>>
> >>>>>>                            return 'No'
> >>>>>>
> >>>>>>            message += get_change_text(
> >>>>>>
> >>>>>>                        get_label(k),
> >>>>>>
> >>>>>>                        _text(v),
> >>>>>>
> >>>>>>                        _text(getattr(ticket, k)))
> >>>>>>
> >>>>>>            else:
> >>>>>>
> >>>>>>                  message += get_change_text(
> >>>>>>
> >>>>>>                            get_label(k),
> >>>>>>
> >>>>>> v,getattr(ticket, k))
> >>>>>>
> >>>>>> setattr(ticket, k, v)
> >>>>>>
> >>>>>> ……….
> >>>>>>
> >>>>>> But, the mass delete functionality is not working and I’m not sure
> >>>>> whether
> >>>>>> I’m on the right path. Could you help me to solve this issue.
> >>>>>>
> >>>>>> Regards!
> >>>>>>
> >>>>>> Deshani
> >>>>>>
> >>>>>> On Fri, Mar 9, 2018 at 10:46 PM, Deshani Geethika <
> >>>>> deshanigeeth...@gmail.com
> >>>>>>> wrote:
> >>>>>>
> >>>>>>> Hi Dave,
> >>>>>>>
> >>>>>>> Thank you for your guidance. I'll get back if I get anything to be
> >>>>>>> clarified
> >>>>>>>
> >>>>>>> Regards!
> >>>>>>> -Deshani
> >>>>>>>
> >>>>>>> On Fri, Mar 9, 2018 at 9:55 PM, Dave Brondsema <d...@brondsema.net
> >
> >>>>> wrote:
> >>>>>>>
> >>>>>>>> Hi Deshani,
> >>>>>>>>
> >>>>>>>> Welcome!  Sounds like you're off to a good start.  I would suggest
> >>>>> getting
> >>>>>>>> familiar with the codebase of Allura would be a good next step.
> >>>>>>>> https://forge-allura.apache.org/docs/development/
> contributing.html
> >>>>>>>> explains some
> >>>>>>>> of the basics and is a good read.  If there are small changes you
> >>>>> want to
> >>>>>>>> make
> >>>>>>>> (whether related to a larger GSoC task or not) you could try to
> make
> >>>>>>>> them.  Feel
> >>>>>>>> free to ask for help here, or if you make a small fix or
> >> improvement,
> >>>>> go
> >>>>>>>> ahead
> >>>>>>>> and submit a merge request :)
> >>>>>>>>
> >>>>>>>> -Dave
> >>>>>>>>
> >>>>>>>> On 3/9/18 12:48 AM, deshanigeeth...@gmail.com wrote:
> >>>>>>>>> Hi all,
> >>>>>>>>>
> >>>>>>>>> I’m Deshani Geethika, a final year undergraduate at Department
> of
> >>>>>>>> Computer Science and Engineering, University of Moratuwa, Sri
> >> Lanka. I
> >>>>>>>> would like to participate in GSoC 2018 and I found out some
> >>>>> interesting
> >>>>>>>> projects of Apache Allura.
> >>>>>>>>>
> >>>>>>>>> I have gone through the documentation and set up Allura in my
> local
> >>>>>>>> machine. Also, I wrote a blog article (
> >> https://medium.com/@deshanige
> >>>>>>>> ethika/in-progress-setting-up-apache-allura-in-ubuntu-
> 1fa166406448)
> >>>>>>>> about setting up Allura.
> >>>>>>>>>
> >>>>>>>>> Since I’m new to this community, it is really appreciated if
> >>>>> anyone
> >>>>>>>> suggest me a way to begin contributing to Allura.
> >>>>>>>>>
> >>>>>>>>> Regards!
> >>>>>>>>>
> >>>>>>>>
> >>>>>>>>
> >>>>>>>>
> >>>>>>>> --
> >>>>>>>> Dave Brondsema : d...@brondsema.net
> >>>>>>>> http://www.brondsema.net : personal
> >>>>>>>> http://www.splike.com : programming
> >>>>>>>>               <><
> >>>>>>>>
> >>>>>>>
> >>>>>>>
> >>>>>>
> >>>>>
> >>>>>
> >>>>>
> >>>>> --
> >>>>> Dave Brondsema : d...@brondsema.net
> >>>>> http://www.brondsema.net : personal
> >>>>> http://www.splike.com : programming
> >>>>>               <><
> >>>>>
> >>>>
> >>>>
> >>>
> >>>
> >>
> >>
> >>
> >> --
> >> Dave Brondsema : d...@brondsema.net
> >> http://www.brondsema.net : personal
> >> http://www.splike.com : programming
> >>               <><
> >>
> >
> >
> >
>
>
>
> --
> Dave Brondsema : d...@brondsema.net
> http://www.brondsema.net : personal
> http://www.splike.com : programming
>               <><
>



-- 
*Deshani Geethika*
Undergraduate at Department of Computer Science and Engineering
Faculty of Engineering - University of Moratuwa Sri Lanka
LinkedIn <https://www.linkedin.com/in/deshanigeethika/> | GitHub
<https://github.com/deshanigtk> | Mobile - +94776383034

Reply via email to