forked from jason/cpolis
		
	Merge branch 'devel'
This commit is contained in:
		@@ -175,6 +175,10 @@ func (db *DB) GetCertainArticles(attribute string, value bool) ([]*Article, erro
 | 
			
		||||
		articleList = append(articleList, article)
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	if err = rows.Err(); err != nil {
 | 
			
		||||
		return nil, fmt.Errorf("error iterating over rows: %v", err)
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	return articleList, nil
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
@@ -243,6 +247,13 @@ func (db *DB) GetCurrentIssueArticles() ([]*Article, error) {
 | 
			
		||||
				articleList = append(articleList, article)
 | 
			
		||||
			}
 | 
			
		||||
 | 
			
		||||
			if err = rows.Err(); err != nil {
 | 
			
		||||
				if rollbackErr := tx.Rollback(); rollbackErr != nil {
 | 
			
		||||
					log.Fatalf("transaction error: %v, rollback error: %v", err, rollbackErr)
 | 
			
		||||
				}
 | 
			
		||||
				return nil, fmt.Errorf("error iterating over rows: %v", err)
 | 
			
		||||
			}
 | 
			
		||||
 | 
			
		||||
			if err = tx.Commit(); err != nil {
 | 
			
		||||
				return nil, fmt.Errorf("error committing transaction when getting articles of issue %v: %v", issueID, err)
 | 
			
		||||
			}
 | 
			
		||||
 
 | 
			
		||||
@@ -68,6 +68,10 @@ func (db *DB) GetArticleAuthors(c *Config, articleID int64) ([]*User, error) {
 | 
			
		||||
		authors = append(authors, author)
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	if err = rows.Err(); err != nil {
 | 
			
		||||
		return nil, fmt.Errorf("error iterating over rows: %v", err)
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	return authors, nil
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -68,6 +68,10 @@ func (db *DB) GetArticleContributors(c *Config, articleID int64) ([]*User, error
 | 
			
		||||
		contributors = append(contributors, contributor)
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	if err = rows.Err(); err != nil {
 | 
			
		||||
		return nil, fmt.Errorf("error iterating over rows: %v", err)
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	return contributors, nil
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -61,6 +61,10 @@ func (db *DB) GetArticleTags(articleID int64) ([]*Tag, error) {
 | 
			
		||||
		tags = append(tags, tag)
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	if err = rows.Err(); err != nil {
 | 
			
		||||
		return nil, fmt.Errorf("error iterating over rows: %v", err)
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	return tags, nil
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -31,5 +31,9 @@ func (db *DB) GetTagList() ([]*Tag, error) {
 | 
			
		||||
		tagList = append(tagList, tag)
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	if err = rows.Err(); err != nil {
 | 
			
		||||
		return nil, fmt.Errorf("error iterating over rows: %v", err)
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	return tagList, nil
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
@@ -117,6 +117,9 @@ func aesDecrypt(c *Config, ciphertext string) (string, error) {
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	nonceSize := gcm.NonceSize()
 | 
			
		||||
	if len(data) < nonceSize {
 | 
			
		||||
		return "", errors.New("ciphertext too short")
 | 
			
		||||
	}
 | 
			
		||||
	nonce, cipherText := data[:nonceSize], data[nonceSize:]
 | 
			
		||||
 | 
			
		||||
	plaintext, err := gcm.Open(nil, nonce, cipherText, nil)
 | 
			
		||||
@@ -450,8 +453,6 @@ func (db *DB) AddFirstUser(c *Config, u *User, pass string) (int64, error) {
 | 
			
		||||
 | 
			
		||||
func (db *DB) GetAllUsers(c *Config) ([]*User, error) {
 | 
			
		||||
	var aesFirstName, aesLastName, aesEmail string
 | 
			
		||||
	var err error
 | 
			
		||||
 | 
			
		||||
	query := "SELECT id, username, first_name, last_name, email, profile_pic_link, role FROM users"
 | 
			
		||||
 | 
			
		||||
	rows, err := db.Query(query)
 | 
			
		||||
@@ -484,6 +485,10 @@ func (db *DB) GetAllUsers(c *Config) ([]*User, error) {
 | 
			
		||||
		users = append(users, user)
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	if err = rows.Err(); err != nil {
 | 
			
		||||
		return nil, fmt.Errorf("error iterating over rows: %v", err)
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	return users, nil
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
@@ -523,6 +528,10 @@ func (db *DB) GetAllUsersMap(c *Config) (map[int64]*User, error) {
 | 
			
		||||
		users[user.ID] = user
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	if err = rows.Err(); err != nil {
 | 
			
		||||
		return nil, fmt.Errorf("error iterating over rows: %v", err)
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	return users, nil
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -901,6 +901,7 @@ func AllowEditArticle(c *b.Config, db *b.DB, s map[string]*Session) http.Handler
 | 
			
		||||
		}
 | 
			
		||||
 | 
			
		||||
		newArticle := *oldArticle
 | 
			
		||||
		newArticle.UUID = uuid.New()
 | 
			
		||||
		newArticle.Published = false
 | 
			
		||||
		newArticle.Rejected = true
 | 
			
		||||
		newArticle.EditedID = oldArticle.ID
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user