Merge pull request #3277 from Growstuff/dev

Release 52
This commit is contained in:
Daniel O'Connor
2023-03-13 14:50:27 +10:30
committed by GitHub
17 changed files with 93 additions and 57 deletions

View File

@@ -1 +1 @@
3.1.2
3.1.3

View File

@@ -751,7 +751,7 @@ DEPENDENCIES
xmlrpc
RUBY VERSION
ruby 3.1.2p20
ruby 3.1.3p185
BUNDLED WITH
2.3.11

View File

@@ -20,7 +20,7 @@ encourage participation from people of all backgrounds and skill levels.
* [Issues](https://github.com/orgs/Growstuff/projects/1) (features we're
working on, known bugs, etc)
* [![Gitter](https://badges.gitter.im/Growstuff/growstuff.svg)](https://gitter.im/Growstuff/growstuff?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge)
* [Wiki](https://github.com/Growstuff/growstuff/wiki) (general documentation, etc. Help by migrating from the [old wiki](https://web.archive.org/web/*/wiki.growstuff.org))
* [Wiki](https://github.com/Growstuff/growstuff/wiki) (general documentation, etc.)
## For coders
@@ -29,7 +29,6 @@ frontend features. We welcome contributions -- see
[CONTRIBUTING](CONTRIBUTING.md) for details.
* To set up your development environment, see [Getting started](https://github.com/Growstuff/growstuff/wiki/New-contributor-guide).
* We encourage [pair programming](http://wiki.growstuff.org/index.php/Pairing), especially for newer developers.
* You may also be interested in our [API](https://github.com/Growstuff/growstuff/wiki/API).
## For designers, writers, researchers, data wranglers, and other contributors

View File

@@ -1,10 +1,6 @@
function showCropMap(cropmap) {
var mapbox_map_id = "<%= Rails.env == 'test' ? 0 : Rails.application.config.mapbox_map_id %>";
var mapbox_access_token = "<%= Rails.env == 'test' ? 0 : Rails.application.config.mapbox_access_token %>";
var mapbox_base_url = "https://a.tiles.mapbox.com/v4/" + mapbox_map_id + "/{z}/{x}/{y}.png?access_token=" + mapbox_access_token;
L.tileLayer(mapbox_base_url, {
attribution: 'Map data &copy; <a href="https://openstreetmap.org">OpenStreetMap</a> contributors under <a href="https://www.openstreetmap.org/copyright">ODbL</a> | Map imagery &copy; <a href="https://mapbox.com">Mapbox</a>',
L.tileLayer('https://tile.openstreetmap.org/{z}/{x}/{y}.png', {
attribution: '&copy; <a href="https://www.openstreetmap.org/copyright">OpenStreetMap</a> contributors',
maxZoom: 18
}).addTo(cropmap);
var markers = new L.MarkerClusterGroup({showCoverageOnHover: false, maxClusterRadius: 20 });

View File

@@ -1,10 +1,4 @@
if (document.getElementById("membermap") !== null) {
var mapbox_map_id = "<%= Rails.env == 'test' ? 0 : Rails.application.config.mapbox_map_id %>";
var mapbox_access_token = "<%= Rails.env == 'test' ? 0 : Rails.application.config.mapbox_access_token %>";
var mapbox_base_url = "https://a.tiles.mapbox.com/v4/" + mapbox_map_id + "/{z}/{x}/{y}.png?access_token=" + mapbox_access_token;
L.Icon.Default.imagePath = '/assets'
L.Icon.Default.imagePath = '/assets';
var default_marker_icon = L.icon({
@@ -18,8 +12,8 @@ if (document.getElementById("membermap") !== null) {
if (member.latitude && member.longitude) {
var membermap = L.map('membermap').setView([member.latitude, member.longitude], 4);
L.tileLayer(mapbox_base_url, {
attribution: 'Map data &copy; <a href="https://openstreetmap.org">OpenStreetMap</a> contributors under <a href="https://www.openstreetmap.org/copyright">ODbL</a> | Map imagery &copy; <a href="https://mapbox.com">Mapbox</a>',
L.tileLayer('https://tile.openstreetmap.org/{z}/{x}/{y}.png', {
attribution: '&copy; <a href="https://www.openstreetmap.org/copyright">OpenStreetMap</a> contributors',
maxZoom: 18
}).addTo(membermap);
var marker = new L.Marker(new L.LatLng(member.latitude, member.longitude),

View File

@@ -1,8 +1,5 @@
if (document.getElementById("placesmap") !== null) {
var places_base_path = "/places";
var mapbox_map_id = "<%= Rails.env == 'test' ? 0 : Rails.application.config.mapbox_map_id %>";
var mapbox_access_token = "<%= Rails.env == 'test' ? 0 : Rails.application.config.mapbox_access_token %>";
var mapbox_base_url = "https://a.tiles.mapbox.com/v4/" + mapbox_map_id + "/{z}/{x}/{y}.png?access_token=" + mapbox_access_token;
var nominatim_base_url = 'https://nominatim.openstreetmap.org/search/';
var nominatim_user_agent_email = "<%= Rails.env == 'test' ? 0 : Rails.application.config.user_agent_email %>";
@@ -31,8 +28,8 @@ if (document.getElementById("placesmap") !== null) {
}
function showMap(placesmap) {
L.tileLayer(mapbox_base_url, {
attribution: 'Map data &copy; <a href="https://openstreetmap.org">OpenStreetMap</a> contributors under <a href="https://www.openstreetmap.org/copyright">ODbL</a> | Map imagery &copy; <a href="https://mapbox.com">Mapbox</a>',
L.tileLayer('https://tile.openstreetmap.org/{z}/{x}/{y}.png', {
attribution: '&copy; <a href="https://www.openstreetmap.org/copyright">OpenStreetMap</a> contributors',
maxZoom: 18
}).addTo(placesmap);

View File

@@ -19,7 +19,7 @@
%p
%span.help-block
For detailed crop wrangling guidelines, please consult the
= link_to "crop wrangling guide", "http://wiki.growstuff.org/index.php/Crop_wrangling"
= link_to "crop wrangling guide", "https://github.com/Growstuff/growstuff/wiki/Crop-Wrangling"
on the Growstuff wiki.
-# Everyone (wranglers and requesters) sees the basic info section

View File

@@ -1,19 +1,18 @@
- cache member do
.card.card-double
.card-body
.row
.col-12.col-md-6
= render "members/avatar", member: member
.col-12.col-md-6
%h4.login-name= link_to member, member
= link_to "view all #{member}'s gardens", member_gardens_path(member)
%p
%small
Joined
= distance_of_time_in_words(member.created_at, Time.zone.now)
ago.
- if member.location.present?
= link_to member.location, place_path(member.location)
%h4.login-name= link_to member, member
%div
= render "members/avatar", member: member
%div
= link_to "view all #{member}'s gardens", member_gardens_path(member)
%p
%small
Joined
= distance_of_time_in_words(member.created_at, Time.zone.now)
ago.
- if member.location.present?
= link_to member.location, place_path(member.location)
.card-footer
%ul.nav.nav-justified.small
%li.nav-item.border-right

View File

@@ -1,6 +1,6 @@
%form.form-inline{ action: search_places_path, method: :get, role: 'form' }
.form-group
= label_tag :new_place, "Change location:", class: 'sr-only'
= text_field_tag :new_place, '', class: 'form-control', placeholder: "New location..."
= text_field_tag :new_place, '', class: 'form-control', placeholder: "Search for city, suburb or state..."
= submit_tag "Search", class: 'btn btn-primary', id: "search_button"
%br/

View File

@@ -2,10 +2,10 @@
- unless posts.empty?
%table.table.table-striped
%tr
%th Subject
%th.hidden-xs Posted by
%th Most recent activity
%th.hidden-xs Comments
%th.col-6 Subject
%th.col-2.hidden-xs Posted by
%th.col-2 Most recent activity
%th.col-2.hidden-xs Comments
- posts.recently_active[0..howmany - 1].each do |post|
- cache post do

View File

@@ -23,6 +23,8 @@ module Growstuff
config.time_zone = 'UTC'
config.active_record.default_timezone = :local
config.active_record.yaml_column_permitted_classes = [Symbol, Date, Time, ActiveSupport::TimeWithZone, ActiveSupport::TimeZone]
# The default locale is :en and all translations from config/locales/*.rb,yml are auto loaded.
I18n.load_path += Dir[Rails.root.join('config', 'locales', '*.{rb,yml}')]
I18n.default_locale = :en

View File

@@ -69,11 +69,6 @@ Rails.application.configure do
config.host = 'localhost:3000'
config.analytics_code = ''
# this config variable cannot be put in application.yml as it is needed
# by the assets pipeline, which doesn't have access to ENV.
config.mapbox_map_id = 'growstuff.i3n2il6a'
config.mapbox_access_token = 'pk.eyJ1IjoiZ3Jvd3N0dWZmIiwiYSI6IkdxMkx4alUifQ.n0igaBsw97s14zMa0lwKCA'
config.action_controller.action_on_unpermitted_parameters = :raise
config.active_job.queue_adapter = :sidekiq

View File

@@ -109,11 +109,6 @@ Rails.application.configure do
<noscript><p><img alt="Clicky" width="1" height="1" src="//in.getclicky.com/100594260ns.gif" /></p></noscript>
eos
# this config variable cannot be put in application.yml as it is needed
# by the assets pipeline, which doesn't have access to ENV.
config.mapbox_map_id = ENV['GROWSTUFF_MAPBOX_MAP_ID']
config.mapbox_access_token = ENV['GROWSTUFF_MAPBOX_ACCESS_TOKEN']
config.active_job.queue_adapter = :sidekiq
# Use a different logger for distributed setups.
# require 'syslog/logger'

View File

@@ -23,9 +23,9 @@ class UpgradeCms < ActiveRecord::Migration[5.2]
t.string :locale, null: false
t.integer :page_id, null: false
t.integer :layout_id
t.string :label, null: false
t.text :content_cache, limit: limit
t.boolean :is_published, null: false, default: true
t.string :label, null: false
t.text(:content_cache, limit:)
t.boolean :is_published, null: false, default: true
t.timestamps
t.index [:page_id]

View File

@@ -0,0 +1,60 @@
# frozen_string_literal: true
# This migration comes from active_storage (originally 20170806125915)
class CreateActiveStorageTables < ActiveRecord::Migration[5.2]
def change
# Use Active Record's configured type for primary and foreign keys
primary_key_type, foreign_key_type = primary_and_foreign_key_types
create_table :active_storage_blobs, id: primary_key_type do |t|
t.string :key, null: false
t.string :filename, null: false
t.string :content_type
t.text :metadata
t.string :service_name, null: false
t.bigint :byte_size, null: false
t.string :checksum
if connection.supports_datetime_with_precision?
t.datetime :created_at, precision: 6, null: false
else
t.datetime :created_at, null: false
end
t.index [:key], unique: true
end
create_table :active_storage_attachments, id: primary_key_type do |t|
t.string :name, null: false
t.references :record, null: false, polymorphic: true, index: false, type: foreign_key_type
t.references :blob, null: false, type: foreign_key_type
if connection.supports_datetime_with_precision?
t.datetime :created_at, precision: 6, null: false
else
t.datetime :created_at, null: false
end
t.index %i(record_type record_id name blob_id), name: :index_active_storage_attachments_uniqueness, unique: true
t.foreign_key :active_storage_blobs, column: :blob_id
end
create_table :active_storage_variant_records, id: primary_key_type do |t|
t.belongs_to :blob, null: false, index: false, type: foreign_key_type
t.string :variation_digest, null: false
t.index %i(blob_id variation_digest), name: :index_active_storage_variant_records_uniqueness, unique: true
t.foreign_key :active_storage_blobs, column: :blob_id
end
end
private
def primary_and_foreign_key_types
config = Rails.configuration.generators
setting = config.options[config.orm][:primary_key_type]
primary_key_type = setting || :primary_key
foreign_key_type = setting || :bigint
[primary_key_type, foreign_key_type]
end
end

View File

@@ -103,7 +103,6 @@ RSpec.configure do |config|
if page.driver.browser.respond_to?(:url_blacklist)
page.driver.browser.url_blacklist = [
'gravatar.com',
'mapbox.com',
'okfn.org',
'googlecode.com'
]

View File

@@ -16,6 +16,6 @@ describe "crops/new" do
end
it "shows a link to crop wrangling guidelines" do
assert_select "a[href^='http://wiki.growstuff.org']", "crop wrangling guide"
assert_select "a[href^='https://github.com/Growstuff/growstuff/wiki/Crop-Wrangling']", "crop wrangling guide"
end
end