Commit f3c707de85fac0fa3f096234380a971c5c2804e3

Authored by Sergio Oliveira
2 parents 0b119ef5 f40f5197

Merge branch 'master' of github.com:TracyWebTech/colab

@@ -23,6 +23,7 @@ Vagrant.configure(VAGRANTFILE_API_VERSION) do |config| @@ -23,6 +23,7 @@ Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
23 config.vm.network :forwarded_port, guest: 7000, host: 8000 23 config.vm.network :forwarded_port, guest: 7000, host: 8000
24 config.vm.network :forwarded_port, guest: 5280, host: 5280 24 config.vm.network :forwarded_port, guest: 5280, host: 5280
25 config.vm.network :forwarded_port, guest: 8080, host: 8081 25 config.vm.network :forwarded_port, guest: 8080, host: 8081
  26 + config.vm.network :forwarded_port, guest: 8983, host: 8983
26 27
27 # Create a private network, which allows host-only access to the machine 28 # Create a private network, which allows host-only access to the machine
28 # using a specific IP. 29 # using a specific IP.
src/proxy/search_indexes.py
@@ -10,20 +10,24 @@ from .models import Ticket, Wiki, Revision @@ -10,20 +10,24 @@ from .models import Ticket, Wiki, Revision
10 10
11 class WikiIndex(indexes.SearchIndex, indexes.Indexable): 11 class WikiIndex(indexes.SearchIndex, indexes.Indexable):
12 # common fields 12 # common fields
13 - text = indexes.CharField(document=True, use_template=True)  
14 - url = indexes.CharField(model_attr='get_absolute_url') 13 + text = indexes.CharField(document=True, use_template=True, stored=False)
  14 + url = indexes.CharField(model_attr='get_absolute_url', indexed=False)
15 title = indexes.CharField(model_attr='name') 15 title = indexes.CharField(model_attr='name')
16 description = indexes.CharField(null=True) 16 description = indexes.CharField(null=True)
17 author = indexes.CharField(null=True) 17 author = indexes.CharField(null=True)
18 - author_url = indexes.CharField(null=True) 18 + author_url = indexes.CharField(null=True, indexed=False)
19 created = indexes.DateTimeField(model_attr='created', null=True) 19 created = indexes.DateTimeField(model_attr='created', null=True)
20 modified = indexes.DateTimeField(model_attr='modified', null=True) 20 modified = indexes.DateTimeField(model_attr='modified', null=True)
21 type = indexes.CharField() 21 type = indexes.CharField()
22 - icon_name = indexes.CharField()  
23 - author_username = indexes.CharField(null=True) 22 + icon_name = indexes.CharField(indexed=False)
  23 + author_and_username = indexes.CharField(null=True, stored=False)
24 24
25 # trac extra fields 25 # trac extra fields
26 - collaborators = indexes.CharField(model_attr='collaborators', null=True) 26 + collaborators = indexes.CharField(
  27 + model_attr='collaborators',
  28 + null=True,
  29 + stored=False,
  30 + )
27 31
28 def get_model(self): 32 def get_model(self):
29 return Wiki 33 return Wiki
@@ -37,7 +41,7 @@ class WikiIndex(indexes.SearchIndex, indexes.Indexable): @@ -37,7 +41,7 @@ class WikiIndex(indexes.SearchIndex, indexes.Indexable):
37 return author.get_full_name() 41 return author.get_full_name()
38 return obj.author 42 return obj.author
39 43
40 - def prepare_author_username(self, obj): 44 + def prepare_author_and_username(self, obj):
41 author = obj.get_author() 45 author = obj.get_author()
42 if not author: 46 if not author:
43 return obj.author 47 return obj.author
@@ -64,18 +68,18 @@ class WikiIndex(indexes.SearchIndex, indexes.Indexable): @@ -64,18 +68,18 @@ class WikiIndex(indexes.SearchIndex, indexes.Indexable):
64 68
65 class TicketIndex(indexes.SearchIndex, indexes.Indexable): 69 class TicketIndex(indexes.SearchIndex, indexes.Indexable):
66 # common fields 70 # common fields
67 - text = indexes.CharField(document=True, use_template=True)  
68 - url = indexes.CharField(model_attr='get_absolute_url') 71 + text = indexes.CharField(document=True, use_template=True, stored=False)
  72 + url = indexes.CharField(model_attr='get_absolute_url', indexed=False)
69 title = indexes.CharField() 73 title = indexes.CharField()
70 description = indexes.CharField(null=True) 74 description = indexes.CharField(null=True)
71 author = indexes.CharField(null=True) 75 author = indexes.CharField(null=True)
72 - author_url = indexes.CharField(null=True) 76 + author_url = indexes.CharField(null=True, indexed=False)
73 created = indexes.DateTimeField(model_attr='created', null=True) 77 created = indexes.DateTimeField(model_attr='created', null=True)
74 modified = indexes.DateTimeField(model_attr='modified', null=True) 78 modified = indexes.DateTimeField(model_attr='modified', null=True)
75 type = indexes.CharField() 79 type = indexes.CharField()
76 - icon_name = indexes.CharField() 80 + icon_name = indexes.CharField(indexed=False)
77 tag = indexes.CharField(model_attr='status', null=True) 81 tag = indexes.CharField(model_attr='status', null=True)
78 - author_username = indexes.CharField(null=True) 82 + author_and_username = indexes.CharField(null=True, stored=False)
79 83
80 # trac extra fields 84 # trac extra fields
81 milestone = indexes.CharField(model_attr='milestone', null=True) 85 milestone = indexes.CharField(model_attr='milestone', null=True)
@@ -83,7 +87,11 @@ class TicketIndex(indexes.SearchIndex, indexes.Indexable): @@ -83,7 +87,11 @@ class TicketIndex(indexes.SearchIndex, indexes.Indexable):
83 severity = indexes.CharField(model_attr='severity', null=True) 87 severity = indexes.CharField(model_attr='severity', null=True)
84 reporter = indexes.CharField(model_attr='reporter', null=True) 88 reporter = indexes.CharField(model_attr='reporter', null=True)
85 keywords = indexes.CharField(model_attr='keywords', null=True) 89 keywords = indexes.CharField(model_attr='keywords', null=True)
86 - collaborators = indexes.CharField(model_attr='collaborators', null=True) 90 + collaborators = indexes.CharField(
  91 + model_attr='collaborators',
  92 + null=True,
  93 + stored=False,
  94 + )
87 95
88 def get_model(self): 96 def get_model(self):
89 return Ticket 97 return Ticket
@@ -97,7 +105,7 @@ class TicketIndex(indexes.SearchIndex, indexes.Indexable): @@ -97,7 +105,7 @@ class TicketIndex(indexes.SearchIndex, indexes.Indexable):
97 return author.get_full_name() 105 return author.get_full_name()
98 return obj.author 106 return obj.author
99 107
100 - def prepare_author_username(self, obj): 108 + def prepare_author_and_username(self, obj):
101 author = obj.get_author() 109 author = obj.get_author()
102 if not author: 110 if not author:
103 return obj.author 111 return obj.author
@@ -130,21 +138,23 @@ class TicketIndex(indexes.SearchIndex, indexes.Indexable): @@ -130,21 +138,23 @@ class TicketIndex(indexes.SearchIndex, indexes.Indexable):
130 138
131 class RevisionIndex(indexes.SearchIndex, indexes.Indexable): 139 class RevisionIndex(indexes.SearchIndex, indexes.Indexable):
132 # common fields 140 # common fields
133 - text = indexes.CharField(document=True, use_template=True)  
134 - url = indexes.CharField(model_attr='get_absolute_url') 141 + text = indexes.CharField(document=True, use_template=True, stored=False)
  142 + url = indexes.CharField(model_attr='get_absolute_url', indexed=False)
135 title = indexes.CharField() 143 title = indexes.CharField()
136 description = indexes.CharField(model_attr='message', null=True) 144 description = indexes.CharField(model_attr='message', null=True)
137 author = indexes.CharField(null=True) 145 author = indexes.CharField(null=True)
138 - author_url = indexes.CharField(null=True) 146 + author_url = indexes.CharField(null=True, indexed=False)
139 created = indexes.DateTimeField(model_attr='created', null=True) 147 created = indexes.DateTimeField(model_attr='created', null=True)
140 modified = indexes.DateTimeField(model_attr='created', null=True) 148 modified = indexes.DateTimeField(model_attr='created', null=True)
141 type = indexes.CharField() 149 type = indexes.CharField()
142 - icon_name = indexes.CharField()  
143 - author_username = indexes.CharField(null=True) 150 + icon_name = indexes.CharField(indexed=False)
  151 + author_and_username = indexes.CharField(null=True, stored=False)
144 152
145 # trac extra fields 153 # trac extra fields
146 - repository_name = indexes.CharField(model_attr='repository_name')  
147 - revision = indexes.CharField(model_attr='rev') 154 + repository_name = indexes.CharField(
  155 + model_attr='repository_name',
  156 + stored=False
  157 + )
148 158
149 def get_model(self): 159 def get_model(self):
150 return Revision 160 return Revision
@@ -158,7 +168,7 @@ class RevisionIndex(indexes.SearchIndex, indexes.Indexable): @@ -158,7 +168,7 @@ class RevisionIndex(indexes.SearchIndex, indexes.Indexable):
158 return author.get_full_name() 168 return author.get_full_name()
159 return obj.author 169 return obj.author
160 170
161 - def prepare_author_username(self, obj): 171 + def prepare_author_and_username(self, obj):
162 author = obj.get_author() 172 author = obj.get_author()
163 if not author: 173 if not author:
164 return obj.author 174 return obj.author
src/search/forms.py
@@ -63,7 +63,7 @@ class ColabSearchForm(SearchForm): @@ -63,7 +63,7 @@ class ColabSearchForm(SearchForm):
63 63
64 if self.cleaned_data['author']: 64 if self.cleaned_data['author']:
65 sqs = sqs.filter( 65 sqs = sqs.filter(
66 - author_username__contains=self.cleaned_data['author'] 66 + author_and_username__contains=self.cleaned_data['author']
67 ) 67 )
68 68
69 if self.cleaned_data['milestone']: 69 if self.cleaned_data['milestone']:
src/super_archives/search_indexes.py
@@ -7,25 +7,33 @@ from .models import Thread @@ -7,25 +7,33 @@ from .models import Thread
7 7
8 class ThreadIndex(indexes.SearchIndex, indexes.Indexable): 8 class ThreadIndex(indexes.SearchIndex, indexes.Indexable):
9 # common fields 9 # common fields
10 - text = indexes.CharField(document=True, use_template=True)  
11 - url = indexes.CharField(model_attr='get_absolute_url', null=True) 10 + text = indexes.CharField(document=True, use_template=True, stored=False)
  11 + url = indexes.CharField(
  12 + model_attr='get_absolute_url',
  13 + null=True,
  14 + indexed=False
  15 + )
12 title = indexes.CharField(model_attr='latest_message__subject_clean') 16 title = indexes.CharField(model_attr='latest_message__subject_clean')
13 description = indexes.CharField(use_template=True) 17 description = indexes.CharField(use_template=True)
14 - latest_description = indexes.CharField(model_attr='latest_message__body') 18 + latest_description = indexes.CharField(
  19 + model_attr='latest_message__body',
  20 + indexed=False,
  21 + )
15 created = indexes.DateTimeField() 22 created = indexes.DateTimeField()
16 modified = indexes.DateTimeField( 23 modified = indexes.DateTimeField(
17 model_attr='latest_message__received_time' 24 model_attr='latest_message__received_time'
18 ) 25 )
19 author = indexes.CharField(null=True) 26 author = indexes.CharField(null=True)
20 - author_url = indexes.CharField(null=True) 27 + author_url = indexes.CharField(null=True, indexed=False)
21 type = indexes.CharField() 28 type = indexes.CharField()
22 - icon_name = indexes.CharField() 29 + icon_name = indexes.CharField(indexed=False)
23 tag = indexes.CharField(model_attr='mailinglist__name') 30 tag = indexes.CharField(model_attr='mailinglist__name')
24 - collaborators = indexes.CharField(use_template=True) 31 + collaborators = indexes.CharField(use_template=True, stored=False)
25 32
26 - author_username = indexes.CharField(null=True) 33 + author_and_username = indexes.CharField(null=True, stored=False)
27 mailinglist_url = indexes.CharField( 34 mailinglist_url = indexes.CharField(
28 - model_attr='mailinglist__get_absolute_url' 35 + model_attr='mailinglist__get_absolute_url',
  36 + indexed=False,
29 ) 37 )
30 38
31 def get_model(self): 39 def get_model(self):
@@ -37,7 +45,7 @@ class ThreadIndex(indexes.SearchIndex, indexes.Indexable): @@ -37,7 +45,7 @@ class ThreadIndex(indexes.SearchIndex, indexes.Indexable):
37 def prepare_author(self, obj): 45 def prepare_author(self, obj):
38 return obj.message_set.first().from_address.get_full_name() 46 return obj.message_set.first().from_address.get_full_name()
39 47
40 - def prepare_author_username(self, obj): 48 + def prepare_author_and_username(self, obj):
41 from_address = obj.message_set.first().from_address 49 from_address = obj.message_set.first().from_address
42 if not from_address.user: 50 if not from_address.user:
43 return from_address.get_full_name() 51 return from_address.get_full_name()
src/super_archives/templates/search/indexes/super_archives/thread_description.txt
1 {% for message in object.message_set.iterator %} 1 {% for message in object.message_set.iterator %}
2 - {% if not spam %}  
3 - {{ message.body }}  
4 - {% endif %} 2 + {{ message.body }}
5 {% endfor %} 3 {% endfor %}