Opened 5 years ago

Closed 2 years ago

## #10060 closed defect (fixed)

Reported by: Owned by: anton@… falkb high SimpleMultiProjectPlugin critical 0.12

### Description

When editing milestones via the standard admin UI, one should be able to link the project in same way as via the milstone view interface.

Also, it seems that duplicate permissions are created (2 of MILESTONE_VIEW, etc) and one can not see from the list which one is intended for which UI.

### comment:1 in reply to:  description Changed 5 years ago by falkb

Also, it seems that duplicate permissions are created (2 of MILESTONE_VIEW, etc) and one can not see from the list which one is intended for which UI.

I can't see duplicate MILESTONE_VIEW permissions with the current version. Are they still duplicated for with the current version?

### comment:2 follow-up:  3 Changed 5 years ago by falkb

Type: defect → enhancement
• Only part 1 (projects => milestone on Admin panel) must still be implemented.
• part 2 of this ticket == duplicated permissions => closed(worksforme).

### comment:3 in reply to:  2 Changed 5 years ago by anonymous

• Only part 1 (projects => milestone on Admin panel) must still be implemented.
• part 2 of this ticket == duplicated permissions => closed(worksforme).

We are new to Trac and we have a fresh installation of Trac 1.0. The only extra plugins that we have installed are latest SimpleMultiProjectPlugin (r12390) and latest AccountManagerPlugin.

We face also the reported problem "part 1". As a result when we create a new ticket, and we select a Project (other than the default one), then we cannot select any Milestone. Have you reproduced this problem too? As we cannot do it via standard admin GUI, I am wondering if we can do it via any other way, like via trac.ini?

The same problem (as with milestone) exists with versions (When I select a project, other than default, then I cannot select any version except the default one. I just mention it as I do not know if this is by specification or it is a problem.

### comment:4 follow-up:  5 Changed 4 years ago by anonymous

before you can select milestones for a ticket of a certain project you must assign the milestone to its project. Go to each milestone (e.g. via roadmap page) and you can assign it to a project there ('Edit milestone' button). After that the milestone will be in the combobox of the ticket.

That 'part 1' will be just a second (maybe more comfortable) way to map milestones to projects.

### comment:5 in reply to:  4 Changed 4 years ago by anonymous

before you can select milestones for a ticket of a certain project you must assign the milestone to its project. Go to each milestone (e.g. via roadmap page) and you can assign it to a project there ('Edit milestone' button). After that the milestone will be in the combobox of the ticket.

That 'part 1' will be just a second (maybe more comfortable) way to map milestones to projects.

You are 100% correct!!! I did not understand that I can edit it by Roadmap->Milestone(Edit) , I tried via Admin->Milestone(Edit) The same applies to Version too!!

### comment:6 Changed 4 years ago by anonymous

My apologies if the wiki description was not clear enough, anyway your problem signals to me wiki:SimpleMultiProjectPlugin does not explain it good enough, although I mentioned it somehow at 'Associate a milestone in a project'...

### comment:7 Changed 4 years ago by falkb

Owner: changed from Christopher Paredes to falkb

### comment:8 follow-up:  9 Changed 4 years ago by anonymous

Priority: low → high minor → critical enhancement → defect

this is a really serious usability problem with this plugin.. I would probably call it a blocker for realease, if it was my own project

Going through admin/ticket/milestones is the common use case for managing milestones. As it stands, you cannot create a new milestone, and have it be usable by anything unless you magically know to go to the roadmap, find the milestone there and edit it there. There is absolutely no way I can say that with a straight face to any of my developers.

there are three rather serious parts to the issue 1) no way to add a milestone to a project when creating the milestone 2) no way to add a milestone to a project via the milestone admin interface 3) no way to use a milestone if it has not been added to a project

the third part of the issue simply makes it look like your milestone has disappeared into the ether. The correct behaviour is to show all milestones that have not been added to a project, when no project is selected. right now nothing gets shown. Nothing. That is a bug if I ever saw one.

### comment:9 in reply to:  8 Changed 4 years ago by falkb

this is a really serious usability problem with this plugin..

Thanks for pointing out the importance of this way of managing milestones. I wasn't much aware of this problem because I always used the /roadmap way to add or edit them.

Secondly, it's very difficult for a programmer to hack into the Genshi stream of the Admin web pages for extending the tables there. Either the API is a bit weak for that or I don't know it well enough yet, because I already have another plugin that adds new columns to the table, but there's no safe way to let another plugin also add new columns without messing up the other one. It's technically much easier to implement it via the roadmap page, we simply exchanged the HTML page templates there.

The recommendation about going the way via /roadmap page can be read on the plugin wiki page.

### comment:10 Changed 2 years ago by Cinc

Hi falkb,

I created a patch to associate milestones and projects from the default Trac admin panel. Since I use a Trac installation (V0.12.x) with a heavily modified custom theme this should be tested against a stock installation of Trac.

The patch is implemented as a component so if something is broken just disable the component SmpFilterDefaultMilestonePanels and you have the standard behaviour.

Maybe this ticket should be closed if everything works ok and a new one opened which tracks the issue for versions.

### Changed 2 years ago by Cinc

Patch for #10060: associate milestones with projects using the standard admin panels.

### comment:11 Changed 2 years ago by Cinc

Just found a problem with the main milestone table. You shouldn't apply this patch to the tree yet.

### comment:12 Changed 2 years ago by falkb

OK, no problem, still awaiting it, I appreciate your work very much!!

### comment:13 Changed 2 years ago by Cinc

I reworked the code so the table tags are no longer messed up.

Just use this new admin_filter.py instead of the one in the zip file and everything should be just fine.

I created ticket #12119 to track progress for the version pages.

### Changed 2 years ago by Cinc

Second patch for #10060 to fix messed up main milestone table

### comment:14 Changed 2 years ago by falkb

Status: new → accepted

cool :) Having a look now and testing, too

P.S.: this TH server is dog-slow atm (?)

### comment:15 Changed 2 years ago by falkb

 NameError: global name 'milestone' is not defined  is issued with this callstack:

...
model.py", line 395, in get_all_milestones_with_id_project


Did I miss something of your two patches?

### comment:16 Changed 2 years ago by falkb

I suppose you changed model.py also

### comment:17 Changed 2 years ago by Cinc

The following change in def get_all_milestones_with_id_project(self) is missing in the patch:

===================================================================
--- Requirements-Trac/Trac/Plugins/SimpleMultiProject-0.0.4dev-py2.7.egg/simplemultiproject/model.py	(revision )
+++ Requirements-Trac/Trac/Plugins/SimpleMultiProject-0.0.4dev-py2.7.egg/simplemultiproject/model.py	(revision )
@@ -375,7 +375,7 @@
FROM
smp_milestone_project;"""

-        cursor.execute(query, [milestone])
+        cursor.execute(query)
return cursor.fetchall()


I'm not on my own system here so I have to create these patches without access to SVN. As you can see this is very error prone...

Maybeyou have to adjust the linenumbers accordingly.

### comment:18 Changed 2 years ago by falkb

Now admin_filter.py", line 40 which is

self.content = tag.td(self._all_ms_proj[self._value])


errors  KeyError: u'mytestmilestone' . This should be a unicode error. Either you are faster or I can have a look tomorrow. Cheers, falkb

### comment:19 Changed 2 years ago by Cinc

Try this code instead of the line giving the error:

                    # The end of a table column, tag: </td>
try:
self.content = tag.td(self._all_ms_proj[self._value])
except KeyError:
# We end up here when the milestone has no project yet
self.content = tag.td()


Your milestone seems to have no associated project.

### comment:20 Changed 2 years ago by Cinc

Ok, there is now a problem with the modify milestone page when haing no project yet. I'm looking into that.

### comment:21 Changed 2 years ago by falkb

yes, that's right, no project accociated

### comment:22 Changed 2 years ago by falkb

In 14347:

see #10060: patch by Cinc which adds project accociation functionality to the common milestone Admin table

(@Cinc: Yeah, your comment:19 patch has helped. :-) Now it shows properly. Like++. I still see the problem I'm not able anymore to add milestones without projects, because the "Add" button is disabled then.)

### comment:23 Changed 2 years ago by Cinc

Hi falkb,

yeah, disabling of the button was on purpose. I'll add a setting to switch that off in the next release of the patch. There are still some rough edges I want to work on. Currently the interface isn't as fool proof as I want it to be.

Stay tuned Cinc

### comment:24 Changed 2 years ago by falkb

Hi Cinc + all Trac developers,

wishing you all a Merry X-mas! Lets retire for a moment and look forward to a great 2015. I'll be randomly off for a while, this does not mean I'm away...

Cheers, falkb

### comment:25 Changed 2 years ago by endquote

Thanks Cinc, this is really helpful.

### comment:26 Changed 2 years ago by Cinc

I think this patch should finally do the job. Removed quite some glitches and bugs.

You may add milestones without a project when setting the following in trac.ini:

[simple-multi-project]
allow_no_project = True


Regards Cinc

### Changed 2 years ago by Cinc

Reworked file allowing milestones without projects. Some bug fixing.

### comment:27 Changed 2 years ago by endquote

I'll watch for this to get checked in...

### comment:28 Changed 2 years ago by Cinc

I added support for the version panels. Was easy enough after figuring out the way to do it.

Sorry for not providing diffs here but only the complete files. The admin_filter.py may replace the last patch completely. This set of files closes #12119.

### comment:29 Changed 2 years ago by falkb

Resolution: → fixed accepted → closed

In 14354:

new cool patch by Cinc (thanks a lot!):

• revised Admin milestone page considering projects now (fixed #10060, fixed #10733)
• fixed Admin version page also considering project now (fixed #12119)

### comment:30 follow-up:  31 Changed 2 years ago by endquote

The project list on the query form is empty for me now. https://www.dropbox.com/s/85dxpm0rzcngo5r/Screenshot%202015-01-05%2012.53.32.png

The project list does show up when entering a milestone: https://www.dropbox.com/s/zwr92osx9toxn3m/Screenshot%202015-01-05%2012.55.12.png?dl=0

The project list also shows up on the versions page correctly.

### comment:31 in reply to:  30 Changed 2 years ago by falkb

The project list on the query form is empty for me now.

[14359] fixes this issue. Thanks for reporting.

### comment:32 Changed 2 years ago by endquote

Looks better now, thanks!

### Modify Ticket

Change Properties