ish_manager 0.1.8.252 → 0.1.8.253

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (72) hide show
  1. checksums.yaml +4 -4
  2. data/app/assets/stylesheets/ish_manager/{application.css → application.scss} +84 -93
  3. data/app/assets/stylesheets/ish_manager/maps.scss +0 -1
  4. data/app/controllers/ish_manager/application_controller.rb +5 -5
  5. data/app/controllers/ish_manager/features_controller.rb +7 -7
  6. data/app/controllers/ish_manager/maps_controller.rb +2 -2
  7. data/app/controllers/ish_manager/newsitems_controller.rb +57 -96
  8. data/app/controllers/ish_manager/reports_controller.rb +39 -71
  9. data/app/controllers/ish_manager/tags_controller.rb +40 -37
  10. data/app/controllers/ish_manager/user_profiles_controller.rb +3 -1
  11. data/app/views/ish_manager/application/_main_footer.haml +3 -3
  12. data/app/views/ish_manager/application/_main_header.haml +1 -1
  13. data/app/views/ish_manager/application/_main_header_admin.haml +34 -39
  14. data/app/views/ish_manager/application/_main_header_guy.haml +1 -1
  15. data/app/views/ish_manager/application/_main_header_manager.haml +1 -1
  16. data/app/views/ish_manager/cities/_form.haml +5 -5
  17. data/app/views/ish_manager/cities/edit_feature.haml +1 -1
  18. data/app/views/ish_manager/cities/index.haml +2 -2
  19. data/app/views/ish_manager/cities/show.haml +15 -15
  20. data/app/views/ish_manager/events/_form.haml +7 -7
  21. data/app/views/ish_manager/features/_form.haml +6 -6
  22. data/app/views/ish_manager/features/_index.haml +42 -28
  23. data/app/views/ish_manager/features/_index.haml-trash +36 -0
  24. data/app/views/ish_manager/features/_item.haml +1 -1
  25. data/app/views/ish_manager/features/index.haml +4 -25
  26. data/app/views/ish_manager/galleries/_form.haml +15 -15
  27. data/app/views/ish_manager/galleries/_index_thumbs.haml +1 -1
  28. data/app/views/ish_manager/galleries/_menu.haml +1 -1
  29. data/app/views/ish_manager/galleries/_thumbs.haml +1 -1
  30. data/app/views/ish_manager/galleries/_title.haml +1 -1
  31. data/app/views/ish_manager/galleries/show.haml +3 -3
  32. data/app/views/ish_manager/invoices/index.haml +1 -1
  33. data/app/views/ish_manager/invoices/new.haml +1 -1
  34. data/app/views/ish_manager/leads/new.haml +1 -1
  35. data/app/views/ish_manager/maps/_form.haml +13 -5
  36. data/app/views/ish_manager/maps/_index_item.haml +7 -0
  37. data/app/views/ish_manager/maps/_map_meta_row.haml +0 -1
  38. data/app/views/ish_manager/maps/index.haml +5 -3
  39. data/app/views/ish_manager/maps/show.haml +1 -4
  40. data/app/views/ish_manager/markers/_form.haml +16 -16
  41. data/app/views/ish_manager/newsitems/_form.haml +45 -35
  42. data/app/views/ish_manager/newsitems/_index.haml +23 -34
  43. data/app/views/ish_manager/newsitems/_item.haml +3 -3
  44. data/app/views/ish_manager/newsitems/edit.haml +11 -10
  45. data/app/views/ish_manager/reports/_form.haml +24 -14
  46. data/app/views/ish_manager/reports/_index.haml +1 -1
  47. data/app/views/ish_manager/reports/new.haml +1 -1
  48. data/app/views/ish_manager/reports/show.haml +2 -1
  49. data/app/views/ish_manager/sites/_header.haml +8 -3
  50. data/app/views/ish_manager/sites/galleries.haml +1 -1
  51. data/app/views/ish_manager/sites/index.haml +1 -1
  52. data/app/views/ish_manager/sites/show.haml +4 -4
  53. data/app/views/ish_manager/stock_watches/_form.haml +1 -1
  54. data/app/views/ish_manager/tags/_features.haml +2 -2
  55. data/app/views/ish_manager/tags/_form.haml +12 -16
  56. data/app/views/ish_manager/tags/_list.haml +1 -1
  57. data/app/views/ish_manager/tags/_list_simple.haml +1 -1
  58. data/app/views/ish_manager/tags/_meta.haml +9 -0
  59. data/app/views/ish_manager/tags/edit.haml +1 -1
  60. data/app/views/ish_manager/tags/show.haml +8 -12
  61. data/app/views/ish_manager/user_profiles/_form.haml +2 -2
  62. data/app/views/ish_manager/user_profiles/index.haml +3 -4
  63. data/app/views/ish_manager/user_profiles/new.haml +1 -1
  64. data/app/views/ish_manager/venues/_form.haml +14 -14
  65. data/app/views/ish_manager/venues/_index.haml +1 -1
  66. data/app/views/ish_manager/videos/_form.haml +8 -8
  67. data/app/views/ish_manager/videos/_index.haml +4 -3
  68. data/app/views/ish_manager/videos/_index_title.haml +2 -2
  69. data/app/views/layouts/ish_manager/application.haml +1 -1
  70. data/app/views/layouts/ish_manager/application_no_materialize.haml +2 -2
  71. data/config/routes.rb +1 -1
  72. metadata +6 -3
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: ce1f4be644e4657cfd435c7d86997e039ad652cc8685338b4631755da901da63
4
- data.tar.gz: dea2c34dbd447eb1161d01852ff402e19fc0475d478c6e37e9064bff5170bba1
3
+ metadata.gz: f22a877e38fa81c26881bef942e43cef7f203b84aeb78867478b46e1e215d0e9
4
+ data.tar.gz: d40cd5edbdb7bd40024f2de398f9b37b8d9df25da62f187b7ac67f28b637945f
5
5
  SHA512:
6
- metadata.gz: 9272f4cf891018c0a5cd97193c24e21c2c0b80185f9ebf54d01213d12f9359a4f9e5e1460fadcb186b8f64a703a6fe17a016b046907543118cd602cf226b6b71
7
- data.tar.gz: e05796ed3cf5417795eeef7434450490efe1b741031b2e011f55c7040f532fc9c366d9db11258dd3d84ece4dee9cc0a088abb77008200f9eb959153db2a15ce4
6
+ metadata.gz: 0fa6e95114f3f01275e8cfe1567ba98d42ccc7b1e8edf7c85b7fb89cf1357559dbe8f4f73ef7411475872b0f342d38f4c90278e6133ace095f341008d13274d8
7
+ data.tar.gz: 6d4b9633e0e8de2ad33b0351affeca4ab4360cfc616ff34474183713e2ea4506b26e3fcf597b632efe0d8ccdff9feb0b1904c1d4ba52bbd08a5acd669d1d0728
@@ -10,8 +10,6 @@
10
10
  * files in this directory. Styles in this file should be added after the last require_* statement.
11
11
  * It is generally better to create a new file per style scope.
12
12
  *
13
- *= require ish_manager/bootstrap
14
- *= require ish_manager/reset
15
13
  *= require_self
16
14
  *= require ish_manager/tags
17
15
  *= require ish_manager/maps
@@ -22,49 +20,62 @@
22
20
  *= require ish_manager/user_profiles
23
21
  */
24
22
 
23
+ body {
24
+ background: #dedede;
25
+ font-size: 20px;
26
+ }
25
27
 
26
28
  /**
27
29
  * utils
28
30
  */
31
+
32
+ /* A */
33
+
34
+ .addToggle + * {
35
+ display: none;
36
+ }
37
+ .alert {
38
+ boroder: 1px solid yellow;
39
+ padding: .8em;
40
+ }
41
+
42
+ /* B */
43
+
29
44
  .bg-white {
30
45
  background: url('/assets/bg/confectionary.png');
31
46
  padding-bottom: 1em;
32
47
  }
33
48
 
34
- body {
35
- background: #dedede;
49
+ .blue {
50
+ background: #5bc0de;
51
+ color: white;
52
+ }
53
+
54
+ .border-red {
55
+ border: 1px solid red;
56
+ padding: 1em;
36
57
  }
37
58
 
59
+ /* C */
60
+
38
61
  .center {
39
62
  text-align: center;
40
63
  }
41
64
 
42
- .inline {
43
- display: inline-block;
65
+ .clearfix {
66
+ clear: both;
44
67
  }
45
68
 
46
- .notice {
47
- border: 1px solid green;
48
- padding: .8em;
49
- }
50
- .alert {
51
- boroder: 1px solid yellow;
52
- padding: .8em;
69
+ .collapse-expand {
70
+ cursor: pointer;
53
71
  }
54
72
 
55
- hr {
56
- background: red;
57
- height: 1px !important;
58
- }
73
+ /* D */
74
+ /* E */
75
+ /* F */
59
76
 
60
- .thumb {
61
- background: dedede;
62
- border: 1px solid red;
63
- width: 100px;
64
- height: 100px;
65
- }
66
- .large-photos img {
67
- width: 100%;
77
+ .flex-row {
78
+ display: flex;
68
79
  }
69
80
 
70
81
  .float-left {
@@ -74,40 +85,31 @@ hr {
74
85
  .float-right {
75
86
  float: right;
76
87
  }
77
- .clearfix {
78
- clear: both;
79
- }
80
- .blue {
81
- background: #5bc0de;
82
- color: white;
83
- }
84
-
85
- .panel-content {
86
- padding: .5em;
88
+ hr {
89
+ background: red;
90
+ height: 1px !important;
87
91
  }
88
92
 
89
- .collapse-expand {
90
- cursor: pointer;
91
- }
93
+ /* I */
92
94
 
93
- .youtube_img {
94
- width: 100px;
95
+ .inline {
96
+ display: inline-block;
95
97
  }
96
-
97
98
  ul.inline li {
98
99
  display: inline;
99
100
  }
100
101
 
101
- .border-red,
102
- .red-border {
103
- border: 1px solid red;
104
- padding: 1em;
102
+ /* L */
103
+ textarea.large {
104
+ height: 400px;
105
105
  }
106
106
 
107
- .addToggle + * {
108
- display: none;
107
+ .large-photos img {
108
+ width: 100%;
109
109
  }
110
110
 
111
+ /* M */
112
+
111
113
  .menu-secondary {}
112
114
  .menu-secondary li {
113
115
  display: inline;
@@ -117,12 +119,47 @@ ul.inline li {
117
119
  background: white;
118
120
  }
119
121
 
122
+ .panel-content {
123
+ padding: .5em;
124
+ }
125
+ .thumb {
126
+ background: dedede;
127
+ border: 1px solid red;
128
+ width: 100px;
129
+ height: 100px;
130
+ }
131
+ ul.inline li {
132
+ padding-right: 1em;
133
+ }
134
+
135
+ .notice {
136
+ border: 1px solid green;
137
+ padding: .8em;
138
+ }
139
+
140
+ .youtube_img {
141
+ width: 100px;
142
+ }
143
+
144
+
145
+
146
+
147
+
148
+
149
+
150
+
120
151
  /**
121
152
  * manager...
122
153
  */
123
154
 
124
155
  .manager--main-header {
125
156
  background: url('/assets/bg/weather.png');
157
+ ul {
158
+ li {
159
+ display: inline;
160
+ padding: 1em;
161
+ }
162
+ }
126
163
  }
127
164
  .manager--main-header hr {
128
165
  margin-top: 0;
@@ -138,17 +175,6 @@ ul.inline li {
138
175
  border-bottom: 1px solid red;
139
176
  }
140
177
 
141
- /**
142
- * pagination
143
- */
144
-
145
- /* nav.pagination {
146
- padding-left: 1em;
147
- background: transparent;
148
- }
149
- nav.pagination
150
- */
151
-
152
178
 
153
179
  /**
154
180
  * reports
@@ -161,41 +187,6 @@ nav.pagination
161
187
  }
162
188
 
163
189
 
164
- /**
165
- * ally, stock watches
166
- */
167
- .price {
168
- /* margin-left: 1em; */
169
- }
170
- .descriptive {
171
- line-height: 2em;
172
- }
173
- .price::before {
174
- content: "$";
175
- position: absolute;
176
- top: 1em;
177
- left: 0;
178
- }
179
- table.stock_watches td {
180
- border-right: 1px solid cyan;
181
- padding: 15px;
182
- }
183
- table.stock_watches .trashy {
184
- background: #cecece;
185
- }
186
-
187
- .stock-option {
188
- /* border: 1px solid red; */
189
- border-radius: 5px;
190
- display: inline-block;
191
- padding: 5px;
192
- box-shadow: 2px 2px 5px grey;
193
- margin: 5px;
194
- }
195
- .stock-option:hover {
196
- box-shadow: 3px 3px 5px grey;
197
- }
198
-
199
190
  /*
200
191
  * newsitems
201
192
  */
@@ -5,7 +5,6 @@
5
5
  position: absolute;
6
6
  }
7
7
 
8
-
9
8
  .maps-index {
10
9
  h1 {
11
10
  padding-bottom: 10px;
@@ -26,15 +26,15 @@ module IshManager
26
26
 
27
27
  def set_lists
28
28
  @cities_list = City.list
29
+ @galleries_list = Gallery.all.list
29
30
  @locations_list = ::Gameui::Map.list
31
+ @maps_list = ::Gameui::Map.list
32
+ @reports_list = Report.all.list
30
33
  @sites_list = Site.all.list
34
+ @tags_list = Tag.list
35
+ @user_profiles_list = IshModels::UserProfile.all.list
31
36
  @venues_list = Venue.all.list
32
-
33
- @reports_list = Report.all.list
34
- @galleries_list = Gallery.all.list
35
37
  @videos_list = Video.all.list
36
- @user_profiles_list = IshModels::UserProfile.all.list
37
- @tags_list = Tag.list
38
38
  end
39
39
 
40
40
  def access_denied exception
@@ -2,7 +2,7 @@
2
2
  class IshManager::FeaturesController < IshManager::ApplicationController
3
3
 
4
4
  before_action :set_lists
5
-
5
+
6
6
  def new
7
7
  if params[:city_id]
8
8
  @city = City.find params[:city_id]
@@ -70,7 +70,7 @@ class IshManager::FeaturesController < IshManager::ApplicationController
70
70
  @feature = @tag.features.find params[:id]
71
71
  authorize! :edit_feature, @tag
72
72
  end
73
-
73
+
74
74
  if params[:venue_id]
75
75
  @venue = Tag.find params[:venue_id]
76
76
  @feature = @venue.features.find params[:id]
@@ -81,13 +81,13 @@ class IshManager::FeaturesController < IshManager::ApplicationController
81
81
 
82
82
  def update
83
83
  unless params[:city_id].blank?
84
- @city = City.find params[:city_id]
84
+ @city = City.find params[:city_id]
85
85
  authorize! :update_feature, @city
86
86
  @feature = @city.features.find params[:id]
87
87
  redirect_path = city_path( @city )
88
88
  end
89
89
  unless params[:site_id].blank?
90
- @site = Site.find params[:site_id]
90
+ @site = Site.find params[:site_id]
91
91
  authorize! :update_feature, @site
92
92
  @feature = @site.features.find params[:id]
93
93
  redirect_path = site_path( @site )
@@ -98,7 +98,7 @@ class IshManager::FeaturesController < IshManager::ApplicationController
98
98
  @feature = @tag.features.find params[:id]
99
99
  redirect_path = tag_path( @tag )
100
100
  end
101
-
101
+
102
102
  authorize! :update, @feature
103
103
 
104
104
  if @feature.update_attributes params[:feature].permit!
@@ -111,7 +111,7 @@ class IshManager::FeaturesController < IshManager::ApplicationController
111
111
  else
112
112
  flash[:alert] = 'No Luck. ' + @feature.errors.messages
113
113
  render :action => :edit
114
- end
114
+ end
115
115
  end
116
116
 
117
117
  def index
@@ -145,6 +145,6 @@ class IshManager::FeaturesController < IshManager::ApplicationController
145
145
  end
146
146
  redirect_to request.referrer
147
147
  end
148
-
148
+
149
149
  end
150
150
 
@@ -5,8 +5,8 @@ class IshManager::MapsController < IshManager::ApplicationController
5
5
 
6
6
  def index
7
7
  authorize! :index, ::Gameui::Map
8
- @maps = ::Gameui::Map.where( parent_slug: "" )
9
- @all_maps = Gameui::Map.all
8
+ @maps = ::Gameui::Map.where( parent_slug: "" ).order( slug: :asc )
9
+ @all_maps = Gameui::Map.all.order( slug: :asc )
10
10
  end
11
11
 
12
12
  def show
@@ -1,28 +1,7 @@
1
1
  class IshManager::NewsitemsController < IshManager::ApplicationController
2
2
  before_action :set_lists
3
3
 
4
- def new
5
- @newsitem = Newsitem.new
6
-
7
- @cities_list = City.list
8
- @maps_list = ::Gameui::Map.list
9
- @sites_list = Site.list
10
- @tags_list = Tag.list
11
-
12
- if params[:city_id]
13
- @city = City.find params[:city_id]
14
- @newsitem.city = @city
15
- end
16
- if params[:site_id]
17
- @site = Site.find params[:site_id]
18
- @newsitem.site = @site
19
- end
20
- if params[:tag_id]
21
- @tag = Tag.unscoped.find params[:tag_id]
22
- @newsitem.tag = @tag
23
- end
24
- authorize! :new, @newsitem
25
- end
4
+ ## Alphabetized : )
26
5
 
27
6
  def create
28
7
  @newsitem = Newsitem.new params[:newsitem].permit!
@@ -35,6 +14,7 @@ class IshManager::NewsitemsController < IshManager::ApplicationController
35
14
  @resource ||= IshModels::UserProfile.find params[:newsitem][:user_profile_id] if !params[:newsitem][:user_profile_id].blank?
36
15
  @resource ||= ::Gameui::Map.find params[:newsitem][:map_id] if !params[:newsitem][:map_id].blank?
37
16
  @resource.newsitems << @newsitem
17
+ @resource.touch
38
18
 
39
19
  authorize! :create_newsitem, @resource
40
20
 
@@ -46,13 +26,13 @@ class IshManager::NewsitemsController < IshManager::ApplicationController
46
26
  url = case @resource.class.name
47
27
  when "City"
48
28
  edit_city_path( @resource.id )
29
+ when "IshModels::UserProfile"
30
+ user_profiles_path
31
+ when "Site"
32
+ edit_site_path( @resource.id )
49
33
  when "Tag"
50
34
  @resource.site.touch
51
35
  tag_path( @resource.id )
52
- when "Site"
53
- edit_site_path( @resource.id )
54
- when "IshModels::UserProfile"
55
- user_profiles_path
56
36
  else
57
37
  root_path
58
38
  end
@@ -72,103 +52,84 @@ class IshManager::NewsitemsController < IshManager::ApplicationController
72
52
  end
73
53
 
74
54
  def destroy
75
- authorize! :destroy, Newsitem
76
- if params[:city_id]
77
- flag = City.find( params[:city_id] ).newsitems.find( params[:id] ).destroy
78
- url = edit_city_path( params[:city_id] )
55
+ @newsitem = Newsitem.find params[:id]
56
+ authorize! :destroy, @newsitem
57
+
58
+ if @newsitem.destroy
59
+ City.find(@newsitem.city_id).touch if @newsitem.city_id
60
+ Site.find(@newsitem.site_id).touch if @newsitem.site_id
61
+ Tag.find(@newsitem.tag_id).touch if @newsitem.tag_id
62
+
63
+ flash[:notice] = "Destroyed the newsitem."
64
+ else
65
+ flash[:alert] = "Cannot destroy the newsitem: #{@newsitem.errors.full_messages}."
79
66
  end
80
- if profile_id = params[:user_profile_id]
81
- profile = IshModels::UserProfile.find profile_id
82
- flag = profile.newsitems.find( params[:id] ).destroy
83
- url = profile_path( profile_id )
67
+
68
+ redirect_to request.referrer ? request.referrer : '/'
69
+ end
70
+
71
+ def edit
72
+ @newsitem = Newsitem.find( params[:id] )
73
+ authorize! :edit, @newsitem
74
+
75
+ ## @TODO: what on earth is this?
76
+ out = Gallery.unscoped.where( :is_trash => false, :user_profile => current_user.profile ).order_by( :created_at => :desc )
77
+ @galleries_list = [['', nil]] + out.map { |item| [ "#{item.created_at.strftime('%Y%m%d')} #{item.name}", item.id ] }
78
+
79
+ end
80
+
81
+ def index
82
+ @resource = Site.find( params[:site_id] ) if params[:site_id]
83
+ @resource = City.find( params[:site_id] ) if params[:city_id]
84
+
85
+ authorize! :newsitems_index, @resource
86
+ @newsitems = @resource.newsitems
87
+ end
88
+
89
+ def new
90
+ @newsitem = Newsitem.new
91
+
92
+ if params[:city_id]
93
+ @city = City.find params[:city_id]
94
+ @newsitem.city = @city
84
95
  end
85
96
  if params[:site_id]
86
- site = Site.find( params[:site_id] )
87
- flag = site.newsitems.find( params[:id] ).destroy
88
- if flag
89
- site.touch
90
- end
91
- url = edit_site_path( params[:site_id] )
97
+ @site = Site.find params[:site_id]
98
+ @newsitem.site = @site
92
99
  end
93
100
  if params[:tag_id]
94
- tag = Tag.find( params[:tag_id] )
95
- flag = tag.newsitems.find( params[:id] ).destroy
96
- url = tag_path( params[:tag_id] )
101
+ @tag = Tag.unscoped.find params[:tag_id]
102
+ @newsitem.tag = @tag
97
103
  end
98
-
99
- flash[:notice] = "Success? #{flag.inspect}"
100
- redirect_to request.referrer ? request.referrer : '/'
104
+ authorize! :new, @newsitem
101
105
  end
102
106
 
103
107
  def update
104
- if params[:site_id] || params[:newsitem][:site_id]
105
- if params[:site_id]
106
- @site = Site.find params[:site_id]
107
- end
108
- if params[:newsitem][:site_id]
109
- @site = Site.find params[:newsitem][:site_id]
110
- end
111
- @site.touch
112
- @newsitem = @site.newsitems.find params[:id]
113
- url = edit_site_path( @site )
114
- end
108
+ @newsitem = Newsitem.find params[:id]
109
+ authorize! :update, @newsitem
110
+
111
+ ## @TODO: re-add site management here, probably.
115
112
 
116
113
  if params[:city_id]
117
114
  @city = City.find params[:city_id]
118
115
  @newsitem = @city.newsitems.find params[:id]
119
116
  url = edit_city_path( @city )
120
117
  end
118
+
121
119
  if params[:photo]
122
120
  photo = Photo.new :photo => params[:photo]
123
121
  photo.user_profile = current_user.profile
124
122
  @newsitem.photo = photo
125
123
  end
126
- authorize! :update, @newsitem
127
- flag = @newsitem.update_attributes params[:newsitem].permit!
128
124
 
125
+ flag = @newsitem.update_attributes params[:newsitem].permit!
129
126
  if flag
130
127
  flash[:notice] = 'Success'
131
128
  else
132
129
  flash[:alert] = "No Luck: #{@newsitem.errors.messages}"
133
130
  end
134
131
 
135
- redirect_to url
136
- end
137
-
138
- def edit
139
- out = Gallery.unscoped.where( :is_trash => false, :user_profile => current_user.profile ).order_by( :created_at => :desc )
140
- @galleries_list = [['', nil]] + out.map { |item| [ "#{item.created_at.strftime('%Y%m%d')} #{item.name}", item.id ] }
141
-
142
- if params[:site_id]
143
- @site = Site.find params[:site_id]
144
- @newsitem = @site.newsitems.find( params[:id] )
145
- end
146
- if params[:city_id]
147
- @city = City.find params[:city_id]
148
- @newsitem = @city.newsitems.find( params[:id] )
149
- end
150
- authorize! :edit, @newsitem
151
-
152
- end
153
-
154
- def index
155
- @resource = Site.find( params[:site_id] ) if params[:site_id]
156
- @resource = City.find( params[:site_id] ) if params[:city_id]
157
-
158
- authorize! :newsitems_index, @resource
159
- @newsitems = @resource.newsitems
160
- end
161
-
162
- private
163
-
164
- def set_lists
165
- @videos_list = Video.list
166
- @galleries_list = Gallery.list
167
- @reports_list = Report.list
168
- @sites_list = Site.list
169
- @cities_list = City.list
170
- @tags_list = Tag.list
171
- @user_profiles_list = IshModels::UserProfile.list
132
+ redirect_to edit_newsitem_path(@newsitem)
172
133
  end
173
134
 
174
135
  end
@@ -3,11 +3,48 @@ class IshManager::ReportsController < IshManager::ApplicationController
3
3
 
4
4
  before_action :set_lists
5
5
 
6
+ def create
7
+ @report = Report.new params[:report].permit!
8
+ @report.user_profile = current_user.profile # @TODO: this should not be hard-coded
9
+ authorize! :create, @report
10
+
11
+ flag = @report.save
12
+ respond_to do |format|
13
+ if flag
14
+
15
+ ## @TODO: I'm sure there is a better way
16
+ if params[:report][:photo]
17
+ photo = Photo.new
18
+ photo.photo = params[:report][:photo]
19
+ photo.is_public = @report.is_public
20
+ photo.is_trash = false
21
+ photo.report_id = @report.id
22
+ photo.save
23
+ end
24
+
25
+ format.html do
26
+ redirect_to report_path(@report), :notice => 'Report was successfully created.'
27
+ end
28
+ format.json { render :json => @report, :status => :created, :location => @report } # TODO: remove, I got the api now.
29
+ else
30
+ format.html do
31
+ flash[:alert] = @report.errors.full_messages
32
+ @tags_list = Tag.all.list
33
+ @sites_list = Site.all.list
34
+ @cities_list = City.all.list
35
+
36
+ render :action => "new"
37
+ end
38
+ format.json { render :json => @report.errors, :status => :unprocessable_entity } # @TODO: remove, right? no api here.
39
+ end
40
+ end
41
+ end
42
+
6
43
  def index
7
44
  authorize! :index, Report
8
- @reports = Report.unscoped.order_by( :created_at => :desc
45
+ @reports = Report.unscoped.order_by( :created_at => :desc
9
46
  ).where( :is_trash => false, :user_profile => current_user.profile
10
- ).page( params[:reports_page]
47
+ ).page( params[:reports_page]
11
48
  ).per( Report::PER_PAGE )
12
49
  if false === params[:site]
13
50
  @reports = @reports.where( :site_id => nil )
@@ -74,76 +111,7 @@ class IshManager::ReportsController < IshManager::ApplicationController
74
111
  end
75
112
  end
76
113
 
77
- def create
78
- @report = Report.new params[:report].permit!
79
- @report.user_profile = current_user.profile
80
- authorize! :create, @report
81
-
82
- @site = Site.where( :id => params[:report][:site_id] ).first
83
- @site ||= Site.find_by :domain => 'piousbox.com', :lang => :en
84
-
85
- if @site
86
- redirect_path = site_reports_path( @site.id )
87
- end
88
- if params[:report][:city_id]
89
- redirect_path = city_path( params[:report][:city_id] )
90
- end
91
-
92
- # @report.user = @current_user || User.where( :username => 'anon' ).first
93
- # @report.username = @report.user.username
94
- @report[:lang] = @locale
95
- @report.name_seo ||= @report.id
96
- @report.is_feature = false
97
- @report.site = @site
98
-
99
- saved = @report.save
100
-
101
- respond_to do |format|
102
- if saved
103
-
104
- if params[:report][:photo]
105
- # photo
106
- photo = Photo.new
107
- photo.photo = params[:report][:photo]
108
- # photo.user = @report.user
109
- photo.is_public = @report.is_public
110
- photo.is_trash = false
111
- photo.report_id = @report.id
112
- photo.save
113
- end
114
-
115
- # for homepage
116
- # @TODO: move this to the model
117
- if @report.is_public
118
- n = Newsitem.new
119
- n.report = @report
120
- n.descr = @report.subhead
121
- # n.user = @report.user
122
- @site.newsitems << n
123
- @site.touch
124
- if @site.save
125
- else
126
- flash[:alert] = (flash[:alert]||'') + 'City could not be saved (newsitem). '
127
- end
128
- end
129
-
130
- format.html do
131
- redirect_to redirect_path, :notice => 'Report was successfully created (but newsitem, no information).'
132
- end
133
- format.json { render :json => @report, :status => :created, :location => @report }
134
- else
135
- format.html do
136
- flash[:alert] = @report.errors.messages
137
- @tags_list = Tag.all.where( :is_public => true ).list
138
- @sites_list = Site.all.list
139
- @cities_list = City.all.list
140
114
 
141
- render :action => "new"
142
- end
143
- format.json { render :json => @report.errors, :status => :unprocessable_entity }
144
- end
145
- end
146
- end
147
115
 
148
116
  end
149
117