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
>               <><
>



-- 
*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